• systemctl 启动编译安装nginx


      一、通过yum安装nginx 获取nginx的启动脚本(或直接复制我下面的脚本,只需要改变路径即可)

    /usr/lib/systemd/system/nginx.service

    脚本内容如下:

    [Unit]
    Description=nginx - high performance web server
    Documentation=http://nginx.org/en/docs/
    After=network-online.target remote-fs.target nss-lookup.target
    Wants=network-online.target
    
    [Service]
    Type=forking
    PIDFile=/var/run/nginx.pid
    ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
    ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
    ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"
    
    [Install]
    WantedBy=multi-user.target

      二、修改路径

        1、修改二进制文件路径

    我这里安装的路径是:

    /apps/nginx/sbin/nginx

    配置文件路径是:

    /apps/nginx/conf/nginx.conf

    修改下面这行:

    ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf

    修改为:

    ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf

         2、修改PID文件路径

    ##  PID文件路径要和nginx配置中的路径一样,pid文件和配置文件中不一样,会导致这个脚本永不了,默认没配置,这里修改配置文件

    /apps/nginx/conf/nginx.conf 取消注释pid这行
    pid        logs/nginx.pid;

    ##  这里的log是我安装目录里的logs。我安装的位置是/apps/nginx/

    修改这行:

    PIDFile=/var/run/nginx.pid

    修改为:

    PIDFile=/apps/nginx/logs/nginx.pid
    [Unit]
    Description=nginx - high performance web server
    Documentation=http://nginx.org/en/docs/
    After=network-online.target remote-fs.target nss-lookup.target
    Wants=network-online.target
    
    [Service]
    Type=forking
    PIDFile=/apps/nginx/logs/nginx.pid
    ExecStart=/apps/nginx/sbin/nginx -c /apps/nginx/conf/nginx.conf
    ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /apps/nginx/logs/nginx.pid)"
    ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /apps/nginx/logs/nginx.pid)"
    
    [Install]
    WantedBy=multi-user.target

     ##  标绿的两行,看配置模板文件版本可能需要修改,也可能不需要修改,我这里使用的是nginx/1.20.1 版的配置文件,这里的路径不修改不会影响开启和关闭,但当我Systemctl reload nginx 时候会提示错误:“Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.“”记得修改完之后systemctl daemon-reload下

      三、将修改好的配置移动到:

    /usr/lib/systemd/system

       四、测试:

    1、停止nginx服务
    systemctl stop nginx
    2、开启nginx服务 systemctl start nginx
    3、重读nginx配置文件(会回收之前空闲的工作进程,并启动新的工作进程)
    systemctl reload nginx
    ------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774
  • 相关阅读:
    观察是快速成长的一个牛逼技能
    linux下使用lftp的小结(转)
    关于升级cocos2d-x网络库来支持ipv6、https,以及socket怎么支持ipv6
    cocos2dx支持arm64
    android studio 命令行编译cocos 3.15.1 安卓工程
    认识Android.mk和Application.mk
    mac os x下Android Studio3.0 配置本地 Gradle
    图片转成base64编码
    集成pbc
    6、SpringMVC:结果跳转方式 和 数据提交时的处理
  • 原文地址:https://www.cnblogs.com/alexlv/p/15424343.html
Copyright © 2020-2023  润新知