微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ubuntu15.4、16.4、17.4设置nginx自启动

ubuntu15.4、16.4、17.4设置Nginx自启动

记录个小问题,备忘录。
花了大半天的时间研究这个,网上大多ubuntu、centos的配置Nginx开机自启的都是之前的Upstart/Sysinitv配置方法,所以配置了没用也很正常,原因在自从ubuntu15.4和centos7开始,已经认使用systemd。难道linux要泛win化?
不逼逼了。下面是配置方法

1.建立服务文件

文件路径

vim /usr/lib/systemd/system/Nginx.service

文件内容

[Unit]
Description=Nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
 [Service]
Type=forking
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
 [Install]
WantedBy=multi-user.target

文件说明

[Unit]:服务的说明
Description:描述服务
After:依赖,当依赖的服务启动之后再启动自定义的服务

[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令(需要根据路径适配)
ExecReload为重启命令(需要根据路径适配)
ExecStop为停止命令(需要根据路径适配)
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户
Type
  • Type=simple(认值):systemd认为该服务将立即启动。服务进程不会fork。如果该服务要启动其他服务,不要使用此类型启动,除非该服务是socket激活型。

  • Type=forking:systemd认为当该服务进程fork,且父进程退出后服务启动成功。对于常规的守护进程(daemon),除非你确定此启动方式无法满足需求,使用此类型启动即可。使用此启动类型应同时指定 PIDFile=,以便systemd能够跟踪服务的主进程。

  • Type=oneshot:这一选项适用于只执行一项任务、随后立即退出的服务。可能需要同时设置 RemainAfterExit=yes使得systemd在服务进程退出之后仍然认为服务处于激活状态

  • Type=notify:与 Type=simple相同,但约定服务会在就绪后向systemd发送一个信号。这一通知的实现由 libsystemd-daemon.so提供。

  • Type=dbus:若以此方式启动,当指定的 BusName 出现在DBus系统总线上时,systemd认为服务就绪。

PIDFile : pid文件路径
ExecStartPre :启动前要做什么,上文中是测试配置文件 -t

2.保存目录

/usr/lib/system

3.设置开机自启动

任意目录下执行

systemctl enable Nginx.service

4.使用命令

启动Nginx服务

systemctlstartNginx.service

设置开机自动启动

systemctlenableNginx.service

停止开机自动启动

disableNginx.service

查看状态

systemctlstatusNginx.service

重启服务

systemctlrestartNginx.service

查看所有服务

systemctllist-units--type=service

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐