1、安装依赖关系包

#安装依赖关系包
[root@localhost opt]#yum -y install pcre-devel zlib-devel gcc gcc-c++ make

2、新建用户和组便于管理

#新建用户 nginx 服务程序默认 以 nobody 身份运行,建议为其创建专门的用户账户,以便更准确的控制访问权限
[root@localhost opt]#useradd -M -s /sbin/nologin nginx

3、将压缩包传入/opt目录下,编译安装

#切换至opt目录,将下载好的压缩包传进来
[root@localhost opt]#cd /opt
[root@localhost opt]#ls
nginx-1.12.0.tar.gz
 
#解压文件
[root@localhost opt]#tar -zxf nginx-1.12.0.tar.gz 
[root@localhost opt]#ls
nginx-1.12.0  nginx-1.12.0.tar.gz
 
#切换至解压后的文件夹编译
[root@localhost nginx-1.12.0]#
./configure \
> --prefix=/usr/local/nginx \
> --user=nginx \
> --group=nginx \
> --with-http_stub_status_module
 
//解释
--prefix=/usr/local/nginx \
#安装路径
--user=nginx \
#指定用户名
--group=nginx \
#指定用户组
--with-http_stub_status_module
#启用此模块支持状态统计
//
 
#安装
[root@localhost nginx-1.12.0]#make && make install 

4、做软连接并启动nginx

 #做软连接,让系统识别nginx的操作命令
[root@localhost sbin]#ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
 
#检查配置文件是否配置 正确 
[root@localhost sbin]#nginx -t
 
 #启动nginx
[root@localhost sbin]#nginx 
 
 #查看是否启动成功
[root@localhost sbin]#ss -ntap|grep nginx
LISTEN     0      128          *:80                       *:*                   users:(("nginx",pid=9123,fd=6),("nginx",pid=9122,fd=6))
 

5、停止nginx

1. #先查看nginx的PID号
[root@localhost sbin]#cat /usr/local/nginx/logs/nginx.pid 
9122
 
2.#直接杀死
kill -3  
[root@localhost sbin]#kill -3 9122
#就查不到进程了
[root@localhost logs]#ss -ntap|grep nginx
 
#一定要杀父进程,杀死子进程是没用的
 #查进程号
[root@localhost logs]#lsof -i :80
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nginx   10298  root    6u  IPv4  68323      0t0  TCP *:http (LISTEN)
nginx   10299 nginx    6u  IPv4  68323      0t0  TCP *:http (LISTEN)
#查看主进程
[root@localhost logs]#cat /usr/local/nginx/logs/nginx.pid  
10298
#杀死子进程
[root@localhost logs]#kill -3 10299 
#进程没有杀死
[root@localhost logs]#cat /usr/local/nginx/logs/nginx.pid  
10298
#杀死父进程
[root@localhost logs]#kill -3 10298
#进程杀死了
[root@localhost logs]#cat /usr/local/nginx/logs/nginx.pid   #进程杀死了
cat: /usr/local/nginx/logs/nginx.pid: 没有那个文件或目录

6、添加nginx系统服务

[root@localhost system]#cd /lib/systemd/system
 
#编写脚本,建议直接复制
[root@localhost system]#vim nginx.service
 
#!/bin.bash
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -s HUP $MAINPID
ExecStop=/usr/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
 
##磁盘上的ngin服务更改,运行'systemctl daemon-reload'重新加载单元。
[root@localhost system]#systemctl daemon-reload 
##启动服务
[root@localhost system]#systemctl start nginx

7、查看nginx版本信息

[root@localhost system]#nginx -v
nginx version: nginx/1.12.0