PM2,Nginx,Shadowsocks 開機重啟

臨冬發表於2019-02-16

開機重啟

由於之前有一次伺服器重啟了但沒郵件通知,導致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 [服務名字]

完成重啟命令後可檢視相應的服務是否也啟動了

相關文章