在linux下想實現開機啟動的方法很多,這里我采用了在/etc/rc.local里寫shell指令的方式。
以下就以我的實際操作為例子講述,很多地方需要看官自己調整信息哦!
1.在/etc/rc.local文件中,添加你想要執行的腳本。
比如,我現在要執行的是Golang項目啟動的腳本:
ficowLogPath="/home/ficow/autoLaunchLog.txt" #launch ficow's blog server cd /home/ficow/ficowblog/src #進入到目錄 ./serverAutoRun.sh #執行Golang項目啟動腳本 echo "ficowblog server autoLaunched: `date`" >> $ficowLogPath #啟動信息記錄到/home/ficow/autoLaunchLog.txt
然后保存退出。
這里可能會遭遇rc.local不被執行的問題。如果這樣,修改rc.local文件的權限為可執行!
chmod +x rc.local
2.調整Golang項目啟動腳本(./serverAutoRun.sh)
#! /bin/bash export GOPATH=/home/ficow/gopath:`cd .. ; pwd` echo "GOPATH:$GOPATH" export GOROOT=/home/ficow/go echo "GOROOT:$GOROOT" PATH=$PATH:$HOME/bin:usr/local/git/bin:$GOROOT/bin:$GOPATH/bin: echo "PATH:$PATH" (go run main.go >> /home/ficow/ficowblog/src/blogLog.txt 2>&1 &) echo "*** 服務器重啟完成! ***"
注意:因為自啟動時,這些腳本是以su的身份執行的,而我的GOPATH和GOROOT對於su是沒有配置好的,
所以這里我做了調整,讓su可以知道GOPATH和GOROOT在哪里,這樣之后執行go run的時候才不會報錯。
3.修改./serverAutoRun.sh文件的權限為可執行:
chmod +x ./serverAutoRun.sh
4.重啟服務器。當你用SSH連接過去的時候,程序已經在運行了,記錄也已經輸出到了日志文件里。
5.下面就是我部署的程序對應的博客啦,看官要不要看看?
參考文章:
Ficow原創,轉載請注明出處:http://www.cnblogs.com/ficow/p/6681473.html