nginx启动
#sbin 目录位于nginx 安装的跟目录
启动命令:./sbin/nginx
启动成功后访问:http://192.168.8.222/
nginx 带启动参数
- 参数介绍
使用方法实例
nginx -c /path/to/nginx.conf // 以特定目录下的配置文件启动nginx:
nginx -t // 测试当前配置文件是否正确
nginx -t -c /path/to/nginx.conf //测试特定的nginx配置文件是否正确
停止 或者 重启 NIGNX
有两种方式:
- 第一种
在启动命令后面加上参数
nginx -s reload // 修改配置后重新加载生效
nginx -s reopen // 重新打开日志文件
nginx -s stop // 快速停止nginx
nginx -s quit // 完整有序的停止nginx
- 第二种
发送一个信号量给 NGINX 的主进程,NGINX默认会将主进程id写入/usr/local/NGINX/logs/nginx.pid,可以通过查看这个文件,得到主进程PID
信号量的信号标识符如下表
使用实例及介绍:
# 发送这个信号后,不会立刻停止老的进程,但程序会重新的加载配置文件,再接收的请求将会以新的配置为准
kill -HUP $( cat /usr/local/nginx/logs/nginx.pid )
# 发送这个信号命令,会优雅的停止所有的进程,即等正在运行的进程执行完成后,停止nginx
kill -QUIT $( cat /usr/local/nginx/logs/nginx.pid )
# 发送这个信号后,会强制的停止所有进程,停止nignx 服务
kill -TERM $( cat /usr/local/nginx/logs/nginx.pid )
# 发送这个信号后,会重新打开日志文件,可以用来做日志切割
kill -TERM $( cat /usr/local/nginx/logs/nginx.pid )
常见错误
端口被占用
[root@localhost nginx]# ./sbin/nginx
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
解决方法:
#查看被占用的端口是谁在占用
$ netstat -antp
[root@localhost nginx]# netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17758/nginx: master
# 关掉这个进程 实用kill或者 pkill 或者 killall(关闭进程)
[root@localhost nginx]# pkill -9 17758
重启一下,就OK了