2017-02-15 25 views
0

我正在学习Ruby,并尝试使用Apache和Passenger在Vagrant上运行this application。如果我在本地计算机上运行该应用程序,该应用程序工作正常,但如果我尝试在Vagrant上运行该应用程序,则该应用程序仅显示404“找不到”页面。 我想我的问题是我无法正确写入Vagrantfile和Apache中的所有配置。我从我的应用程序中获得404页面,因此它可以正常工作。但是它显示404我试图输入的任何URL。 VagrantFile包括:如何使用基于机架的应用程序配置Vagrant + Apache + Passenger?

config.vm.box = "ubuntu/trusty32" 
    config.vm.network :forwarded_port, guest: 80, host: 8080 
    config.vm.synced_folder "./html/", "/var/www/html" 

并且还提供(安装的apache2,红宝石2.3.3,RVM和乘客)

在/etc/apache2/sites-available/000-default.conf

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    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和公众)

+0

你如何运行/启动你的应用程序?你如何访问它? –

+0

我只运行“vagrant up”命令,然后我转到127.0.0.1:8080,apache配置被shell脚本从无业提供改变 –

回答

0

事实证明,该REQUEST_PATH变量对阿帕奇(REQUEST_URI)另一个名字,那我为什么路由器总是回馈“找不到”。 所以我只是改变了这个变量,现在一切正常。

相关问题