• nginx reload无效解决方法


    方案1:

    nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)

    找到你的nginx.conf的文件夹目录

    然后运行命令

    nginx -c /usr/local/etc/nginx/nginx.conf

    再运行 

    nginx -s reload

    重启nginx就可以了

    ----------------------------------------------------------------------------------------------------------------------------

    方案2:

    一、 问题出现

    更改nginx配置文件后进行语法检测

     sudo nginx -t
    

    结果正确, 进行nginx重启

    sudo nginx -s reload

    没有报错,但发现重启后新的配置没有生效

    nginx依然指向旧的路径

    查看nginx服务状态

    sudo service nginx status
    或
    sudo systemctl status nginx

    发现出现如下错误

    nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument

    错误原因

    经过查询后发现,这个错误是因为nginx和系统之间的竞争引起的。

    nginx.pid 文件是在nginx启动时创建的文件,在关闭nginx服务后会消失。

    系统在nginx创建该文件前就想要访问这个文件,导致了这个错误的产生。

    二、 解决方案

    1.创建nginx.service.d目录

    在/etc/systemd/system/目录下创建nginx.service.d文件夹

    mkdir /etc/systemd/system/nginx.service.d

    2.打印数据到文件

    执行下面的命令

    printf "[Service]\nExecStartPost=/bin/sleep 0.1\n" > /etc/systemd/system/nginx.service.d/override.conf

    3.重新加载daemon服务

    systemctl daemon-reload

    这将重新运行所有生成器,重新加载所有单元文件并重新创建整个systemd依赖关系树。

    4.重启nginx服务

    systemctl restart nginx

    5.测试

    重新测试之前修改过的配置文件是否生效

    发现问题已解决

    原文地址:https://www.jianshu.com/p/64fba261005d

     
  • 相关阅读:
    夜神安卓模拟器
    Jmeter分布式压力测试环境配置
    Jmeter接口测试数组变量传值
    Jmeter测试JDBC
    BeanShell PreProcessor数据base64加密
    数据库锁表查看与解锁
    Python对数据库进行操作
    Jmeter正则表达式提取器详解
    将博客搬至CSDN
    web开发学习笔记(四)Ajax的使用方法
  • 原文地址:https://www.cnblogs.com/nsw2018/p/16070492.html
Copyright © 2020-2023  润新知