Laravel Homestead:Vagrant上的Nginx无法启动。需要root密码访问Nginx日志。

4
使用 Laravel Homestead 与 Laravel 4 工作。今天早晨运行了 vagrant up 后,无法访问 homestead.app:8000。我通过 ping 没有问题,因此调查了我的 virtualbox 并发现 Nginx 没有启动。然后我尝试查看日志,但是被 /var/log/nginx 目录所拒绝,该目录由 www-data adm 拥有。

我的问题是,什么是可以让我访问该目录的 su sudo 密码?文档中非常缺乏任何信息,以及 Homestead.app Git 存储库。谢谢。

4个回答

10

我曾遇到与laravel/homestead虚拟机和nginx不重新启动的类似问题。运行nginx -t后出现以下错误:

nginx: [crit] pread() "/etc/nginx/sites-enabled/sites-available" failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

解决方法是删除符号链接sites_available
rm -Rf /etc/nginx/sites-enabled/sites-available

然后它就可以工作了: service nginx restart


这对我有用,除了我有一个node_modules而不是sites-avaiable引起了问题。我认为这是来自cassandra安装的。谢谢! - kobi

7
通过输入sudo -s命令提升为root用户。

6
快速进入root账户的方法是运行"sudo bash"命令。这样,您就不必在每个命令前输入"sudo"。由于此虚拟机用于开发目的,我认为它并不危险。但在真正的生产环境中,Ubuntu会锁定root帐户,因此您应该始终以用户级别权限登录并保留该权限,直到需要执行更高级别的命令。您“可以”启用root帐户并设置密码,但使用sudo跳转到root帐户是更好的方法。

0

您可以使用root帐户密码查看日志。因此:sudo nano,然后只需输入您的root用户密码即可。root能够在系统上执行任何操作,因此这总是解决此类问题的方法。

如果您忘记了root密码,请搜索谷歌以恢复它。


谢谢你的建议。在这种情况下,laravel.com提供了一个预先构建和标准化的虚拟机,成千上万的开发者使用它。它为其他服务(例如MySQL)预定义了密码,但由于某种原因他们没有提供root凭据。 - sparecycle
@deeperDATA 不知道Laravel提供这种东西! - rhbvkleef

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接