Wenn ich automatisch eine App bereitstelle, die in der lokalen Umgebung einwandfrei funktioniert, tritt in der Produktionsumgebung ein Fehler auf und die Ansicht wird nicht angezeigt Wenn es darum geht, weiß ich nicht, was ich tun soll und ich fühle mich verzweifelt. .. .. Bitte versuchen Sie es in einem solchen Fall als eine der Lösungen.
Melden Sie sich bei ec2 an, geben Sie Befehle manuell ein und löschen und erstellen Sie nur die Datenbank. Danach kann die Seite mithilfe der automatischen Bereitstellung von Capistrano für die Migration angezeigt werden.
Führen Sie nach der Anmeldung bei ec2 zunächst den folgenden Code aus, um die Datenbank in der Produktionsumgebung zu löschen und zu erstellen.
cd /var/www/<%Anwendungsname%>
cd current
rails db:drop RAILS_ENV=production DISABLE_DATABASE_ENVIRONMENT_CHECK=1
rails db:create RAILS_ENV=production
Starten Sie danach Unicorn und MySQL neu. (Langer Code rechts)
ps aux |grep unic
//Ausführungsergebnis (Anzahl ist unterschiedlich)
ec2-user 24327 0.1 11.5 504288 116388 ? Sl 22:46 0:02 unicorn master -c /var/www/<%Anwendungsname%>/current/config/unicorn.rb -E production -D
ec2-user 24334 0.0 12.3 651728 124368 ? Sl 22:46 0:00 unicorn worker[0] -c /var/www/<%Anwendungsname%>/current/config/unicorn.rb -E production -D
kill -9 24327 //Geben Sie die Prozessnummer 24327 für den Master ein
sudo service mysqld restart //Starten Sie MySQL neu
Kehren Sie schließlich zum lokalen Terminal zurück und stellen Sie die automatische Bereitstellung bereit `Die Migration erfolgt zu diesem Zeitpunkt. ``
bundle exec cap production deploy
vollbracht!
Ich habe keine speziellen Operationen durchgeführt, aber es geht darum, die Migrationsfunktion von capistrano zu verwenden. Ich weiß nicht, warum das funktioniert hat, aber es scheint, dass wir immer noch verschiedene Fehler in der Produktionsumgebung ausprobieren müssen. .. ..
Recommended Posts