与Passenger的Apache不加载Rails应用程序

我正在开发一个Rails应用程序,并试图configuration它部署的Web服务器。 我的问题是,该网页无法加载。

Apacheerror.log没有错误 ,在我的应用程序的log/production.log只有Connecting to database specified by database.yml出现。

我没有在应用程序的公用文件夹index.html和应用程序在开发环境中正常工作。

我正在使用Ubuntu 12.04的Amazon实例,并且已经通过RVM安装了ruby。 在我的httpd.conf中有:

 LoadModule passenger_module /home/ubuntu/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so PassengerRoot /home/ubuntu/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17 PassengerRuby /home/ubuntu/.rvm/wrappers/ruby-1.9.3-p194/ruby 

Apache启动时没有错误。

下面是我的sites-available/default

 # other virtualhosts # <VirtualHost *:80> ServerName my_app.mydomain.com ServerAdmin mail@mail.com DocumentRoot /home/ubuntu/public_html/my_app/current/public <Directory /home/ubuntu/public_html/my_app/current/public> Allow from all Options -MultiViews </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log </VirtualHost> 

我现在应该做什么来让乘客工作?

我决定重新安装Ruby和所有其他的东西,并转移到Nginx。 最后现在我所有的工作(在ngnix和Apache)。 这就是我所做的,如果有人关心:

Ruby + Rails

通过RVM安装ruby + rails

 curl -L https://get.rvm.io | bash -s stable --rails 

在所有打开的shell中加载rvm

 source ~/.rvm/scripts/rvm 

安装宝石

 gem install passenger 

阿帕奇

安装apache和乘客模块

 rvmsudo passenger-install-apache2-module 

将这些行复制到/etc/apache2/httpd.conf

 Loadmodulee passenger_module /home/ubuntu/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17/ext/apache2/mod_passenger.so PassengerRoot /home/ubuntu/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17 PassengerRuby /home/ubuntu/.rvm/wrappers/ruby-1.9.3-p194/ruby 

nginx的

安装nginx和乘客模块

 rvmsudo passenger-install-nginx-module 

将这些行复制到/opt/nginx/conf/nginx.conf

 passenger_root /home/ubuntu/.rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.17; passenger_ruby /home/ubuntu/.rvm/wrappers/ruby-1.9.3-p194/ruby; 

设置一个脚本,让你控制Nginx

 wget -O init-deb.sh http://library.linode.com/assets/660-init-deb.sh sudo mv init-deb.sh /etc/init.d/nginx sudo chmod +x /etc/init.d/nginx sudo /usr/sbin/update-rc.d -f nginx defaults 

现在你可以用这个脚本来控制Nginx了

 sudo /etc/init.d/nginx stop sudo /etc/init.d/nginx start 

最后使用nodejs进行设置

其他的事情之一就是Node.js. 这将帮助您编译部署中的资产

 sudo apt-add-repository ppa:chris-lea/node.js sudo apt-get -y update sudo apt-get -y install nodejs 

我有这个问题的答案是在unicorn.log文件。 这是一个控制器中的语法错误。 你应该查看乘客日志文件