nginx在linux下设置开机启动

一、/etc/init.d下创建文件nginx

  1. touch /etc/init.d/nginx

二、添加开机启动脚本

三、修改 /etc/init.d/nginx 配置

  1. nginx="/usr/local/nginx/sbin/nginx" //修改成nginx执行程序的路径。
  2. NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" //修改成nginx.conf文件的路径。

四、保存脚本文件后设置文件的执行权限

  1. chmod a+x /etc/init.d/nginx

五、使用chkconfig进行管理,将nginx服务加入chkconfig管理列表

  1. chkconfig --add /etc/init.d/nginx

六、使用service对nginx进行启动,停止、重启等操作

  1. service nginx start
  2. service nginx stop
  3. service nginx restart
  4. service nginx reload

七、设置终端模式开机启动

  1. chkconfig nginx on

八、nginx.service配置

centos7以上是用Systemd进行系统初始化的
Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum install命令安装的,yum命令会自动创建nginx.service文件,直接用命令
systemcel enable nginx.service
设置开机启动即可。
在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。
开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:

  1. cd /lib/systemd/system
  2. vim nginx.service

内容如下:

  1. [Unit]
  2. Description=nginx
  3. After=network.target
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/local/nginx/sbin/nginx
  7. ExecReload=/usr/local/nginx/sbin/nginx -s reload
  8. ExecStop=/usr/local/nginx/sbin/nginx -s quit
  9. PrivateTmp=true
  10. [Install]
  11. WantedBy=multi-user.target

服务的说明

  1. [Unit]
  2. Description:描述服务
  3. After:描述服务类别
  4. [Service]服务运行参数的设置
  5. Type=forking是后台运行的形式
  6. ExecStart为服务的具体运行命令
  7. ExecReload为重启命令
  8. ExecStop为停止命令
  9. PrivateTmp=True表示给服务分配独立的临时空间
  10. 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
  11. [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
  12. 设置开机启动:
  13. #systemctl enable nginx.service
  14. 停止开机自启动:
  15. #systemctl disable nginx.service
  16. 其它命令:
  17. #systemctl start nginx.service
  18. #systemctl status nginx.service
  19. #systemctl restart nginx.service 
  20. #systemctl stop nginx.service

九、可能出现的问题

  • 1)、linux重启后无法开启nginx问题"var/run/nginx/nginx.pid" no such file or directory
    每次重启虚拟机后,var/run/nginx/目录都会被删除,所以无法在这个目录创建nginx.pid文件,可以自己创建/var/run/nginx/目录,然后可以运行,但治标不治本,下次虚拟机重启目录还会丢失。
    解决方法:

    1. 打开/usr/local/nginx/conf/nginx.conf 配置文件
    2. #pid logs/nginx.pid;###打开这个配置
    3. 同时在/usr/local/nginx目录下创建logs文件
    4. mkdir logs

    再次重启虚拟机,nginx正常运行。
    原因:我们在配置文件显式的指定nginx.pid文件存放位置,然后创建logs文件夹,当linux重启后,logs文件夹不会被删除

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:小林博客 www.vvso.cn小林博客 » nginx在linux下设置开机启动
分享到: 更多 (0)

评论 抢沙发

切换注册

登录

忘记密码 ?

切换登录

注册