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

 

posted @ 2017-04-08 12:17  Ficow  阅读(2101)  评论(2编辑  收藏  举报