大神帮忙检查一下这个nginx.service文件有没有需要改动的地方?

浏览:42日期:2022-07-16

问题描述

在centos7.2上编译安装完nginx,需要写一个nginx.service文件,以便可以使用systemctl enable nginx.service,这里有个mysqld的示例http://superuser.com/a/384670/577295 模仿写了一个,但有些参数不确定正确与否,请大神帮检查一下。

[Unit] Description=Nginx Server After=network.target[Service] ExecStart=/usr/local/nginx/sbin/nginx --defaults-file=/usr/local/nginx/conf/nginx.conf --socket=/var/run/nginx/nginx.sock User=nginx Group=nginx WorkingDirectory=/usr[Install] WantedBy=multi-user.target

问题: 1、有无需要改动的地方? 2、有没有缺少什么? 3、--socket=/var/run/nginx/nginx.sock没有这个文件,自己写的话,里面应该是什么内容?

下面是编译安装的相关路径:

sed -e 's|%%PREFIX%%|/usr/local/nginx|' -e 's|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|' -e 's|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|' -e 's|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|' < man/nginx.8 > objs/nginx.8make[1]: Leaving directory `/root/nginx-1.9.14’

问题解答

回答1:

我是新手,对于这个问题,我是这样解决的。先yum安装Nginx,然后查看Nginx的编译选项,主要是关于目录的选项。再自己下载源码,相关编译选项设置成刚查看的,最后用编译完的nginx执行文件替换yum安装的执行文件。这样就无需编写那些服务脚本了。手机打字,乱乱的。

回答2:

楼主不要生搬硬套nginx 没有 --defaults-file 也没有 --socket 参数不是随便 cp *.service nginx.service 就能用的

官方都已经给出样例了https://www.nginx.com/resources/wiki/sta...

[Unit]Description=The NGINX HTTP and reverse proxy serverAfter=syslog.target network.target remote-fs.target nss-lookup.target[Service]Type=forkingPIDFile=/run/nginx.pidExecStartPre=/usr/sbin/nginx -tExecStart=/usr/sbin/nginxExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.target

相关文章: