# Nginx目录结构
# 首先推荐一个查看目录结构的工具 tree
# yum install -y tree
# sudo apt-get install -y tree ubuntu
# 查看nginx目录结构,我这里是默认安装目录,所以是/usr/local/nginx/
tree /usr/local/nginx/
/usr/local/nginx/
|-- client_body_temp
|-- conf # 配置文件目录
| |-- fastcgi.conf
| |-- fastcgi.conf.default # .default结尾是备份配置文件,也就是当你将配置文件搞坏了,你可以从默认配置开始重新配置
| |-- fastcgi_params
| |-- fastcgi_params.default
| |-- koi-utf
| |-- koi-win
| |-- mime.types # 文件名与文件后缀
| |-- mime.types.default
| |-- nginx.conf # Nginx的配置文件
| |-- nginx.conf.default
| |-- scgi_params
| |-- scgi_params.default
| |-- uwsgi_params
| |-- uwsgi_params.default
| `-- win-utf
|-- fastcgi_temp
|-- html
| |-- 50x.html # nginx访问错误的时候返回页面
| `-- index.html # nginx首页
|-- logs
| |-- access.log # 访问日志
| |-- error.log # 错误日志
| `-- nginx.pid # nginx进程的PID
|-- proxy_temp
|-- sbin
| `-- nginx # 可执行二进制文件
|-- scgi_temp
`-- uwsgi_temp
# Nginx服务控制命令
# 1.Nginx服务的信号控制
# 查询nginx进程
ps -ef | grep nginx
# nginx有两个进程,分别是:master 和 worker进程
# 正确应该说Nginx有两种类型的进程
# worker接待用户的进程,也就是说并发量大的时候接待用的进程数量可以通过配置文件来配置
# master进程是管理worker进程的进程,也就是当有worker进程以外停止的时候master会启动新的worker进程,master进程会控制worker进程始终保持配置的进程数量
# Nginx信号:使用方法:kill -TERM 13673 13673就是master进程的pid
1.TERM/INT 立即关闭整个服务
2.QUIT 优雅关闭整个服务
3.HUP 重新生效配置文件,master不会重启,但所有worker进程会重新启动
4.USR1 重新打开日志文件,可以用来进行日志切割
5.USR2 平滑升级到最新版本的nginx。在不关闭服务的情况下升级nginx。
6.WINCH 所有子进程不再接受吃力链接,相当于给worker进程发送QUIT指令
# 这里学一个kill的新用法
# ``的用法,读取文件内容作为参数传递给kill命令
kill -QUIT `more /usr/local/nginx/logs/nginx.pid`
# 2.Nginx的命令控制
# 如何查看
[root@VM-8-14-centos sbin]# ./nginx -h
nginx version: nginx/1.20.1
Usage: nginx [-?hvVtTq] [-s signal] [-p prefix]
[-e filename] [-c filename] [-g directives]
Options:
-?,-h : 帮助信息
-v : 简单的版本信息
-V : 详细版本信息
-t : 测试nginx.conf配置文件是否有问题
-T : 与-t区别是,成功的时候输出详细的配置信息
-q : 与t一起用,也就是测试期间只输出错误信息
-s signal : 给Nginx服务的master进程发送信号: stop, quit, reopen, reload
-p prefix : 设置源码路劲,一般不会去该它 (默认: /usr/local/nginx/)
-e filename : 设置错误日志路径 (默认: logs/error.log)
-c filename : 设置要加载的config文件路劲 (默认: conf/nginx.conf)
-g directives : ./nginx -g "pid logs/abc.pid" 直接在运行的时候配置部分config,一般不建议这么用