美文网首页
Nginx配置开机启动 /etc/init.d/nginx

Nginx配置开机启动 /etc/init.d/nginx

作者: dadage456 | 来源:发表于2020-07-08 19:19 被阅读0次

    背景

    下载Nginx安装包,编译安装。

    安装目录:/usr/local/nginx

    配置文件:/usr/local/nginx/conf/nginx.conf

    创建/etc/init.d/nginx文件

    在Nginx官网上的NGINX Init Scripts选择启动脚本,我这里是CentOS系统,选择 Red Hat NGINX Init Script, 将脚本拷贝到/etc/init.d/nginx

    设置/etc/init.d/nginx访问权限

    # !bin/bash
    #(a+x参数表示 ==> all user can execute  所有用户可执行)
    chmod a+x /etc/init.d/nginx
    

    创建软连接

    仔细观察脚本,脚本里面的nginx的相关路径与本机安装的路径不一致。

    nginx文件 本机路径 脚本路径
    nginx执行文件 /usr/bin/nginx /usr/sbin/nginx
    nginx.conf配置文件 /usr/local/nginx/conf/nginx.conf /etc/nginx/nginx.conf

    根据以上路径的不同创建软连接

    # !bin/bash
    ln -s /usr/bin/nginx /usr/sbin/nginx
    ln -sfn /usr/local/nginx/conf/ /etc/nginx/
    

    设置开机默认启动

    # !bin/bash
    vi /etc/rc.local
    
    添加 /etc/init.d/nginx start
    

    执行service nginx start命令出错

    1、 Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details

    执行killall -9 nginx关闭nginx服务即可

    2、一直卡在`Starting nginx (via systemctl)

    # !bin/bash
    
    # 查看原因
    service nginx status
    
    提示:Can't open PID file /run/nginx.pid (yet?) after start: ...ctory
    
    # 修改nginx.conf中的pid
    pid  /etc/nginx/logs/nginx.pid;
    
    # 创建nginx.pid
    cd /etc/nginx && mkdir logs && touch logs/nginx.pid
    
    # 替换 /lib/systemd/system/nginx.service 文件中的/run/nginx.pid,替换为/etc/nginx/logs/nginx.pid
    
    # 执行命令
    systemctl daemon-reload
    
    # 关闭nginx服务
    killall -9 nginx
    
    # 正常开启服务
    service nginx start
    
    
    

    相关文章

      网友评论

          本文标题:Nginx配置开机启动 /etc/init.d/nginx

          本文链接:https://www.haomeiwen.com/subject/ldfhcktx.html