我正在研究Ruby,并尝试使用Apache和乘客在Vagrant上运行此应用程序。如果我在本地计算机上运行它,该应用程序正常工作,但是如果我尝试在Vagrant上运行它,则仅显示404个" Nothing noted"页面。我想我的问题是我无法正确编写所有配置,并正确地编写了Apache。我的应用程序中有404页,因此可以正常运行。但这显示了我尝试输入的任何URL上的404。Vagrantfile包括:
config.vm.box = "ubuntu/trusty32"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.synced_folder "./html/", "/var/www/html"
以及配置(安装Apache2,Ruby 2.3.3,RVM和乘客)
in/etc/apache2/sites-available/000-default.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/public
PassengerRuby /home/vagrant/.rvm/gems/ruby-2.3.3/wrappers/ruby
<Directory /var/www/html/public>
PassengerEnabled on
Allow from all
Options -MultiViews
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
在HTML文件夹中,我还需要Apache文件夹(TMP和Public)
事实证明,request_path变量在apache(request_uri)上具有另一个名称,这就是为什么路由器总是还给"没有找到"的路由器。因此,我只是更改了这个变量,现在一切都起作用。