Ruby on RailsをNginxで起動
Ruby on RailsアプリケーションをNginxで起動するには、一例として以下の手順を実行します。
1. Ruby on Railsアプリケーションの準備
Railsアプリケーションを作成して、必要な依存関係をインストールします。
gem install rails
rails new myapp
cd myapp
bundle install
2. Pumaサーバーの設定
Nginxをフロントエンドとして使用し、Pumaをバックエンドのアプリケーションサーバーとして使います。
GemfileにPumaを追加します。
gem 'puma'
Pumaの設定ファイルを生成して設定を変更します。
bundle exec puma config/puma.rb
config/puma.rbファイルの内容を確認し、必要に応じて編集します。
3. Nginxのインストールと設定
Nginxをインストールします。
sudo apt update sudo apt install nginx
Nginxの設定ファイルを編集します。
デフォルトの設定ファイルをバックアップして、新しい設定を作成します。
sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/myapp
sudo vim /etc/nginx/sites-available/myapp
設定ファイルに以下の内容を追加します。
server { listen 80; server_name your_domain.com; root /path/to/myapp/public; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location ~ ^/assets/ { expires max; gzip_static on; } }
設定ファイルを保存して閉じます。
Nginxの設定をテストして、問題がなければNginxを再起動します。
sudo nginx -t sudo systemctl restart nginx
4. Pumaの起動
Pumaサーバーを起動します。
bundle exec puma -C config/puma.rb
これで、NginxがPumaサーバーをリバースプロキシして、Railsアプリケーションを提供します。