2011-05-27 3 views
0

J'essaie de déployer ma première application Rails ici, et je suis coincé sur quelque chose depuis hier soir. Je rencontre des comportements étranges que je ne peux pas expliquer. Je cours Rails, Apache, Phusion Passenger, et pour le moment, SQLite 3. (Je passerai bientôt à MySQL.) Actuellement, il est hébergé sur une tranche EC2 trop petite exécutant Ubuntu Server 11.04 (Natty).Problème de déploiement de l'environnement Rails?

Lorsque je consulte l'adresse de la tranche EC2 dans le navigateur, j'obtiens l'avis Rails 500 par défaut. Voici ce qui est bizarre, cependant. Quand je queue /log/production.log, je vois l'erreur suivante:

ActionView::Template::Error (SQLite3::SQLException: no such table: offers: SELECT "offers".* FROM "offers" WHERE (code = '') ORDER BY created_at desc LIMIT 25 OFFSET 0): 

Alors, j'ai ouvert manuellement la base de données de développement SQLite3, et vu cette table là-dedans. La base de données production, cependant, n'a pas cette table. OK, donc j'obtiens des erreurs avec la base de données de production enregistrée dans le journal de production. L'application doit fonctionner en mode production, n'est-ce pas?

C'est ce qui me lance. Tout d'abord, il fonctionne en mode développement sur ma machine de développement et je n'ai pas modifié les fichiers quand je l'ai déployé. Je n'ai pas non plus utilisé d'outils de déploiement sophistiqués pour le déployer (ce qui a peut-être changé quelque chose à mon insu) - je viens de faire un simple git push.

De plus, j'ajouté ce qui suit à mon httdp.conf VirtualHost config:

RailsEnv development 

Aussi, quand je lance la console de rails, je peux obtenir ce qui suit:

irb(main):002:0> Rails.env 
=> "development" 

Ainsi, l'application vraiment devrait être en cours d'exécution en mode de développement, non? En fait, il semble penser (partiellement) que c'est, non?

Je ne sais pas vraiment ce qui se passe ici, et j'apprécierais vraiment des conseils d'experts.

Merci à tous.

Modifier - Quelques redémarrages du serveur plus tard, et maintenant la chose se bloque lorsque j'essaie de l'afficher dans un navigateur. En outre, Apache semble se bloquer lorsque j'essaie de le redémarrer (d'où le redémarrage du serveur), problème connexe, ou autre problème tout à fait?

Répondre

0

Eh bien, ce n'est pas une réponse 100% satisfaisante pour moi, mais j'ai fait deux choses, et je pense que ça a marché.

J'ai d'abord réinstallé le module Apache passager. Cela peut ou non avoir été nécessaire.

Cela a été la grande chose, cependant: après avoir ajouté la ligne à httpd.conf pour passer l'environnement Rails à Passenger, je crois qu'Apache a redémarré incorrectement. (Au contraire, je crois que je l'ai été remise en marche de manière incorrecte Apache pour toute ma vie!)

J'ai essayé de redémarrer Apache ainsi:

sudo /etc/init.d/apache2 restart 

qui a toujours travaillé pour moi (lors de la programmation PHP), mais ça ne fonctionnait tout simplement pas ici.Apache ne ferait que décrocher au redémarrage.

Ceci, cependant, fonctionne bien:

sudo apachectl restart 

Je vais devoir demander à défaut du serveur ce que la différence significative entre les deux.

J'espère que cela aide quelqu'un.