systemctl 启动编译安装nginx
  P3nxyT0LRuwj 2023年11月19日 15 0

 一、通过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
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月19日 0

暂无评论

推荐阅读
  jnZtF7Co41Wg   2023年12月11日   14   0   0 nginx客户端服务端
  stLBpDewCLT1   2023年12月08日   21   0   0 nginx
  jnZtF7Co41Wg   2023年12月10日   16   0   0 nginx客户端服务端NFS
  eHipUjOuzYYH   2023年12月06日   13   0   0 nginxHTTP
  eHipUjOuzYYH   2023年12月06日   16   0   0 nginx加载IPV6
  9JCEeX0Eg8g4   2023年12月11日   19   0   0 mysql配置文件