快速找到nginx用的是哪个配置文件

背景

在工作中会碰到一台服务器安装了多个nginx的服务的情况。

Nginx的主配置文件有的在/etc/nginx/nginx.conf而有的在/usr/local/nginx/conf/nginx.conf,还有很多情况配置文件在很多自定义的位置。

问题点

1.当前nginx服务的主配置文件具体是哪个呢?

2.该怎样reload nginx服务?

一.找到主配置文件

1.1 获取nginx的启动命令

ps -ef | grep nginx中master process后面的就是启动命令

# 情况1:没有指定配置文件和路径前缀(用的默认配置路径)
  启动命令为:/usr/sbin/nginx
[root@vm22 ~]# ps -ef | grep nginx
root      1863     1  0 21:00 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     1864  1863  0 21:00 ?        00:00:00 nginx: worker process
nginx     1865  1863  0 21:00 ?        00:00:00 nginx: worker process

# 情况2:指定了配置文件
  启动命令为:nginx -c /etc/nginx/nginx.conf
  说明: -c 参数用于指定 Nginx 主配置文件的路径。当你想要使用一个非默认位置的配置文件启动 Nginx 时,可以使用这个参数。
[root@vm22 ~]# ps -ef | grep nginx  
root      1703     1  0 20:44 ?        00:00:00 nginx: master process nginx -c /etc/nginx/nginx.conf
nginx     1704  1703  0 20:44 ?        00:00:00 nginx: worker process
nginx     1705  1703  0 20:44 ?        00:00:00 nginx: worker process

# 情况3:指定了路径前缀
  启动命令为:nginx -p /root/nginx-test
  说明:-p 参数用于指定 Nginx 的前缀路径,即 Nginx 配置文件、日志文件和其它相关文件的存放路径。
       主配置文件为:前缀路径/conf/nginx.conf
[root@vm22 ~]# ps -ef | grep nginx       
root      1927     1  0 14:41 ?        00:00:00 nginx: master process nginx -p /root/nginx-test
nobody    1991  1927  0 14:48 ?        00:00:00 nginx: worker process
1.2 获取主配置文件并检查配置文件语法是否正确
语法:启动命令   -t

# 情况1:没有指定配置文件和路径前缀
  启动命令为:/usr/sbin/nginx
  获取主配置文件并检查配置文件语法的命令为: /usr/sbin/nginx  -t
  
# 情况2:指定了配置文件
  启动命令为:nginx -c /etc/nginx/nginx.conf
  获取主配置文件并检查配置文件语法的命令为:nginx -c /etc/nginx/nginx.conf -t
  
# 情况3:指定了路径前缀
  启动命令为:nginx -p /root/nginx-test
  获取主配置文件并检查配置文件语法的命令为:nginx -p /root/nginx-test -t
  
输出结果示例:
nginx: the configuration file /root/openresty-test/conf/nginx.conf syntax is ok
nginx: configuration file /root/openresty-test/conf/nginx.conf test is successful

可从此输出结果中,获取nginx主配置文件的路径,及语法是否正确

二.查看nginx主配置文件都include了哪些子配置文件

grep include 主配置文件,如下实例

[root@vm22 ~]# grep include  /etc/nginx/nginx.conf
include /usr/share/nginx/modules/*.conf;
    include             /etc/nginx/mime.types;
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/default.d/*.conf;
#        include /etc/nginx/default.d/*.conf;  #注意此行前面有注释,需忽略此行
[root@vm22 ~]#

找到主配置文件和子配置文件后,就可以愉快的查看和修改配置文件,愉快的板砖啦!

三.如何reload nginx

3.1 检查配置文件语法是否正确

参考1.2

如果语法有报错,需要先把语法修改正确。

3.2 reload nginx
reload语法:启动命令   -s reload

# 情况1:没有指定配置文件和路径前缀
  启动命令为:/usr/sbin/nginx
  reload的命令为: /usr/sbin/nginx  -s reload
  
# 情况2:指定了配置文件
  启动命令为:nginx -c /etc/nginx/nginx.conf
  reload的命令为:nginx -c /etc/nginx/nginx.conf -s reload
  
# 情况3:指定了路径前缀
  启动命令为:nginx -p /root/nginx-test
  reload的命令为:nginx -p /root/nginx-test -s reload

附加说明:

1.如何启动nginx?
上面的启动命令就是

2.如何stop nginx?
推荐:
systemctl stop nginx

或者(不推荐):
启动命令 -s stop 说明:stop 是快速停止

或者(推荐):
启动命令 -s quit 说明:quit 是优雅停止(等待工作进程完成当前请求后停止)

或者(不推荐):

kill nginx的进程

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 要查看nginx配置文件,可以使用以下命令来查找服务器中存在的nginx.conf文件:`locate nginx.conf`。这个命令会列出服务器中存在的nginx.conf文件的路径,比如`/usr/local/etc/nginx/nginx.conf`和`/usr/local/etc/nginx/nginx.conf.default`。\[1\]如果服务器中存在多个nginx.conf文件,我们并不知道实际上调用的是哪个配置文件,因此我们需要找到实际调用的配置文件才能进行修改。可以使用以下命令来查看nginx实际调用的配置文件:`ps aux|grep nginx`。这个命令会列出nginx的进程信息,其中包括实际调用的配置文件路径,比如`/usr/local/etc/nginx/nginx.conf`。\[2\]另外,可以使用nginx的`-t`参数进行配置检查,即可知道实际调用的配置文件路径及是否调用有效。使用命令`/usr/local/opt/nginx/bin/nginx -t`,如果配置文件语法正确且测试成功,会显示`nginx: the configuration file /usr/local/etc/nginx/nginx.conf syntax is ok`和`nginx: configuration file /usr/local/etc/nginx/nginx.conf test is successful`。\[3\] #### 引用[.reference_title] - *1* *2* *3* [nginx快速查看配置文件的方法](https://blog.csdn.net/fdipzone/article/details/77199042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值