knight_ka | 生活及学习笔记

Nginx2-Nginx搭建及高效使用

Nginx的基本操作

Nginx简介

使用nginx的理由:

1.他可以高并发连接(epoll,kqueue)
2.内存消耗少
3.成本低廉
4.其他理由:
     4.1配置文件简单
     4.2支持REwrite重写 根据域名 url不同分到不同的后端服务器
     4.3支持热部署
     4.4对后端服务器健康检查 Nginx proxy
     4.5支持GZIP压缩 节省带宽
     4.6fastCGI 公共网关接口,nginx与其他服务器进行交互的工具。

web

nginx可以接受很多kill信号,不同的信号有不同的作用。

快速关闭 INT TERM

从容关闭(处理完用户请求后)QUIT

平滑重启(不需要关闭服务器,用户可以正常访问) HUP

平滑升级:当需要升级nginx时,不需要终端nginx服务。通过USR2通知旧的nginx进程要进行升级了,它会生成一个备份的的pid文件。启动新nginx进程,这时候新旧共存,一段时间后旧进程中的请求处理完毕,可以选择停止一个进程来达到升级或者恢复的目的。恢复使用 HUP信号,会重新加载配置文件,恢复pid。然后从容关闭新进程 QUIT

Nginx安装

1.nginx是什么?

它是一个高性能的web服务器。web服务器有很多,但是选择nginx的原因是   :
1.1:他可以高并发连接,因为使用了操作系统的epoll模型,io复用,事件驱动。
1.2:内存消耗,CPU消耗比较低。
1.3:成本低廉。不需要购买大型的F5等设备。
1.4:配置方便,且支持平滑重启,平滑升级,从容退出等。

2.nginx的安装和使用:

安装nginx之前需要安装它的依赖库gcc gcc-c++ autoconf automake pcre zlib openssl等。
官网下载tar.gz压缩包。
tar zxvf解压
./configure 进行配置(可以指定不同的操作)
make
make install

如果没有指定安装位置将默认安装在/usr/local/nginx下。
通过sbin目录下的nginx启动:nginx -c 指定配置文件

停止nginx服务:进程文件位置(/usr/local/webserver/nginx/logs/nginx.pid)需要在nginx.conf中配置,如果没有配置则默认保存在nginx的log目录下。

Nginx简单操作

快速停止:

kill -TERM 进程号/进程文件路径
killl -INT 进程号/进程文件路径

从容停止:

kill -HUP 进程号/进程文件路径
处理完用户请求后再进行停止。不接受新的用户请求

日志分割:

kill -USR1 进程号/进程文件路径

从容关闭工作进程:

kill -WINCH 进程号

平滑重启:不需要停止服务器的情况下实现重启

kill -HUP 进程号   重新加载配置文件
可以用nginx -t -c /nginx.conf 先进行测试配置文件是否配置正确

平滑升级:

1.将新的nginx安装到/usr/local/nginx目录
2.发送平滑升级命令:kill -USR2 旧进程号(此时nginx会自动备份旧进程)
3.启动新nginx
4.发送从容关闭旧nginx信号:kill -WINCH 旧进程
这时两个进程同时存在,可以选择关闭旧进程从而升级成功。
此时若要恢复:
1. 发送平滑重启旧进程命令:kill -HUP 旧进程号
2. 退出新进程kill -QUIT 进程号 从容关闭进程。

QUIT和TERM、INT 是关闭进程

WINCH是从容关闭工作进程