はじめに
前回の続きです。 前回はGoogleドメインでサブドメインを作成しました。 今回はデプロイしたRailsアプリにサブドメインを当てていく作業です。
環境
server { listen 0.0.0.0:80; server_name 〇〇.com; proxy_set_header X-Forwarded-Host $host; location / { proxy_pass http://127.0.0.1:3000; } }
ブラウザを開いてみる。
エラー$ tail -f log/production.log
コマンドでlogを見ながらもう一度ブラウザを開いてみる
$ tail -f log/production.log ----省略----- I, [2023-09-12T17:34:24.745938 #37719] INFO -- : [99903f48-ccea-466d-8a71-94dbc2d5caed] Started GET "/" for 127.0.0.1 at 2023-09-12 17:34:24 +0900 F, [2023-09-12T17:34:24.746355 #37719] FATAL -- : [99903f48-ccea-466d-8a71-94dbc2d5caed] [99903f48-ccea-466d-8a71-94dbc2d5caed] ActionController::RoutingError (No route matches [GET] "/"): [99903f48-ccea-466d-8a71-94dbc2d5caed]
RoutingErrorなのでおそらくRails側のRootの設定なのでは?
(ちなみに〇〇.com/my_memos
であれば接続可能だが、パスは含めないで接続できるようにしたい。)
config/routes.rb
を見てみる
ails.application.routes.draw do devise_for :users devise_scope :user do get '/users/sign_out' => 'devise/sessions#destroy' end # Define your application routes per the DSL in https://guides.rubyonrails.org/routing.html # Defines the root path route ("/") # root "articles#index" resources :my_memos, only: [:index, :new, :create, :edit, :update, :destroy, :show] end
rootはドメイン/my_memoなので設定が必要。
config/routes.rb
内コメントアウトされている# root "articles#index"
で設定するようなのでほしいrootに変更する。
root "my_memos#index"
〇〇.comへのリクエストが来たらmy_memos#index
にリダイレクトする。
これでドメインを当てる作業は終了。
まとめ
$ sudo vim /etc/nginx/nginx.conf
とconfig/routes.rb
だけを変更するのみでできました!