我正在研究Ruby并尝试使用Apache和Passenger在Vagrant上运行this application。如果我在我的本地计算机上运行它,应用程序工作正常,但如果我尝试在Vagrant上运行它,它只显示404“找不到”页面。 我想我的问题是我无法正确编写Vagrantfile和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和乘客)
在/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)
答案 0 :(得分:0)
事实证明,REQUEST_PATH变量在Apache(REQUEST_URI)上有另一个名称,这就是路由器总是回复“Nothing found”的原因。 所以我只是改变了这个变量,现在一切正常。