配置nginx的systemctl命令
上一篇写了关于nginx自动部署的脚本。知道启动nginx的命令为 /usr/local/nginx/sbin/nginx
停止nginx的命令为 /usr/local/nginx/sbin/nginx -s stop
重启nginx的命令为 /usr/local/nginx/sbin/nginx -s reload
可以看得出来,很麻烦,每次都要把nginx的启动问文件的路径写出来。所以我们可以配置一个systemctl 命令来方便操作nginx的启动、停止和重启命令。
一、创建一个nginx.service
在 /usr/lib/systemd/system/目录下面新建一个nginx.service文件。并赋予可执行的权限。
vim /usr/lib/systemd/system/nginx.service
chmod +x /usr/lib/systemd/system/nginx.service
二、编辑service内容
[Unit] //对服务的说明
Description=nginx - high performance web server //描述服务
After=network.target remote-fs.target nss-lookup.target //描述服务类别
[Service] //服务的一些具体运行参数的设置
Type=forking //后台运行的形式
PIDFile=/usr/local/nginx/logs/nginx.pid //PID文件的路径
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf //启动准备
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf //启动命令
ExecReload=/usr/local/nginx/sbin/nginx -s reload //重启命令
ExecStop=/usr/local/nginx/sbin/nginx -s stop //停止命令
ExecQuit=/usr/local/nginx/sbin/nginx -s quit //快速停止
PrivateTmp=true //给服务分配临时空间
三、启动服务
[Install]
WantedBy=multi-user.target //服务用户的模式
在启动服务之前,需要先重载systemctl命令
systemctl daemon-reloadsystemctl start nginx.service
发现启动还是出现了问题。用systemctl status nginx.service 来查看问题所在。
如图 可以看出是端口 80 被占用了。 解决方案就是进入nginx.conf配置文件修改nginx的端口。
vim /usr/local/nginx/conf/nginx.conf
找到如图的字段
把listen 后面的数字修改成8080或者81。再重新启动服务,就提示成功了。