创建服务脚本
在linux系统的/etc/init.d/目录下创建nginx文件,使用如下命令:
touch /etc/init.d/nginx
vim /etc/init.d/nginx
在脚本中添加脚本,脚本地址:http://wiki.nginx.org/RedHatNginxInitScript ,
不过要注意,需要根据您的安装路径修改下面这两项配置:
nginx=”/usr/sbin/nginx” 修改成nginx执行程序的路径,一般是/usr/local/nginx/sbin/nginx。
NGINX_CONF_FILE=”/etc/nginx/nginx.conf” 修改成配置文件的路径,一般是/usr/local/nginx/conf/nginx.conf。
保存脚本文件后设置文件的执行权限:
chmod a+x /etc/init.d/nginx
然后,就可以通过该脚本对nginx服务进行管理了:
/etc/init.d/nginx start
/etc/init.d/nginx stop
服务启动问题解决
启动遇到了一个错误,导致nginx启动失败:
Starting nginx (via systemctl): Job for nginx.service failed because a configured resource limit was exceeded. See "systemctl status nginx.service" and "journalctl -xe" for details.
[FAILED]
按照提示输入命令:
systemctl status nginx.service
发现有一行说明了错误原因
Can't open PID file /var/run/nginx/nginx.pid (yet?) after start: No such file or directory
随后修订nginx.conf
将 #pid /logs/nginx.pid;
注释去掉,改为 pid /usr/local/nginx/logs/nginx.pid;
使用chkconfig进行管理
注册为自启动服务
上面的方法完成了用脚本管理nginx服务的功能,但是还是不太方便,比如要设置nginx开机启动等。这时可以使用chkconfig来设置。
先将nginx服务加入chkconfig管理列表:
chkconfig --add /etc/init.d/nginx
加完这个之后,就可以使用service对nginx进行启动,重启等操作了。
service nginx start
service nginx stop
设置终端模式开机启动:
chkconfig --level 35 nginx on