<DAY99>Nginxの導入(WEBサーバー)
*学習状況
●学習日数 99日
●学習時間(本日)11時間
●累計学習時間 442時間
●一日あたりの平均学習時間 4.46時間
要点まとめ
アプリケーションサーバとは、動的なコンテンツを生成し、処理結果をWebサーバの返すプログラム アプリケーションサーバには2つの役割が存在する Webサーバから依頼された情報を元に、動的なコンテンツの生成を行う。 処理結果を、Webサーバに返す処理 Unicornはアプリケーションサーバの一種 NginxはWebサーバの一種
ターミナル(サーバ)
$ sudo yum install nginx
エディタを開いて
$ sudo vim /etc/nginx/conf.d/rails.conf
rails.conf
upstream app_server { # Unicornと連携させるための設定。アプリケーション名を自身のアプリ名に書き換えることに注意。 server unix:/var/www/<アプリケーション名>/tmp/sockets/unicorn.sock; } # ()で囲った部分をブロックと呼ぶ。サーバーの設定ができる server { # このプログラムが接続を受け付けるポート番号 listen 80; # 接続を受け付けるリクエストURL ここに書いていないURLではアクセスできない server_name <Elastic IP>; # 接続が来た際のrootディレクトリ root /var/www/<アプリケーション名>/public; # assetsファイル(CSSやJavaScriptのファイルなど)にアクセスが来た際に適用される設定 location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @unicorn; location @unicorn { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app_server; } error_page 500 502 503 504 /500.html; }
POSTメソッドでもエラーが出ないようにする
[ec2-user@ip-172-31-25-189 ~]$ cd /var/lib [ec2-user@ip-172-31-25-189 lib]$ sudo chmod -R 775 nginx
。Nginxを再起動して設定ファイルを再読み込み
[ec2-user@ip-172-31-25-189 ~]$ sudo service nginx restart