Apache with Passenger ne charge pas l’application Rails

Je développe une application Rails et j’essaie de configurer le serveur Web sur lequel il est déployé. Mon problème est que la page ne se charge pas.

Dans le error.log d’Apache, il n’y a aucune erreur et dans log/production.log mon application, seule la ou les lignes de Connecting to database specified by database.yml apparaissent.

Je n’ai aucun index.html dans le dossier public de l’application et l’application fonctionne correctement dans l’environnement de développement.

J’utilise une instance Amazon avec Ubuntu 12.04 et j’ai installé ruby ​​via RVM. Dans mon httpd.conf j’ai:

 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 démarre sans erreurs.

Ci-dessous, il y a mes sites-available/default :

 # other virtualhosts #  ServerName my_app.mydomain.com ServerAdmin [email protected] DocumentRoot /home/ubuntu/public_html/my_app/current/public  Allow from all Options -MultiViews  ErrorLog ${APACHE_LOG_DIR}/error.log  

Que dois-je faire maintenant pour que les passagers travaillent?

J’ai décidé de réinstaller Ruby et toutes les autres choses et de passer à nginx. Finalement, je travaille tous (ngnix et apache). C’est ce que j’ai fait si quelqu’un se soucie de:

Rubis + Rails

Installer ruby ​​+ rails via RVM

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

Charger rvm dans toutes les shells ouvertes

 source ~/.rvm/scripts/rvm 

Installer gem

 gem install passenger 

apache

Installer apache et module passager

 rvmsudo passenger-install-apache2-module 

Copiez ces lignes dans /etc/apache2/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 

nginx

Installer nginx et passager module

 rvmsudo passenger-install-nginx-module 

Copiez ces lignes dans /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; 

Configurer un script pour vous permettre de contrôler 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 

Vous pouvez maintenant contrôler Nginx avec ce script

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

Configuration finale avec nodejs

Une des autres choses que vous voudrez est Node.js. Cela vous aidera à comstackr des ressources sur les déploiements

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

J’ai eu le même problème, la réponse était dans le fichier unicorn.log. C’était une erreur de syntaxe dans un contrôleur. Vous devriez regarder dans le fichier journal des passagers