目录
一、LNMP架构概述
1、LNMP架构的概念
2、LNMP架构的优点
二、编译安装nginx软件
1、准备工作
1.1 关闭防火墙
1.2 安装依赖包
1.3 创建运行nginx用户
1.4 压缩包解压
2、编译与安装
3、添加nginx自启动文件
三、编译安装mysql软件
1、准备工作
1.1 安装mysql环境依赖包
1.2 创建运行的mysql用户
1.3 压缩包解压
2、编译与安装
3、修改mysql配置文件
4、更改mysql安装目录和配置文件的属主属组
5、初始化数据库
6、添加mysql自启动文件
7、修改mysql的登录密码
四、编译安装php软件
1、准备工作
1.1 安装php环境依赖包
1.2 压缩包解压
2、编译与安装
3、调整php的三大配置文件
3.1 调整主配置文件
3.2 调整进程服务配置文件
3.3 调整扩展配置文件
4、添加php开机自启动文件
五、配置nginx支持php解析
1、修改nginx的主配置文件
2、验证php测试页
3、测试数据库工作是否正常
六、安装论坛
1、压缩包解压
2、修改论坛目录权限
3、安装论坛并登录
4、注册论坛用户并使用
七、安装博客
1、压缩包解压
2、修改博客目录权限
3、创建数据库的blog用户信息
4、安装博客并登录
一、LNMP架构概述
1、LNMP架构的概念
LNMP架构是一种典型的Web服务器架构,它由Linux、Nginx、MySQL和PHP(或Python、Perl)四个开源软件组成。LNMP架构的主要特点是高性能、高稳定性和高可靠性
-
Linux:作为操作系统,提供了稳定的运行环境
-
Nginx:作为Web服务器,具有高性能和高并发处理能力,可以作为反向代理服务器,负责接收用户的请求并将请求转发给后端的应用服务器
-
MySQL:作为关系型数据库,提供了数据存储和管理的功能
-
PHP(或Python、Perl):作为服务器端脚本语言,用于处理用户的请求,生成动态的网页内容
2、LNMP架构的优点
- 高性能:Nginx和MySQL都是高性能的开源软件,可以提供快速的数据处理和响应速度
- 高稳定性:Linux作为操作系统,提供了稳定的运行环境,可以保证系统的稳定性
- 高可靠性:LNMP架构的各个组件都是开源软件,有大量的用户和开发者,可以提供良好的技术支持和维护
总之,LNMP架构在Web开发和运维中得到了广泛的应用,特别是在高并发和大数据量的场景下,可以提供良好的性能和稳定性
二、编译安装nginx软件
在同一个服务器上配置Nginx、MySQL和PHP服务
1、准备工作
1.1 关闭防火墙
[root@localhost ~]#systemctl disable --now firewalld
[root@localhost ~]#setenforce 0
1.2 安装依赖包
[root@localhost ~]#yum -y install pcre-devel zlib-devel gcc gcc-c++ make
1.3 创建运行nginx用户
# Nginx服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限
[root@localhost ~]#useradd -M -s /sbin/nologin nginx
1.4 压缩包解压
#这里将nginx安装包存放在/opt目录下
[root@localhost ~]#cd /opt
[root@localhost opt]#tar zxvf nginx-1.22.0.tar.gz
2、编译与安装
[root@localhost opt]#cd /opt/nginx-1.22.0/
[root@localhost nginx-1.22.0]#./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module
[root@localhost nginx-1.22.0]#make && make install
#设置软连接,让系统识别nginx的操作命令可以自动补全nginx,$PATH
[root@localhost nginx-1.22.0]#ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
3、添加nginx自启动文件
#配置nginx自启动文件
[root@localhost ~]#vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -1 $MAINPID
ExecStop=/bin/kill -3 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
#重新加载配置
[root@localhost ~]#systemctl daemon-reload
[root@localhost ~]#chown -R nginx.nginx /lib/systemd/system/nginx.service
或者chmod 777 /lib/systemd/system/nginx.service
[root@localhost ~]#systemctl enable --now nginx.service
三、编译安装mysql软件
1、准备工作
1.1 安装mysql环境依赖包
[root@localhost ~]#yum -y install ncurses ncurses-devel bison cmake
[root@localhost ~]#yum -y install gcc gcc-c++ cmake bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel
1.2 创建运行的mysql用户
# Mysql服务程序默认以nobody身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限
[root@localhost ~]#useradd -M -s /sbin/nologin mysql
1.3 压缩包解压
#这里将mysql安装包存放在/opt目录下
[root@localhost ~]#cd /opt
[root@localhost opt]#tar zxvf mysql-boost-5.7.20.tar.gz
2、编译与安装
[root@localhost opt]#cd /opt/mysql-5.7.20/
[root@localhost mysql-5.7.20]#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 \
-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=boost \
-DWITH_SYSTEMD=1
[root@localhost mysql-5.7.20]#make && make install
#设置路径环境变量,让系统识别mysql的操作命令可以自动补全mysql
[root@localhost mysql-5.7.20]#echo 'export PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH' >> /etc/profile
[root@localhost mysql-5.7.20]#source /etc/profile
3、修改mysql配置文件
[root@localhost ~]#vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock
[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
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=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1
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
4、更改mysql安装目录和配置文件的属主属组
[root@localhost ~]#chown -R mysql:mysql /usr/local/mysql/
[root@localhost ~]#chown mysql:mysql /etc/my.cnf
5、初始化数据库
[root@localhost ~]#cd /usr/local/mysql/bin/
[root@localhost bin]#./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
6、添加mysql自启动文件
#mysql的自启动文件在安装包已有,只要复制到系统规定目录即可
[root@localhost ~]#cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
[root@localhost ~]#systemctl daemon-reload
[root@localhost ~]#systemctl enable --now mysqld
7、修改mysql的登录密码
#给root账号设置密码为abc123,提示输入的是原始密码(为空)要求输入的是原密码直接回车即可
[root@localhost ~]#mysqladmin -u root -p password "abc123"
#现在可以被授权远程登录到mysql
[root@localhost ~]#mysql -u root -pabc123 #ctrl+z退出
四、编译安装php软件
1、准备工作
1.1 安装php环境依赖包
[root@localhost ~]#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
1.2 压缩包解压
#这里将php安装包存放在/opt目录下
[root@localhost ~]#cd /opt
[root@localhost opt]#tar jxvf php-7.1.10.tar.bz2
2、编译与安装
[root@localhost opt]#cd /opt/php-7.1.10
[root@localhost php-7.1.10]#./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip
[root@localhost php-7.1.10]#make && make install
设置软连接,让系统识别php的操作命令可以自动补全php,$PATH
[root@localhost php-7.1.10]#ln -s /usr/local/php/bin/* /usr/local/bin/
[root@localhost php-7.1.10]#ln -s /usr/local/php/sbin/* /usr/local/sbin/
3、调整php的三大配置文件
php有三个配置文件:
- php.ini:主配置文件
- php-fpm.conf:进程服务配置文件
- www.conf:扩展配置文件
3.1 调整主配置文件
[root@localhost ~]#cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini
[root@localhost ~]#vim /usr/local/php/lib/php.ini
mysqli.default_socket = /usr/local/mysql/mysql.sock #第1170行修改
date.timezone = Asia/Shanghai #第939行去掉注释
3.2 调整进程服务配置文件
[root@localhost ~]#cd /usr/local/php/etc/
[root@localhost etc]#cp php-fpm.conf.default php-fpm.conf
[root@localhost etc]#vim php-fpm.conf
pid = run/php-fpm.pid #第17行去掉注释";"
3.3 调整扩展配置文件
[root@localhost ~]#cd /usr/local/php/etc/php-fpm.d/
[root@localhost php-fpm.d]#cp www.conf.default www.conf
4、添加php开机自启动文件
#mysql的自启动文件在安装包已有,只要复制到系统规定目录即可
[root@localhost ~]#cd /opt/php-7.1.10/sapi/fpm
[root@localhost fpm]#cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
[root@localhost fpm]#systemctl daemon-reload
[root@localhost fpm]#systemctl enable --now php-fpm.service
五、配置nginx支持php解析
1、修改nginx的主配置文件
[root@localhost ~]#vim /usr/local/nginx/conf/nginx.conf
#第45行修改
index index.html index.htm index.php;
#第65行取消注释,并修改
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; #将 /scripts 修改为nginx的工作目录
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root代表当前请求在root指令中指定的值
include fastcgi_params;
}
[root@localhost ~]#systemctl restart nginx.service
2、验证php测试页
#服务器操作
[root@localhost ~]#vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
#客户端浏览器测试
http://172.16.12.12/index.php
3、测试数据库工作是否正常
#服务器操作
[root@localhost ~]#mysql -u root -pabc123
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
[root@localhost ~]#vim /usr/local/nginx/html/index.php #替换原来测试页内容
<?php
$link=mysqli_connect('172.16.12.12','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
#客户端浏览器测试
http://172.16.12.12/index.php
六、安装论坛
1、压缩包解压
[root@localhost ~]#cd /opt
[root@localhost opt]#unzip Discuz_X3.4_SC_UTF8.zip
[root@localhost opt]#cd /opt/dir_SC_UTF8/
[root@localhost dir_SC_UTF8]#cp -r upload/ /usr/local/nginx/html/bbs/
2、修改论坛目录权限
[root@localhost ~]chmod -R 777 ./config/
[root@localhost ~]chmod -R 777 ./data/
[root@localhost ~]chmod -R 777 ./uc_client/
[root@localhost ~]chmod -R 777 ./uc_server/
3、安装论坛并登录
#客户端服务器访问
http://172.16.12.12/bbs/install/index.php
数据库服务器:localhost #本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123
管理员账号:admin
管理员密码:123
4、注册论坛用户并使用
七、安装博客
1、压缩包解压
[root@localhost ~]#cd /opt
[root@localhost opt]#unzip wordpress-6.1.1-zh_CN.zip
[root@localhost opt]#cp -r wordpress /usr/local/nginx/html/
2、修改博客目录权限
[root@localhost ~]#cd /usr/local/nginx/html/
[root@localhost ~]#chmod 777 wordpress/ -R
3、创建数据库的blog用户信息
[root@localhost ~]#mysql -u root -p abc123
CREATE DATABASE blog;
GRANT all ON blog.* TO 'bloguser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON blog.* TO 'bloguser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
4、安装博客并登录
http://172.16.12.12/wordpress/wp-admin/install.php
数据库名字:bbs
数据库用户名:bbsuser
数据库密码:admin123