NGINX指定启动的配置文件

若不指定安装路径,nginx默认安装在 /usr/local/nginx路径下。

若不指定nginx的配置文件,nginx默认启动找的是同级nginx更路径下的/conf/nginx.conf配置文件

但该配置文件的所在路径 以及文件名不是绝对的,可根据需要放置在不同的路径。胡根据业务场景修改配置文件名。

以下是一个好的示例,指定了配置文件的路径,修改了其名称(仅供参考)

#验证配置文件
/usr/local/nginx/sbin/nginx -tc /usr/local/nginx/conf/nginx_my.conf
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx_my.conf

#启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx_my.conf
#重启
/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx_my.conf
#停止
/usr/local/nginx/sbin/nginx -s stop -c /usr/local/nginx/conf/nginx_my.conf

 

启动nginx,运行sbin目录下nginx文件即可。启动nginx后可以通过-s参数调用可执行与控制 。使用下面的语法:

  1. nginx - s信号
  • stop——快速关闭(我理解为强杀)
  • quit——优雅的关闭(nginx为一个主进程N个工作进程,优雅的关闭是指关闭没有工作中的工作进程,等待其他工作进程工作完毕后再将其关闭,最后关闭主进程。原因是防止客户端正在下载文件中,服务器关闭对客户端造成不必要的麻烦等类似问还是支付)
  • reload——重新加载配置文件
  • reopen——重启日志文件

例如,停止与等待nginx流程目前工作进程完成服务请求,可以执行下面的命令:

  1. nginx -s quit

在配置文件中更改不会被应用到命令重新加载配置发送到nginx或是重新启动。重新加载配置,执行:

  1. nginx -s reload

一旦主进程接收到信号重新加载配置,它检查语法新配置文件的有效性,并试图应用中提供的配置。如果这是一个成功,主进程开始新工作进程并将消息发送给旧的工作进程,请求他们关闭。否则,主进程回滚更改并继续使用旧的配置。旧的工作进程,接收命令关闭,停止接受新连接,继续服务当前请求,直到所有这样的请求提供服务。在那之后,旧的工作进程退出。

或者使用linux 信号量

一个信号也可以发送到nginx过程的帮助下Unix工具等kill实用程序。在这种情况下一个信号是直接发送到一个过程与给定进程ID。nginx主进程的进程ID写,默认情况下,nginx.pid在目录中/usr/local/nginx/logs/var/run。例如,如果主进程ID是1628,发送退出信号导致nginx的优雅的关闭,执行:

  1. 命令语法如下
  2. kill -s QUIT 1628
  3. TERM, INT 快速关闭(等于nginx -s stop
  4. QUIT 优雅的关闭(等于nginx -s quit
  5. HUP 从新加载配置(等于nginx -s reload

获取所有运行nginx进程列表,例如,在以下方式:

  1. ps -ax | grep nginx
posted @ 2023-10-31 23:48  呼长喜  阅读(1686)  评论(0编辑  收藏  举报