我在 Digital Ocean Ubuntu 14.04 droplet 上遇到了一个令人困惑的问题。我关闭了 droplet 以拍摄快照,但随后打开服务却没有出现。
尝试重新启动时出现以下错误。
* Restarting web server apache2 mktemp: failed to create file via template ‘/tmp/tmp.XXXXXXXXXX’: Read-only file system
/etc/init.d/apache2: 91: /etc/init.d/apache2: cannot create : Directory nonexistent
[fail]
* The apache2 configtest failed.
我遇到了以下问题,甚至开了一个从未解决的票,所以我将我的 droplet 移至 AWS,并保留了当前没有问题的 droplet。这是我的第 4 个有同样问题的 droplet。
我使用 Symfony 3、WKHTML 来生成 PDF、使用 Sentora 控制面板,最近还运行了 Selenium 来编写 javascript,尽管之前的三个服务器都没有问题。我几乎没有对默认操作系统安装和 Sentora 配置进行任何更改。
您以前遇到过这个问题吗?是如何解决的?
我尝试了所有 fsck 命令和类似帖子中的答案,最后三次都没有成功
编辑
我找到了解决方案,我按照教程操作这里为了强化我的服务器,问题是由以下 fstab 条目引起的:
# Written by the DigitalOcean build process
LABEL=DOROOT / ext4 noatime,errors=remount-ro 0 1
proc /proc proc nodev,noexec,nosuid 0 0
tmpfs /run/shm tmpfs ro,noexec,nosuid 0 0
/usr/tmpDSK /tmp tmpfs loop,nosuid,noexec,rw 0 0
我该如何保护 /tmp 而不在启动时遇到错误?
答案1
您需要sudo mount -a
在重启后执行此操作,就是这样。