ログってなんぼ

日々のメモです

AWS Elastic Beanstalkでnginxの設定を上書きする

64bit Amazon Linux 2016.03 v2.1.6 running Ruby 2.1 (Puma) での一例

あくまでも一例です。ベストでスマートな方法が他にあるかも。

nginx設定の上書き

Beabstalkが立ち上げたEC2へログインすると

$ ll /etc/nginx/conf.d/webapp_healthd.conf
lrwxrwxrwx 1 root root 54 10月 14 14:07 /etc/nginx/conf.d/webapp_healthd.conf -> /opt/elasticbeanstalk/support/conf/webapp_healthd.conf

conf.dの中にこんな感じのシンボリックリンクがあるので、実体のファイルを任意の内容に書き換えます

files:
  "/opt/elasticbeanstalk/support/conf/webapp_healthd.conf" :
    mode: "000644"
    owner: root
    group: root
    content: |
      upstream my_app {
        server unix:///var/run/puma/my_app.sock;
      }

      server {
        listen 80;
・
・
・
・
・
commands:

  01-relod-nginx:
    command: sudo service nginx reload

Railsアプリケーションなら

root /var/app/current/public;

location /assets {
          alias /var/app/current/public/assets;
        }

など定番の内容を記述することになるのではないかと思います。まあこのあたりは個別の環境に応じて。

設定を記述した後、ファイルの最下部で

  01-relod-nginx:
    command: sudo service nginx reload

nginxをリロードします

とりあえず私はコレでうまく行っています。