ubuntu-16.10 开始不再使用initd管理系统,改用systemd
systemd is now used for user sessions. System sessions had already been provided by systemd in previous Ubuntu releases.
快速看了 systemd 的使用方法,发现改动有点大, 包括用 systemctl 命令来替换了 service 和 chkconfig 的功能。
比如以前启动 mysql 服务用:
1. 设置启动参数 vim /lib/systemd/system/rc.local.service
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=no
GuessMainPID=no
#这一段原文件没有,需要自己添加
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2.设置软连接,开机启动回去/etc/……这个目录下去找文件
ln -s /lib/systemd/system/rc.local.service /etc/systemd/system/rc.local.service
修改rc.loacl文件
vim /etc/rc.local
rc.loacl内添加下面内容,注意替换root密码、nginx执行文件目录和配置文件目录
#!/bin/bash
#auto run nginx when system startup
sudo -S /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf << EOF
root密码
EOF
exit 0
3.1. 添加执行权限
sudo chmod +x /etc/rc.local
指定开机自启,最后可以添加优先级,比如,90
sudo update-rc.d nginx defaults