J'ai souffert de nombreuses erreurs lors du déploiement sur AWS, j'ai donc décidé de les rassembler dans un article. J'espère que cela aide les débutants comme moi!
J'ai moi-même déployé avec Ruby on Rails, VPC / EC2 (Nginx, Unicorn) / RDS (PostgreSQL) / Route53 / ALB. Articles auxquels il est fait référence lors du déploiement https://qiita.com/naoki_mochizuki/items/f795fe3e661a3349a7ce https://qiita.com/Yuki_Nagaoka/items/1f0b814e52e603613556
Vous pouvez vérifier le processus à l'aide de la commande ps. Articles faisant référence à la commande ps https://eng-entrance.com/linux-command-ps
$ ps -x #Commande pour vérifier le processus en cours d'exécution
Lorsque l'application que vous déployez affiche "nous sommes désolés, mais quelque chose s'est mal passé". Vérifiez s'il y a un problème avec l'application
Environnement serveur/var/www/rails/nom de l'application
$ cd log
$ tail -n 30 production.log
S'il y a une erreur, il y a un problème avec l'application. S'il n'y a pas d'erreur particulière, il est fort possible qu'il y ait un problème avec les paramètres du serveur Web et que le déploiement n'ait pas réussi.
・ Vérifiez si nginx fonctionne
Environnement serveur
$ sudo systemctl status nginx
ʻActive: active (en cours) S'il est affiché comme `, il est démarré.
-Commande de redémarrage
Environnement serveur
$ sudo service nginx restart
-Vérifiez s'il y a une erreur dans le fichier nginx
Environnement serveur
$ sudo nginx -t
Il s'agit d'une commande pratique qui vous indique où l'erreur s'est produite en cas d'erreur. S'il n'y a pas de problème avec le fichier nginx, il sera affiché comme ceci.
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Une commande pour vérifier le journal Unicorn. Je pense qu'une erreur courante est «Déjà en cours d'exécution sur PID: (numéro de processus)», qui se produit lorsqu'il reste des processus indésirables.
Environnement serveur/Annuaire des applications
$ cat log/unicorn.log -n
Commande de confirmation de processus de licorne
Environnement serveur
$ ps -ef | grep unicorn | grep -v grep
Commande pour terminer le processus de licorne Si vous obtenez une erreur «Déjà en cours d'exécution sur PID: (numéro de processus)», vous pouvez résoudre l'erreur en supprimant les processus inutiles avec cette commande.
Environnement serveur
$ kill (Numéro de processus)
Commande pour vérifier si PostgreSQL est en cours d'exécution S'il dit ʻActive: active (en cours) `, il est en cours d'exécution.
Environnement serveur
$ systemctl status postgresql.service
Démarrez PostgreSQL
Environnement serveur
$ sudo systemctl enable postgresql
$ sudo systemctl start postgresql
Lorsque j'ai accédé à l'application déployée avec Google Chrome, j'ai accédé de force à https (lorsque la conversion https n'était pas implémentée) et l'application ne s'est pas ouverte. La solution consistait à supprimer l'historique de Chrome-> Supprimer les données de l'historique de navigation-> Vérifier les images et les fichiers en cache et supprimer les données d'historique.
Vous pouvez vérifier la réponse avec la commande suivante. S'il n'y a pas d'erreur dans le fichier du serveur Web et que la commande curl renvoie une réponse solide, mais redirige vers https, cela peut être le problème.
$ curl http://example.com #http://example.com est le domaine de l'application.
De plus, lors de la connexion via http
Doit être défini sur config.force_ssl = false
.
config/environment/production.rb
$ config.force_ssl = false
Au début, j'ai pensé à convertir en https en éditant le fichier sur le serveur Web, mais je savais qu'il serait plus facile de convertir en https en utilisant un service appelé ALB sur AWS, j'ai donc utilisé ALB. Si vous êtes un débutant et que vous avez du mal à vous convertir en https, je vous recommande personnellement d'utiliser ALB. Vous pouvez utiliser ALB pour rediriger les requêtes http vers https.
[Articles utilisés comme référence pour la conversion https] https://aws.amazon.com/jp/premiumsupport/knowledge-center/elb-redirect-http-to-https-using-alb/ https://dev.classmethod.jp/articles/alb-redirects/ En plus de cela, si vous recherchez "ALB https redirect", vous trouverez de nombreux articles utiles!
Recommended Posts