我在 Debian Wheezy 上运行 nginx、PHP-FPM 和 MySQL。我已经debootstrap
为 中的每个单独的虚拟主机设置了 chroot Jails(使用) /srv/
。一切都像人们预期的那样工作,但每次重新启动后我都必须手动mount --bind /proc /srv/chrootjail/proc
和mount --bind /run/mysqld /srv/chrootjail/run/mysqld
.
这就是为什么我将以下几行添加到/etc/fstab
:
/proc /srv/chrootjail/proc none rw,bind 0 0
/run/mysqld /srv/chrootjail/run/mysqld none rw,bind 0 0
/srv/chrootjail/proc
已正确安装,但/srv/chrootjail/run/mysqld
确实不是我找不到原因。/srv/chrootjail/run/mysqld
尽管/run/mysqld
.不过,mount -a
解决了问题。由于显而易见的原因,这不是我所希望的解决方案。
有人看到我在这里做错了什么吗?
答案1
我对实际情况的了解非常有限mount --bind
,但我想我可能已经弄清楚为什么我会/run/mysqld
特别面临这个问题。我刚刚注意到/run
(以前/var/run
)是一个 tmpfs因此在重新启动期间它会被清空。所以我的猜测是 解析/run/mysqld
时不存在。如果需要的话,/etc/fstab
初始化脚本/etc/init.d/mysql
会检查并创建它:/run/mysqld
# Could be removed during boot
test -e /run/mysqld || install -m 755 -o mysql -g root -d /run/mysqld
作为解决方法,我只是mount -a
在该行之后添加了一条。我想我可以让它在任何地方(?)但在/run
(或/var/run
)内部创建 mysqld 文件夹。然而,如果没有人能告诉我更好的方法来做到这一点,我会坚持这个解决方法。谢谢你的时间!