CentOS 7上nginx、php-fpm服务的创建

nginx、php-fpm的安装,我暂时先不写了,满大街的文章,不差我这一个。
创建服务很少有人提及,有人甚至因为不会建服务,用回CentOS 6。

CentOS 7的服务文件放在/usr/lib/systemd/system/下。
文件命名方式为 【服务名】.service

下面服务文件内容注意一下。
1.执行文件的路径也要修改。
2.pid文件所在文件夹记得修改权限。
3.User=clowlido和Group=clowlido,是运行主进程的用户,改成你自己的。
Windows时的习惯,我的所有应用系统的服务都是非root用户启动的。
如果想以root身份启动主进程,把这两个注释掉或移除。

友情提示:非root用户启动的服务,无法使用1024以下的端口,例如80、443。启动服务会报端口相关的错误。
我的解决方法是,在对应程序的conf文件里设置1024以上的端口,再用firewall把80、443转发到对应端口。

创建nginx服务

vi /usr/lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
User=clowlido
Group=clowlido
PIDFile=/app/nginx/logs/nginx.pid
ExecStartPre=/app/nginx/nginx -t
ExecStart=/app/nginx/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

创建php-fpm服务

vi /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP 7 FastCGI Process Manager
After=network.target

[Service]
Type=simple
User=www
Group=www
PIDFile=/app/php/var/run/php-fpm.pid
ExecStart=/app/php/sbin/php-fpm -F -c /app/php/etc/php.ini -y /app/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID

[Install]
WantedBy=multi-user.target

操作指令:

systemctl enable nginx

启用服务

systemctl disable nginx

禁用服务

systemctl daemon-reload

服务文件变动后,重载服务

systemctl start nginx

启动服务

systemctl stop nginx

结束服务

systemctl restart nginx

重新启动服务

systemctl status nginx

查看服务状态

systemctl status nginx -l

查看服务状态详细信息(多用这个吧)

发表评论

电子邮件地址不会被公开。 必填项已用*标注