lamp 架构的搭建

news/2024/12/22 15:25:05/

php 解释动态页面 php来连接数据库

mysql 页面信息和端口信息 存放数据

apache 前端web服务器,展现页面

源码编译安装这三个服务

配置下载apache:

systemctl stop firewalld 关闭安全机制,防火墙 可以一条命令:systemctl is-enabled firewalld 和 systemctl disable --now firewalld.service

systemctl disable firewalld

setenforce 0 /etc/selinux/config改文件为/etc/sysconfig/selinux的软连接 永久修改安全机制 SELINUX=disabled

cd /opt/

使用xshell将需要的文件或压缩包拉进虚拟机

yum -y install gcc c编译器 gcc-c++ c++编译器 make 源代码编译器,转二进制文件(编译器可执行) pcre 正则表达式 pcre-devel perl接口开发包 expat-devel 支持解析HTML,XML perl perl编译器

tar xf apr-1.6.2.tar.gz 两个apr包提供跨平台功能,提高并发,降低减少访问阻塞

tar xf apr-util-1.6.0.tar.gz -zxvf -jxvf 可简写为xf 这样就不会有太多的消息提示 for i in ls * `用来遍历

do

tar xf i

done

tar xf httpd-2.4.29.tar.bz2

mv -f apr-1.6.2 /opt/httpd-2.4.29/srclib/apr

mv -f apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

cd /opt/httpd-2.4.29/

./configure指定安装路径 --enable解锁模块支持

./configure --prefix=/usr/local/httpd --enable-so启动动态加载模块支持 --enable-rewrite 网页地址重写功能,防盗链,网页优化,跳转域名(域名重写) --enable-charset-lite 启动字符集支持,默认英文开启才可以支持中文--enable-cgi脚本程序支持,

lscpu或者cat /proc/cpuinfo 查看cpu核数 top 显示cpu使用情况也可以看cpu核数

编译为可以执行的二进制程序

make -j 4 && make install

 

bin下为网站可执行程序,包含apache中的常用工具有httpd apachetcl ab压测工具(高并发压测)

使程序可以直接使用这些命令,可以直接配置环境变量(不用再指定绝对路径)PATH环境变量可以指定系统可以识别环境的路径。可以直接放在PATH下,也可以创建软连接方式。

conf 包含配置文件

htdocs 防止网页文档

logs 程序日志存放目录

modules 程序模块的存放目录

/usr/local/httpd/conf/httpd.conf设置软连接便于使用调用/etc/httpd.conf就可以调用该配置文件了

ln -s /usr/local/httpd/conf/httpd.conf /etc/

/usr/local/bin/ 系统用户安装的第三方配 置文件的位置

/usr/local/httpd/bin/ 存放的可执行文件的位置

ln -s /usr/local/httpd/bin/* /usr/local/bin/

将可执行文件复制到环境变量下,可以使用软连接

cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

chmod +x /etc/init.d/httpd

手动创建一个管理httpd的脚本,httpd.service

kill-HUP 重载

只要httpd.service被修改后需要重新加载,systemctl daemon-reload

vi /etc/init.d/httpd

#!/bin/bash 申明脚本

运行级别 0关机 1 单用户 2 3 4 字符界面的多用户模式 5 图形化界面的多用户模式 6 重启

35 表示字符界面和图形界面的多用户模式 这两个模式下开机自启

85第85个启动 21 第21个关闭

# chkconfig: 35 85 21 centos7后都是systemctl并行启动。所以可以随便填

# description: Apache is a World Wide Web server

chkconfig --add httpd 将httpd服务加到系统管理中

chkconfig --list httpd 查看

systemctl start httpd.service 启动

vim /etc/httpd.conf

Esc 52G

Listen 192.168.92.30:80 相关的请求会发送到该地址和端口上

Esc 197G

ServerName www.kgc.com:80

Esc 221G

DocumentRoot "/usr/local/httpd/htdocs" 指定网页文件存放位置

Esc 255G

DirectoryIndex index.html 指定默认的网页首页文件名

httpd -t 检测apache配置文件是否有语法错误

cat /usr/local/httpd/htdocs/index.html

systemctl restart httpd.service

netstat -lnpt | grep 80 或者 ss -lntp | grep :80 或 lsof -i :80查看80端口

echo "192.168.92.30 www.wt.com" >> /etc/hosts

http://192.168.92.30

wt.com is for sale | www.brandforce.com

安装mysql:

yum -y install gcc gcc-c++ ncurses ncurses-devel bison cmake mysql编译工具

cd /opt

tar xf mysql-5.7.17.tar.gz boost c++运行库

tar xf boost_1_59_0.tar.gz

mv -f boost_1_59_0 /usr/local/boost

cd /opt/mysql-5.7.17/

末尾\后面不能有空格

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ 安装路径

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ 数据库连接文件其他程序连接数据库就是用的这个文件

-DSYSCONFDIR=/etc \ 配置文件路径

-DSYSTEMD_PID_DIR=/usr/local/mysql \进程文件存储位置

-DDEFAULT_CHARSET=utf8 \万国字符集

-DDEFAULT_COLLATION=utf8_general_ci \utf-8校验规则

-DWITH_EXTRA_CHARSETS=all \存储引擎

-DWITH_INNOBASE_STORAGE_ENGINE=1 \数据文件存储位置

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \存储引擎

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \目录放置位置

-DWITH_BOOST=/usr/local/boost \指定boost路径真实的boost目录

-DWITH_SYSTEMD=1 \生成管理文件

/opt/mysql-5.7.17

make -j 4 && make install

useradd -M -s /sbin/nologin mysql 创建mysql用户 即创建程序用户 挂个名

vim /etc/my.cnf

[client]

port = 3307 端口号

socket=/usr/local/mysql/mysql.sock

auto-rehash

[mysql]

port = 3307

socket = /usr/local/mysql/mysql.sock

auto-rehash

[mysqld]

user = mysql

basedir=/usr/local/mysql

datadir=/usr/local/mysql/data

port = 3307

character-set-server=utf8

pid-file = /usr/local/mysql/mysqld.pid

socket=/usr/local/mysql/mysql.sock

bind-address = 0.0.0.0 允许所有监听

skip-name-resolve

max_connections=4096

default-storage-engine=INNODB 存储路径

max_allowed_packet=32M 一条命令中可能包含多个mysql语句

server-id = 1 mysql 服务器号

sql模式的设置:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

chown -R mysql:mysql /usr/local/mysql/

chown mysql:mysql /etc/my.cnf

使得每次都可以生效 配置永久环境变量

每次启动都会启动/etc/profile的配置

echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile

source /etc/profile

cd /usr/local/mysql/bin/

./mysqld \

--initialize-insecure \ 初始密码空

--user=mysql \用户

--basedir=/usr/local/mysql \安装目录

--datadir=/usr/local/mysql/data 数据放置目录

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/

systemctl daemon-reload

systemctl start mysqld.service

systemctl enable mysqld

netstat -anpt | grep 3307

mysqladmin -u root password "abc123" 用户密码

mysql -uroot -pabc123 -P3307登录

grant all privileges on . to 'root'@'%' identified by 'abc123';授权所有权限所有库所有表登录的root用户可以在任何登录密码都是abc123

show databases;

quit

PHP安装:

cd /opt

yum -y install \

gd \处理生成图片

libjpeg libjpeg-devel \

libpng libpng-devel \

freetype freetype-devel \

libxml2 libxml2-devel \

zlib zlib-devel \

curl curl-devel \网页访问

openssl openssl-devel

tar xf php-7.1.10.tar.bz2

cd /opt/php-7.1.10/

./configure \

--prefix=/usr/local/php7 \

--with-apxs2=/usr/local/httpd/bin/apxs \ apax

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-config-file-path=/usr/local/php7 \php配置文件php.ini位置

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--with-jpeg-dir \格式类型

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-mbstring \

--enable-xml \标记语言模块

--enable-session \会话

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

make -j 4 && make install

cp /opt/php-7.1.10/php.ini-development /usr/local/php7/php.ini

vim /usr/local/php7/php.ini

1170G

mysqli.default_socket = /usr/local/mysql/mysql.sock

939G

取消注释

date.timezone = Asia/Shanghai

ln -s /usr/local/php7/bin/* /usr/local/bin/

php -m 查看php加载的模块

vim /etc/httpd.conf

393G

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

255G

DirectoryIndex index.html index.php 默认首页

/LoadModule php7_module modules/libphp7.so 有这两个模块说明aphcach和mysql 是否配置成功

rm -rf /usr/local/httpd/htdocs/index.html

vim /usr/local/httpd/htdocs/index.php 在php网页显示信息

<?php

phpinfo();

?>

systemctl restart httpd.service

http://192.168.92.30

架构使用例子:

安装论坛:

动态页面网站需要创建数据库与数据库交互

mysql -uroot -pabc123 -P3307

CREATE DATABASE bbs; 创建bbs数据库

GRANT all ON bbs数据库名.* TO 'bbsuser用户名'@'%任意地址' IDENTIFIED BY 'admin123密码'; 授权设定用户名和密码

flush privileges;刷新

show databases;

quit

unzip /opt/Discuz_X3.4_SC_UTF8.zip -d /opt/dis

cd /opt/dis/dir_SC_UTF8/

cp -r upload/ /usr/local/httpd/htdocs/bbs

ps aux | grep httpd

cd /usr/local/httpd/htdocs/bbs

chown -R daemon ./config给文件目录设置所属

chown -R daemon ./data

chown -R daemon ./uc_client

chown -R daemon ./uc_server/data

http://192.168.92.30/bbs

http://192.168.92.30/bbs/admin.php

数据库服务器:localhost

数据库名字:bbs

数据库用户名:bbsuser

数据库密码:admin123

管理员账号:admin

管理员密码:admin123


http://www.ppmy.cn/news/46776.html

相关文章

计组2.3——浮点数的表示和运算

计组2.3 浮点数 #mermaid-svg-hwjyO2bt7hFXy1eD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hwjyO2bt7hFXy1eD .error-icon{fill:#552222;}#mermaid-svg-hwjyO2bt7hFXy1eD .error-text{fill:#552222;stroke:#552…

Python Web 深度学习实用指南:第三部分

原文&#xff1a;Hands-On Python Deep Learning for the Web 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只关…

MySQL客观题

MySQL客观题 在数据库的三级模式结构中&#xff0c;描述数据库中全体数据的全局逻辑结构和特性的是&#xff08; A &#xff09; A 模式 B 内模式 C 存储模式 D 外模式 数据库系统的特点是&#xff08; A &#xff09;、数据独立、减少数据冗余、避免数据不一致和加强了数据保…

巨坑!如果你cuda是11.1而cuda toolkit是9.2,导致无法安装apex,同时你还没有服务器权限去换驱动

非常奇葩的问题。gpu是3090&#xff0c;cuda是正常的11.1&#xff0c;但是nvcc -V输出的却是9.2。 本来很简单&#xff0c;重新安装一下&#xff0c;把两个版本对齐了就好了&#xff0c;但是我用的是实验室的服务器&#xff0c;我是没有权限去在系统上安装东西的&#xff0c;连…

TensorFlow 2.0 的新增功能:第一、二部分

原文&#xff1a;What’s New in TensorFlow 2.0 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 本文来自【ApacheCN 深度学习 译文集】&#xff0c;采用译后编辑&#xff08;MTPE&#xff09;流程来尽可能提升效率。 不要担心自己的形象&#xff0c;只关心如何实现目…

慌了!ChatGPT吃我饭,还要掀我碗?

ChatGPT面世&#xff0c;各种被AI取代“失业言论”笼罩在人们头顶&#xff0c;本文聚焦这一问题&#xff0c;推荐关注ChatGPT的小伙伴阅读。 一时间火爆全网的新晋网红——ChatGPT&#xff0c;就问&#xff1a;还有谁不认识&#xff1f; 谷歌计划在旗舰搜索引擎中添加对话式人…

Java——合并两个排序的链表

题目链接 牛客在线oj题——合并两个排序的链表 题目描述 输入两个递增的链表&#xff0c;单个链表的长度为n&#xff0c;合并这两个链表并使新链表中的节点仍然是递增排序的。 数据范围&#xff1a; 0≤n≤1000&#xff0c;−1000≤节点值≤1000 要求&#xff1a;空间复杂…

ES X-Pack密码认证与用户管理

用户数据的安全性一直被人诟病且默认没有密码认证&#xff0c;Elasticsearch在6.8之前官方的X-pack安全认证功能都是收费的&#xff0c;所以很多人都采用Search Guard或者ReadOnly REST这些免费的安全插件对Elasticsearch进行安全认证。从Elasticsearch 6.8开始&#xff0c;Sec…