LNMP架构
文章目录
- 一、概览
- 二、操作实验
- 实验目的
- 实验规划
- 实验步骤
- 1、安装工具包
- 2、解压文件
- 3、创建用户
- 4、设置安装相关信息
- 5、编译并安装
- 6、创建软链接
- 7、编辑配置文件
- 8、添加权限
- 9、启动nginx服务
- 10、关闭防火墙
- 11、测试安装可用
- 12、安装Mysql环境依赖包
- 13、创建用户
- 14、解压Mysql安装文件
- 15、设置安装选项
- 16、编译并安装
- 17、调整配置文件
- 18、数据库目录进行权限调整
- 19、设置环境变量
- 20、初始化数据库
- 21、复制文件
- 22、启动mysql服务
- 23、测试下服务可用
- 24、设置Mysql密码
- 25、登录数据库
- 26、安装环境依赖包
- 27、解压文件
- 28、配置安装
- 29、编译并安装
- 30、拷贝文件并编辑主配置文件
- 31、验证安装的模块
- 32、拷贝配置文件
- 33、编辑配置文件
- 34、拷贝配置文件
- 35、启动php服务
- 36、创建软链接
- 37、编辑配置文件
- 38、重启nginx服务
- 39、编辑网页文件
- 40、网页测试
- 41、登录数据库
- 42、解压
- 43、拷贝论坛文件
- 44、跳转到站点目录中
- 45、给文件及目录添加执行权限
- 46、网页访问安装
- 47、安装数据库
- 48、论坛访问测试
一、概览
1、关于Nginx
一款高性能、轻量级Web服务软件
-
稳定性高
-
系统资源消耗低
-
对HTTP并发连接的处理能力高
单台物理服务器可支持30 000 ~ 50 000个并发请求
2、LNMP架构解读
LNMP平台就是Linux、Ngnix、MySQL、PHP的组合架构,需要Linux服务器、MySQL数据库、 PHP解析环境
3、MySQL安装配置
- 为了与Nginx、PHP环境保持-致,此处选择采用源代码编译的方式安装MySQL组件
- MySQL部署的方法
- 编译安装MySQL
- 优化调整
- 初始化数据库
- 启动MySQL服务并设置root数据库账号的密码
4、PHP解析环境的安装
-
配置网页动静分离,解析PHP,有两种方法可以选择
- 使用PHP的FPM模块
- 将访问PHP页面的Web请求转交给Apache服务器去处理
-
较新版本的PHP已经自带FPM模块,对PHP解析实例进行管理、优化解析效率
- FastCGI将Http Server和动态脚本语言分离开
- Nginx专门处理静态请求,转发动态请求
- PHP-FPM专门解析PHP动态请求
-
单服务器的LNMP架构通常使用FPM方式来解析PHP
二、操作实验
实验目的
采用LNMP架构方式
实验规划
1、安装Nginx服务
2、安装Mysql服务
3、安装配置PHP解析环境
4、部分Discuz论坛
实验步骤
1、安装工具包
yum install gcc gcc-c++ pcre-devel zlib-devel -y
2、解压文件
cd /opt
tar zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2/
3、创建用户
useradd -M -s /sbin/nologin nginx
4、设置安装相关信息
./configure
–prefix=/usr/local/nginx
–user=nginx
–group=nginx
–with-http_stub_status_module
5、编译并安装
make && make install
6、创建软链接
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
nginx -t
7、编辑配置文件
cd /lib/systemd/system
vim 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=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
8、添加权限
chmod 754 nginx.service
9、启动nginx服务
systemctl start nginx
10、关闭防火墙
systemctl stop firewalld
setenforce 0
11、测试安装可用
浏览器中访问:192.168.235.150
12、安装Mysql环境依赖包
yum -y install
ncurses
ncurses-devel
bison
cmake
13、创建用户
useradd -s /sbin/nologin mysql
14、解压Mysql安装文件
cd /opt
ls
tar zxvf mysql-boost-5.7.20.tar.gz
15、设置安装选项
cd mysql-5.7.20/
ls
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_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
16、编译并安装
make && make install
17、调整配置文件
vim /etc/my.cnf
修改内容如下所示
[client]
port = 3306
default-character-set=utf8
socket = /usr/local/mysql/mysql.sock
[mysql]
port = 3306
default-character-set=utf8
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
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
18、数据库目录进行权限调整
cd /usr/local/
chown -R mysql:mysql /usr/local/mysql/
ls -l
19、设置环境变量
echo ‘PATH=/usr/local/mysql/bin:/usr/local/mysql/lib:$PATH’ >> /etc/profile
echo ‘export PATH’ >> /etc/profile
source /etc/profile
20、初始化数据库
cd /usr/local/mysql/bin/
mysqld
–initialize-insecure
–user=mysql
–basedir=/usr/local/mysql
–datadir=/usr/local/mysql/data
21、复制文件
cd …
cd usr/lib/systemd/system/
cp mysqld.service /lib/systemd/system/
22、启动mysql服务
systemctl start mysqld.service
23、测试下服务可用
netstat -ntap | grep 3306
24、设置Mysql密码
mysqladmin -uroot -p password
回车
两次输入密码:123123
25、登录数据库
mysql -uroot -p
123123
登录成功
quit
26、安装环境依赖包
yum -y install
libjpeg
libjpeg-devel
libpng libpng-devel
freetype freetype-devel
libxml2
libxml2-devel
zlib zlib-devel
curl curl-devel
openssl openssl-devel
27、解压文件
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd php-7.1.10
28、配置安装
./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
29、编译并安装
make && make install
30、拷贝文件并编辑主配置文件
cp php.ini-development /usr/local/php/lib/php.ini
vim /usr/local/php/lib/php.ini
31、验证安装的模块
/usr/local/php/bin/php -m
32、拷贝配置文件
cd /usr/local/php/etc
ls
cp php-fpm.conf.default php-fpm.conf
33、编辑配置文件
vim php-fpm.conf
34、拷贝配置文件
cd php-fpm.d/
ls
cp www.conf.default www.conf
35、启动php服务
/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -ntap | grep 9000
36、创建软链接
ln -s /usr/local/php/bin/* /usr/local/bin/
37、编辑配置文件
cd /usr/local/nginx/conf
ls
vim nginx.conf
编辑内容如下所示
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;
include fastcgi_params;
}
38、重启nginx服务
systemctl restart nginx.service
39、编辑网页文件
cd /usr/local/nginx/html/
ls
mv index.html index.php
vim index.php
40、网页测试
界面访问:192.168.235.150
41、登录数据库
mysql -uroot -p
123123
CREATE DATABASE bbs;
GRANT all ON bbs.* TO ‘bbsuser’@’%’ IDENTIFIED BY ‘admin123’;
GRANT all ON bbs.* TO ‘bbsuser’@‘localhost’ IDENTIFIED BY ‘admin123’;
flush privileges;
show databases;
quit
42、解压
cd /opt
unzip Discuz_X3.4_SC_UTF8.zip
43、拷贝论坛文件
cd dir_SC_UTF8/
ls
cp -r upload/ /usr/local/nginx/html/bbs
44、跳转到站点目录中
cd /usr/local/nginx/html/bbs/
ls
ls -l
45、给文件及目录添加执行权限
chown -R root:nginx ./config/
chown -R root:nginx ./data/
chown -R root:nginx ./uc_client/
chown -R root:nginx ./uc_server/
chmod -R 777 ./config/
chmod -R 777 ./data/
chmod -R 777 ./uc_client/
chmod -R 777 ./uc_server/
46、网页访问安装
访问地址:192.168.235.150/bbs/install/index.php
47、安装数据库
数据库:bbs
输入用户名:bbsuser
输入密码:admin123
48、论坛访问测试
访问地址:192.168.235.150/bbs/index.php