本人的操作系统是centos 7,在此环境下学习安装。
1.下载地址:http://nginx.org/en/download.html(根据自己需要下载对应的版本即可)
2.解压 (根据自己需要解压到指定目录)
$:tar -zxvf nginx-1.xx.xx.tar.gz -C ./
3.预先安装所需的一类类库
$:yum -y install gcc gcc-c++ ncurses-devel perl pcre pcre-devel zlib gzip zlib-devel
4.nginx编译
$:cd /home/gaoyuan/softwares/nginx-1.16.1(解压后的目录)
$:./configure --prefix=/usr/local/nginx (将nginx编译到/usr/local/nginx 目录下)
5.安装nginx
$:make & make install
6.查看安装文件
$:cd /usr/local/nginx
$:ll
conf 存放配置文件
html 网页文件
logs 日志文件
sbin shell启动、停止脚本
7.启动nginx
$:cd sbin
$:./nginx
8.直接在浏览器中访问ip地址即可看的nginx的欢迎页,默认端口80
9.停止nginx
$:ps -ef | grep
$:kill -INT 9999 (直接杀死进程号)
$:./nginx -s stop (是快速关闭,不管有没有正在处理的请求)
$:./nginx -s quit (优雅的关闭,nginx在退出前完成已经接受的连接请求)
10.重新读取配置文件
$:nginx -s reload
11.检查配置文件是否正确
$:./nginx -t ( 如果出现下面图片中的错)
$:./nginx -c /usr/local/nginx/conf/nginx.conf (需要指定一下nginx的配置文件 -c 的参数意思就是指定配置文件的位置)
12.nginx的信号控制
nginx支持2种进程模式Single和Master-Worker,single是单进程,一般不适用。master-worker是主进程和工作进程模型运行,主进程对工作进程管理。nginx允许我们通过新信号来控制主进程,用信号的方式可以达到不影响现有连接的目的。
信号类型
INT TREM 快速关闭信号
QUIT 从容关闭信号
HUP 从容重启信号,一般用于修改配置文件后,重启
USR1 重读日志,一般用于日志的切割
USR2 平滑升级信号
WINCH 从容关闭旧进程
具体语法:
kill -信号选项 nginx的主进程号
例如:
$:kill -INT 99999
$:kill -HUP 99999
第一种从容优雅的停止
# kill -QUIT master 进程号
# nginx服务可以正常地处理完成当前所有请求再停止服务
#步骤:首先会关闭监听端口,停止接收新的连接,然后把当前正在处理的连接全部处理完,最后再退出进程。
第二种快速停止
# kill -TERM master进程号
# kill -INT master 进程号
# 快速停止服务时,worker进程与master进程再收到信号后会立刻跳出循环,退出进程。
第三种强制停止
# pkill -9 nginx 系统强杀nginx进程。