seafile systemctl for Centos7
1. 新建seafile.service文件
vim /etc/systemd/system/seafile.service
输入以下内容(注意修改${seafile_dir}为你的seafile目录)
[Unit]
Description=Seafile
# add mysql.service or postgresql.service depending on your database to the line below
# 如果没有使用memcached则去掉memcached.service
After=network.target mariadb.service memcached.service
[Service]
Type=oneshot
ExecStart=${seafile_dir}/seafile-server-latest/seafile.sh start
# 如果seahub使用了nginx反代,请修改为 ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh start-fastcgi
ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh start
ExecStop=${seafile_dir}/seafile-server-latest/seafile.sh stop
ExecStop=${seafile_dir}/seafile-server-latest/seahub.sh stop
RemainAfterExit=yes
# User 和 Group 如果未建立seafile用户和用户组,则修改为root,否则无法启动.
User=seafile
Group=seafile
[Install]
WantedBy=multi-user.target
2. 运行systemctl daemon-reload使配置生效
systemctl daemon-reload
3. 命令
systemctl start seafile #启动seafile
systemctl stop seafile #停止seafile
systemctl enable seafile #设置seafile随系统启动
systemctl is-enabled seafile #检查seafile是否已经设置为自启动
systemctl disable seafile #关闭seafile随系统启动
1 个赞
不知怎么,还是不行,我怀疑,建立服务的脚本路径有问题,下课实验一下,对了我用的vi建的,大大我粘贴复制的啊,要求改了还是改了,百度了,这个是centos7自定义服务,。看一下什么地方出了问题。
我都删了,不过我的安装路径是/home/seafle/seafile-server-latest pwd命令
还有uaer=我写的是seafile,你如果没有这个用户的话,改成root吧。
已经可以了,感谢你的回复,我理解你的意思错了 输入以下内容(注意修改${seafile_dir}为你的seafile目录) 就是这句,我理解成修改括号里面了,其实是${seafile_dir}把这个全部删了修改,谢谢你的回复,还有我的环境是centos7,新装的,我把我的这个文件贴出来
[Unit]
Description=Seafile
add mysql.service or postgresql.service depending on your database to the line below
如果没有使用memcached则去掉memcached.service
After=network.target mariadb.service memcached.service
[Service]
Type=oneshot
ExecStart=/home/seafle/seafile-server-latest/seafile.sh start
如果seahub使用了nginx反代,请修改为 ExecStart=${seafile_dir}/seafile-server-latest/seahub.sh start-fastcgi
ExecStart=/home/seafle/seafile-server-latest/seahub.sh start
ExecStop=/home/seafle/seafile-server-latest/seafile.sh stop
ExecStop=/home/seafle/seafile-server-latest/seahub.sh stop
RemainAfterExit=yes
User 和 Group 如果未建立seafile用户和用户组,则修改为root,否则无法启动.
User=root
Group=root
[Install]
WantedBy=multi-user.target
再次感谢你的经验,
centos 7.4 64位 seafile6.2.5 64bit 按照这么做不行额,知道为什么,只有systemctl start seafile #启动seafile
systemctl stop seafile #停止seafile这两个命令可用,其他的命令就显示Failed to execute operation: Bad message
aiden
11
我按官方安装教程,从没发生过问题,无论6还是7。现在没电脑,等开了电脑我把内容贴出来
hkear
12
用LZ方法不行,自己研究了一下,方案如下:
[root@localhost ~]# vi /usr/lib/systemd/system/seafile.service
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/seafile/install/seafile.sh start
ExecStart=/seafile/install/seahub.sh start 80
ExecStop=/seafile/install/seafile.sh stop
ExecStop=/seafile/install/seahub.sh stop
[Install]
WantedBy=multi-user.target
:wq!后systemctl daemon-reload #重载配置
systemctl start seafile.service #启动服务
systemctl status seafile.service #查看状态
systemctl stop seafile.service #停止服务
systemctl enable seafile.service #设置自动启动
hkear
13
另外自启动如果报错有可能是基础服务未启动导致的,可以添加:
ExecStartPre=/bin/sleep 10 #delay10秒启动服务