Seafile 在 CentOS 下自启动方法(解决数据库连接失败问题)

  小练最近在研究私有云,发现 Seafile 的自启动容易因为 MySQL/MariaDB 未启动完成而失败,所以在网上搜索了问题之后,结合多篇文章和自己的实际经验,得出了一个比较好的自启动方法。

  首先为了更方便使用启动命令,我们添加以下软连接:

ln -s {path_to_seafile}/seafile/seafile-server-latest/seafile.sh /usr/bin/seafile
ln -s {path_to_seafile}/seafile/seafile-server-latest/seahub.sh /usr/bin/seahub

  然后在 /etc 目录下创建一个 seafile.sh 脚本(www是运行的用户名),内容如下:

sleep 10
sudo -u www seafile start > /tmp/seafile.init.log 2>&1
sudo -u www seahub start > /tmp/seahub.init.log 2>&1

  同时运行以下命令赋予该脚本运行权限:

chmod +x /etc/seafile.sh

  最后将以下内容添加到 /etc/rc.local:

sh /etc/seafile.sh

  因为 Linux 貌似正在逐渐弃用 rc.local ,所以默认这个脚本是没有运行权限的,我们给它加上:

chmod +x /etc/rc.local
chmod +x /etc/rc.d/rc.local

  感谢 Seafile开机启动失败的解决办法 提供的帮助。