目录

前言

一、LNMP简介

二、LNMP工作原理

三、LNMP部署

1、安装Nginx中间件

1)安装依赖环境

2)创建运行用户

3)获取Nginx包并将其解包

4)配置安装路径和相关模块

5)编译并安装

6)优化路径

7)添加Nginx系统服务

8)赋予相关权限

8)启动Nginx服务

2、安装MySQL

1)安装Mysql环境依赖包

2) 创建运行用户

3)获取MySQL包并将其解压

4)选择安装路径和安装相关模块

5)编译并安装

6)修改配置文件 /etc/my.cnf

7)更改MySQL安装目录和配置文件属主数组

8)设置环境变量

9)初始化数据库

10)添加MySQL服务系统

11)设置开机自启

12)设置MySQL密码

13)授权远程登录

3、安装PHP

1)安装PHP依赖环境

2)获取PHP包,并将其解包

3)选择安装路径,并安装相关模块

4)编译并安装

5)路径优化

6)PHP配置文件

①调整主配置文件

7)验证安装

8)调整进程服务配置文件

9)调整扩展配置文件

10)启动php-fpm

11)配置Nginx支持PHP解析

12)验证PHP测试页

13)浏览访问

14)验证数据库工作是否正常

4、部署 Discuz!社区论坛 Web 应用

1)获取Discuz包,并解包

2)调整论坛权限

3)访问配置路径

4)点击 “下一步”

5)选择权限安装,点击“下一步”

6)填写注册账户密码等,全完成点击“下一步”

7)正在安装等待一会

8)点击如图所示

9)出现这个页面就OK了

总结


前言

在linux系统中,LNMP是目前网站主流架构之一,LNMP中L指linux系统平台,N是nginx指网站的前端程序,发布静态页面和调用外部程序解析动态页面,M是mysql指网站的后台数据库,P是PHP指网页编程语言。

一、LNMP简介

1)LNMP的组成
Linux:即Linux系统,这里使用的是CentOS7
Nginx:Nginx网站服务 80端口
Mysql:Mysql数据库 3306端口
PHP:PHP解释性语言 9000端口
(2)LNMP和LAMP的区别
使用的网站服务不同,LNMP使用Nginx,LAMP使用Apache
在LAMP中PHP是当作Apache的一个模块来使用的,而在LNMP中PHP是当作一个独立进程来使用的(即PHP_FPM)
(3)单服务器中Nginx与PHP的工作原理
FastCGI将Http Server和动态脚本语言分离开来
Ngnix专门处理静态请求,转发动态请求
PHP专门解析Nginx转发过来的动态请求

二、LNMP工作原理

浏览器发送http请求给服务器nginx上,nginx将这个请求转发给fast-cgi模块,fast-cgi去与php-fpm通信,php-fpm调用php解析器解析,将解析结果原路返回直到浏览器上,最终浏览器解析内容渲染

三、LNMP部署

1、安装Nginx中间件

1)安装依赖环境

2)创建运行用户

3)获取Nginx包并将其解包

4)配置安装路径和相关模块

5)编译并安装

6)优化路径

7)添加Nginx系统服务

vim /lib/systemd/system/nginx.service[Unit]Description=nginxAfter=network.target[Service]Type=forkingPIDFile=/usr/local/nginx/logs/nginx.pidExecStart=/usr/local/nginx/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.targetwq!

8)赋予相关权限

chmod 754 /lib/systemd/system/nginx.service

8)启动Nginx服务

systemctl start nginx.servicesystemctl enable nginx.service

2、安装MySQL

1)安装Mysql环境依赖包

2) 创建运行用户

3)获取MySQL包并将其解压

4)选择安装路径和安装相关模块

5)编译并安装

6)修改配置文件 /etc/my.cnf

7)更改MySQL安装目录和配置文件属主数组

8)设置环境变量

9)初始化数据库

10)添加MySQL服务系统

11)设置开机自启

12)设置MySQL密码

13)授权远程登录

3、安装PHP

1)安装PHP依赖环境

2)获取PHP包,并将其解包

3)选择安装路径,并安装相关模块

4)编译并安装

5)路径优化

6)PHP配置文件

①调整主配置文件

--1170行--修改mysqli.default_socket = /usr/local/mysql/mysql.sock--939行--取消注释,修改date.timezone = Asia/Shanghai

7)验证安装

8)调整进程服务配置文件

9)调整扩展配置文件

10)启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini

cd /opt/php-7.1.10/sapi/fpmcp php-fpm.service /usr/lib/systemd/system/php-fpm.servicesystemctl restart php-fpm.service

11)配置Nginx支持PHP解析

vim /usr/local/nginx/conf/nginx.conf--65行--取消注释,修改location ~ \.php$ {root html;fastcgi_pass 127.0.0.1:9000;fastcgi_indexindex.php;fastcgi_paramSCRIPT_FILENAME/usr/local/nginx/html$fastcgi_script_name;#将 /scripts 修改为nginx的工作目录 #fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name; #$document_root 代表当前请求在root指令中指定的值includefastcgi_params;}wq!systemctl restart nginx.service

12)验证PHP测试页

vim /usr/local/nginx/html/index.php13)浏览访问

14)验证数据库工作是否正常

4、部署 Discuz!社区论坛 Web 应用

1)获取Discuz包,并解包

2)调整论坛权限

3)访问配置路径

出现这个页面就是一切正常

4)点击 “下一步”

5)选择权限安装,点击“下一步”

6)填写注册账户密码等,全完成点击“下一步”

7)正在安装等待一会

8)点击如图所示

9)出现这个页面就OK了

如果前面论坛安装都没有错,在点击“你的论坛已安装,点此访问”后,报http状态码错误,可以重新输入一遍网址就可以了。

总结

静态网页

用户发起提交请求----》Nginx接受并响应请求----》读取本地网页文件静态内容----》返回浏览器

动态网页

用户发起提交请求----》Nginx接受并响应请求----》以CGI协议传送到php-fpm----》php-fpm调用PHP进行动态解析----》解析过程根据参数读取mysql中的内容----》根据数据库的返回内容生成静态网页----》返回浏览器