目录
前言
一、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中的内容----》根据数据库的返回内容生成静态网页----》返回浏览器