Golang 在 Linux CentOS 6.5 服務器上實現 博客后台程序開機啟動


 

 

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的身份執行的,而我的GOPATHGOROOT對於su是沒有配置好的,

  所以這里我做了調整,讓su可以知道GOPATHGOROOT在哪里,這樣之后執行go run的時候才不會報錯。

 

 

 

 

 

3.修改./serverAutoRun.sh文件的權限為可執行:

  chmod +x ./serverAutoRun.sh

 

 

 

 

 

4.重啟服務器。當你用SSH連接過去的時候,程序已經在運行了,記錄也已經輸出到了日志文件里。

 

 

 

 

 

5.下面就是我部署的程序對應的博客啦,看官要不要看看?

 

        點擊直達,我的博客(ficow.cn)

 

 

 

 

參考文章:

linux添加開機自啟動腳本示例詳解 

linux 開機啟動腳本或者服務

CentOS 6.5 rc.local 開機不執行解決一例

Linux中讓進程在后台運行的方法

 

 


Ficow原創,轉載請注明出處:http://www.cnblogs.com/ficow/p/6681473.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM