安装及使用Nginx

行走的泡泡 / 2023-08-27 / 原文

一、安装及使用Nginx

1编译安装nginx

  • contrib:vim 格式文件,修改nginx配置文件的格式,高亮 cp -r /opt/nginx-1.18.0/contrib/vim/* /usr/share/vim/vimfiles/

  • conf:配置文件

  • man:man帮助 man man/nginx.8 不加路径看不了 nginx.8 文件

  • src:源码包 点c 点h 结尾的文件 find src -type f |xargs cat |wc -l 193678

 

 

 

 

 

 

 

 

 

  1. conf:保存nginx所有的配置文件,其中nginx.conf是nginx服务器的最核心最主要的配置文件,其他的.conf则是用来配置nginx相关的功能的,例如fastcgi功能使用的是fastcgi.conf和fastcgi_params两个文件,配置文件一般都有个样板配置文件,是文件名.default结尾,使用的使用将其复制为并将default去掉即可。

  2. html目录中保存了nginx服务器的web文件,但是可以更改为其他目录保存web文件,另外还有一个50x的web文件是默认的错误页面提示页面。

  3. logs:用来保存nginx服务器的访问日志错误日志等日志,logs目录可以放在其他路径,比如/var/logs/nginx里面。

  4. sbin:保存nginx二进制启动脚本,可以接受不同的参数以实现不同的功能

2.启动停止nginx

方法一:

 方法二:

 停止nginx

3.创建Nginx 自启动文件

复制同一版本的nginx的yum安装生成的service文件

 

 4.平滑升级及信号使用

4.1信号

nginx 命令支持向其发送信号,实现不同功能

nginx 当做单独命令使用有以下选项

[root@node2 ~]#nginx     -h
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -T            : test configuration, dump it and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /etc/nginx/)
  -e filename   : set error log file (default: /var/log/nginx/error.log)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

4.2显示版本

-小v是显示版本号,-大V可以显示的更多显示编译详细情况 模块等信息

[root@node2 ~]#nginx -v
nginx version: nginx/1.22.1

 

 4.3发送信号

kill -l  看信号大全       看的比较全

 nginx -h   中可以看到的信号较少

 可以用man 命令来看信号详细信息,没有安装可以去源码包里找到man文件,查看信息

 man          路径/nginx.8      不加路径打不开man帮助
stop          SIGTERM        直接停止
quit           SIGQUIT        优雅的退出:有人在访问不会结束进程
reopen       SIGUSR1        分割日志
reload       SIGHUP         重新加载配置文件

例子:

nginx -s   stop   #立即关闭nginx
nginx -s   quit   #优雅退出   不影响业务的状态下退出
nginx -s   reload #重新加载 

 4.4指定配置 不已配置文件中的为准

nginx -g 指定配置 不已配置文件中的为准

nginx -g 'user zhangsan;'   已张三身份运行,默认是以nginx身份
nginx -g 'daemon off;'    前台运行命令

 4.5检查语法格式

nginx -t    可以检查配置文件的语法问题

5.平滑升级

升级 nginx1.18到nginx1.20

原理如图:

 

  1. 将旧Nginx文件换成新Nginx文件(注意备份)

  2. 向master进程发送USR2信号

  3. master进程修改pid文件名,加后缀.oldbin

  4. master进程用新Nginx文件启动新master进程,系统中将有新旧两个Nginx主进程共同提供Web服务

  5. 向旧的Nginx服务进程发送WINCH信号,使旧的Nginx worker进程平滑停止,并删除Nginx.pid.oldbin文件

  6. 向旧master进程发送QUIT信号,关闭老master

  7. 如果发现升级有问题,可以回滚向老master发送HUP,向新master发送QUIT