Go1.10.1 服务启动和开机启动 咨询帮助


#1

Gogs 版本:Go1.10.1
系统类型及版本:CentOS Linux release 7.4.1708 (Core)
内核: 3.10.0-693.21.1.el7.x86_64
数据库:MySQL5.7
问题描述:

为了完全配合文档,建立了 git 用户,将gogs 移动到 /home/git/gogs 下面
目前目录: /home/git/gogs
启动用户:git
启动:/home/git/gogs/gogs web

可以正常使用。

下一步是做服务启动和开机启动,因为系统是 Centos7,所以使用 systemd

执行了如下命令:

cp /home/git/gogs/scripts/systemd/gogs.service   /usr/lib/systemd/ 

然后使用 root 用户 : systemctl start gogs
启动不起来,查看systemctl 日志:

● gogs.service - Gogs
   Loaded: loaded (/usr/lib/systemd/system/gogs.service; disabled; vendor preset: disabled)
   Active: failed (Result: start-limit) since Tue 2018-04-10 18:22:00 CST; 2s ago
  Process: 3888 ExecStart=/home/git/gogs/gogs web (code=exited, status=1/FAILURE)
 Main PID: 3888 (code=exited, status=1/FAILURE)

Apr 10 18:22:00 localhost.localdomain systemd[1]: Unit gogs.service entered failed state.
Apr 10 18:22:00 localhost.localdomain systemd[1]: gogs.service failed.
Apr 10 18:22:00 localhost.localdomain systemd[1]: gogs.service holdoff time over, scheduling restart.
Apr 10 18:22:00 localhost.localdomain systemd[1]: start request repeated too quickly for gogs.service
Apr 10 18:22:00 localhost.localdomain systemd[1]: Failed to start Gogs.
Apr 10 18:22:00 localhost.localdomain systemd[1]: Unit gogs.service entered failed state.
Apr 10 18:22:00 localhost.localdomain systemd[1]: gogs.service failed.

目前gogs的内容是:

[Unit]
Description=Gogs
After=syslog.target
After=network.target

[Service]
Type=simple
User=git
Group=git
WorkingDirectory=/home/git/gogs
ExecStart=/home/git/gogs/gogs web
Restart=always
Environment=USER=git HOME=/home/git

[Install]
WantedBy=multi-user.target

请问我需要怎么做,才能实现 服务启动,和开机启动。


#2

请看我的项目:

这个文件实现了 Gogs 安装:

这个文件实现了 Gogs 服务管理:

开机启动:
echo -e “/data/shell/service/Frps.sh start” >> /etc/rc.d/rc.local


#3

感谢,有systemd 的方式吗。
我贴出来的 gogs.service ,好像看上去没问题,就是不行。
所以想问问。


#4

Gogs我没有用过 systemd 的方式,软件如果提供 rpm 包,建议使用 systemd,没提供的,尽量使用脚本来管理服务启动,防止升级异常


#5

嗯的,就是纠结于为什么不行,因为找不到异常,如果systemd和init两种都行的话,那任取一种是无所谓,但是这种找不到原因的存在,实在有点膈应。


#6

用你的脚本,已经可以了。
感谢。


#7

兄弟,运维上的坑时踩不完嘀,条条大路通罗马,有这些时间上不如多学点其他东西,看看兄弟我,以前学的太杂了,现在找个工作都不容易。


#8

哈哈,不纠结了。
对了,建议加上:

# chkconfig: - 99 2

要不然好像不能 chkconfig gogs on