在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