Seafile for centos7 自启动


#1

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随系统启动

建议增加linux系统“服务开机自动启动”功能。
cenos7配置开机启动不生效
#2

不知怎么,还是不行,我怀疑,建立服务的脚本路径有问题,下课实验一下,对了我用的vi建的,大大我粘贴复制的啊,要求改了还是改了,百度了,这个是centos7自定义服务,。看一下什么地方出了问题。


#3

帖你的service文件来看看


#4

我都删了,不过我的安装路径是/home/seafle/seafile-server-latest pwd命令


#5

还有uaer=我写的是seafile,你如果没有这个用户的话,改成root吧。


#6

已经可以了,感谢你的回复,我理解你的意思错了 输入以下内容(注意修改${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
再次感谢你的经验,


#7

:joy: 可能我写的复杂了。


#8

应该就是这个吧,其他的没得什么了。:joy:


#9

配置成功,感谢

:grinning:

#10

centos 7.4 64位 seafile6.2.5 64bit 按照这么做不行额,知道为什么,只有systemctl start seafile #启动seafile
systemctl stop seafile #停止seafile这两个命令可用,其他的命令就显示Failed to execute operation: Bad message


#11

我按官方安装教程,从没发生过问题,无论6还是7。现在没电脑,等开了电脑我把内容贴出来


#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 #设置自动启动


#13

另外自启动如果报错有可能是基础服务未启动导致的,可以添加:

ExecStartPre=/bin/sleep 10 #delay10秒启动服务


#14

你的OPT漏了