開機重啟
由於之前有一次伺服器重啟了但沒郵件通知,導致shadowsocks服務連線失敗,所以需要能實現由於伺服器維護或者故障導致的重啟能重新啟動服務,包括pm2,nginx,shadowsocks
PM2
相對簡單: pm2 startup
結合 pm2 save
[zhengxu@centos-512mb-sfo2-01 ~]$ pm2 startup
[PM2] Init System found: systemd
[PM2] You have to run this command as root. Execute the following command:
sudo env PATH=$PATH:/usr/local/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u zhengxu --hp /home/zhengxu
執行對應的生成命令,然後執行命令 pm2 save
,這一步是為了儲存好現在啟動pm2服務,後面伺服器開機就會自動重啟pm2服務。官方檢視
nginx
由於我使用yum安裝nginx,所以可直接使用systemctl 命令設定
檢視/lib/systemd/system
目錄是否存在 nginx.service
[root@centos-512mb-sfo2-01 system]# ls | grep nginx
nginx-debug.service
nginx.service
如果有的話執行命令
systemctl enable nginx.service
Done
shadowsocks
科學上網神器
安裝好shadowsocks並能正常使用後,將啟動的命令加入到/etc/rc.local檔案的最後
vi /etc/rc.local
新增下面一行命令到檔案最後
/usr/bin/ssserver -c /etc/shadowsocks.json -d start --user [username]
username 為啟動服務的使用者,儘量不要用root啟動服務
我以為這樣做以後就可以了,但是重新啟動一直無效,看了很久才查出原因:在centos7中,/etc/rc.local檔案預設沒有可執行許可權,chmod +x
新增
[root@centos-512mb-sfo2-01 etc]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 2月 21 2017 /etc/rc.local -> rc.d/rc.local
[root@centos-512mb-sfo2-01 etc]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 541 12月 16 07:48 /etc/rc.d/rc.local
[root@centos-512mb-sfo2-01 etc]# chmod +x /etc/rc.d/rc.local
[root@centos-512mb-sfo2-01 etc]# ll /etc/rc.d/rc.local
-rwxr-xr-x. 1 root root 541 12月 16 07:48 /etc/rc.d/rc.local
之後啟動就能看到效果了
重啟 與 檢視服務命令
重啟
sudo reboot
檢視服務
ps -aux | grep [服務名字]
完成重啟命令後可檢視相應的服務是否也啟動了