LNMP架构部署

目录

前言

一、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=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target


wq!

8)赋予相关权限

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

8)启动Nginx服务

systemctl start nginx.service
systemctl 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/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl 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_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;
}
wq!

systemctl restart nginx.service

12)验证PHP测试页

vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>

wq!

13)浏览访问

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 安装ansible 在一台主控机上安装ansible,并将需要部署的目标机器的IP地址加入到ansible的hosts文件中。 2. 编写playbook 使用yaml格式编写ansible playbook文件,包括以下任务: - 安装Nginx、MySQL和PHP - 修改Nginx配置文件,配置虚拟主机和反向代理 - 修改MySQL配置文件,设置root密码和字符集 - 部署PHP应用程序文件和配置文件 示例playbook文件如下: ```yaml --- - hosts: webservers become: true tasks: - name: Install packages yum: name: "{{ item }}" state: present with_items: - nginx - mysql - mysql-server - php - php-mysql - php-fpm - name: Start services service: name: "{{ item }}" state: started enabled: true with_items: - nginx - mysqld - php-fpm - name: Configure Nginx copy: src: files/nginx.conf dest: /etc/nginx/nginx.conf notify: - Reload Nginx - name: Configure MySQL copy: src: files/my.cnf dest: /etc/my.cnf notify: - Restart MySQL - name: Deploy PHP application copy: src: files/php_app dest: /usr/share/nginx/html - name: Configure PHP copy: src: files/php.ini dest: /etc/php.ini notify: - Restart PHP-FPM handlers: - name: Reload Nginx service: name: nginx state: reloaded - name: Restart MySQL service: name: mysqld state: restarted - name: Restart PHP-FPM service: name: php-fpm state: restarted ``` 3. 准备文件 将需要部署的应用程序文件和配置文件打包成tar.gz文件,并放置在主控机上。 4. 执行playbook 在主控机上执行ansible-playbook命令,指定playbook文件和目标机器的IP地址,以及需要部署的应用程序文件和配置文件的路径。 ```bash ansible-playbook -i hosts playbook.yml --extra-vars "app_file=/path/to/app.tar.gz" ``` 5. 验证部署 访问Nginx的虚拟主机地址,验证应用程序是否正常运行。同时,使用MySQL客户端连接数据库,验证数据库是否正常运行并包含正确的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值