Linux笔记12-LNMP服务架构
【阿里云】爆款云产品,新客特惠全年最低价,云服务器低至0.4折起,11.1开售
【腾讯云】爆款1核2G云服务器首年48元,还有iPad Pro、Bose耳机、京东卡等你来抽!
【华为云】上云特惠巨划算,免单抽奖享豪礼
【七牛云】爆款云产品全年最低价,热门产品 0 元秒杀,参与抽奖赢新款 iPhone
1.什么是LNMP
LNMP架构和LAMP架构相似,LNMP即Linux+Nginx+MySQL+PHP
在LNMP架构中,PHP会启动php-fpm服务,Nginx把用户请求的PHP交给php-fpm服务去处理,php-fpm服务和MySQL进行交互,数据库验证成功后会返回给php-fpm,php-fpm再返回给Nginx,Nginx返回给用户
2.安装Nginx
搭建准备环境
yum install -y gcc gcc-gcc+ automake pcre pcre-devel zlib zlib-devel open openssl-devel
编译安装Nginx1.17.1
mkdir /Nginx_1171 cd /Nginx_1171 wget http://nginx.org/download/nginx-1.17.1.tar.gz tar -vxf nginx-1.17.1.tar.gz ./configure --prefix=/Nginx make && make install
3.Nginx安装目录主要内容
cd /Nginx
ls *
conf:
fastcgi.conf koi-utf nginx.conf uwsgi_params
fastcgi.conf.default koi-win nginx.conf.default uwsgi_params.default
fastcgi_params mime.types scgi_params win-utf
fastcgi_params.default mime.types.default scgi_params.default
html:
50x.html index.html
logs:
sbin:
nginx
Nginx服务器的安装目录主要包括了conf、html、logs和sbin四个目录
- conf目录存放了Nginx的所有配置文件,其中nginx.conf是Nginx服务器的主配置文件
- html目录存放了Nginx服务器运行过程中调用的HTML网页文件
- logs目录存放了Nginx服务器运行过程中产生的日志
- sbin目录只有一个nginx文件,是Nginx服务器的主程序
4.Nginx服务的启动与停止
1.Nginx服务的信号控制
使用方法:
kill SIGNAL PID
- SIGNAL,用于指定信号
信号 | 作用 |
---|---|
TERM或INT | 快速停止Nginx服务 |
QUIT | 平缓停止Nginx服务 |
HUP | 使用新的配置文件启动进程,之后平缓停止原有进程,也就是所谓的平滑重启 |
USR1 | 重新打开日志文件,常用于日志切割 |
USR2 | 使用新版本的Nginx文件启动服务,之后停止原有的Nginx进程,也就是所谓的平滑升级 |
WINCH | 平缓停止worker process,用于Nginx服务器平滑升级 |
- PID,指定Nginx主进程的PID
也可以使用位于logs目录下的nginx.pid动态获取PID号
kill SIGNAL 'filepath'
2.Nginx服务的启动
./sbin/Nginx
3.Nginx服务的停止
发送信号
./sbin/nginx -g TERM | INT | QUIT
其中TERM和INT用于快速停止,QUIT用于平缓停止
或者使用动态PID
kill TERM | INT | QUIT '/Nginx/logs/nginx.pid'
4.Nginx服务的重启
./sbin/nginx -g HUP [-c newConfFile]
- HUP,用于发送平滑启动信号
- newConfFile,可选项,用于指定新配置文件的路径
或者使用新的配置文件代替旧的配置文件后,使用:
kill HUP '/Nginx/logs/nginx.pid'
5.Nginx服务器的平滑升级
Nginx服务器平滑升级的过程是:Nginx服务器接收到USR2信号后,首先将旧的nginx.pid文件添加.oldbin后缀,变成nginx.pid.oldbin文件;然后执行新版本Nginx服务器二进制文件启动服务,如果新的服务启动成功,系统中将有新旧两个Nginx服务共同提供Nginx服务。之后,需要向旧的Nginx服务进程发送WINCH信号,使旧的Nginx服务平滑停止,并删除nginx.pid.oldbin文件。在发送WINCH信号之前,可以随时停止新的Nginx服务
Nginx服务器平滑升级方法:
./sbin/nginx -g USR2
其中USR2信号用于发送平滑升级信号。或者,使用:
kill USR2 '/Nginx/logs/nginx.pid'
通过ps aux | grep nginx
命令查看新的Nginx服务是否启动正常,再使用:
./sbin/nginx -g WINCH
其中WINCH信号用于发送平滑停止旧服务信号。或者,使用:
kill WINCH './Nginx/logs/nginx.pid'
版权属于:LeeYD · Blog
本文标题:Linux笔记12-LNMP服务架构
本文链接:https://www.leeyiding.com/archives/26/
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 4.0 许可协议
若转载本文,请标明出处并告知本人
【阿里云】爆款云产品,新客特惠全年最低价,云服务器低至0.4折起,11.1开售
【腾讯云】爆款1核2G云服务器首年48元,还有iPad Pro、Bose耳机、京东卡等你来抽!
【华为云】上云特惠巨划算,免单抽奖享豪礼
【七牛云】爆款云产品全年最低价,热门产品 0 元秒杀,参与抽奖赢新款 iPhone