U-Yuri’s 健忘録

U-Yuri’s 備忘録

プログラミングを勉強しています。アウトプットに活用しているブログです。

②Railsアプリをデプロイするまで【nginx】【puma】

  • nginxのwelcomeメッセージが表示される(自分の作成したアプリではない)

  • $ sudo vim /etc/nginx/nginx.conf 内の設定を変更(include /etc/nginx/sites-enabled/*;コメントアウトに)

 include /etc/nginx/conf.d/*.conf;
        # include /etc/nginx/sites-enabled/*;

        server {
                listen 0.0.0.0:80;
                server_name ik1-343-31774.vs.sakura.ne.jp;
                location / {
                        proxy_pass http://127.0.0.1:80;
                }
        }

今度は違うエラーに

  • もう一度$ sudo vim /etc/nginx/nginx.conf を確認すると、ポート番号が80になっていたので3000に変更
 include /etc/nginx/conf.d/*.conf;
        # include /etc/nginx/sites-enabled/*;

        server {
                listen 0.0.0.0:80;
                server_name ik1-343-31774.vs.sakura.ne.jp;
                location / {
                        proxy_pass http://127.0.0.1:3000; →ここ!!!!!
                }
        }

Railsとつなげた!!!けどMemo_app/db/development/sqlite3というファイルはgithub上にpushされていないためエラー。

  • development(テスト環境)からproduction(本番環境)にしたい。まずは現在の環境を確認してみる。
$ rails console

Loading development environment (Rails 7.0.7.2)
irb(main):001> Rails.env
=> "development"
  • $ export RAILS_ENV=productionで本番環境へ移行(testにするとテスト環境になる)
  • もう一度consoleで確認
$ rails console
/home/debian/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/railties-7.0.7.2/lib/rails/application.rb:576:in `validate_secret_key_base': Missing `secret_key_base` for 'production' environment, set this string with `bin/rails credentials:edit` (ArgumentError)

        raise ArgumentError, "Missing `secret_key_base` for '#{Rails.env}' environment, set this string with `bin/rails credentials:edit`"
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        from /home/debian/.rbenv/versions/3.2.2/lib/ruby/gems/3.2.0/gems/railties-7.0.7.2/lib/rails/application.rb:419:in `secret_key_base'
-------------以下省略---------------------

secret_key_base について

credentials.ymlなどから設定される値で、Rails内の暗号化や証明のキーの元の値として扱われる。

$ vim config/master.key編集(開発環境の中身をコピペして同じものにする) 【参考】
Rails セキュリティガイド - Railsガイド
Rails セキュリティガイド - Railsガイド

  • もう一度productionモードに切り替える
$ rails console

Loading development environment (Rails 7.0.7.2)
irb(main):001> Rails.env
=> "development"
irb(main):002> quit

debian@ik1-343-31774:~/Memo_App_Rails$ export RAILS_ENV=production
debian@ik1-343-31774:~/Memo_App_Rails$ rails console

Loading production environment (Rails 7.0.7.2)
irb(main):001> Rails.env
=> "production"
irb(main):002>
  • db/production.sqlite3を作成するために$ rake db:createを実行する
    (後に説明する$ rake db:migrateでのみでproduction.sqlite3は作成されるのでこの過程は無視しても良い)
$ rake db:create
Created database 'db/production.sqlite3'
  • マイグレーションを実行する(この時にproduction.sqlite3がない場合も作成されるので前述の$ rake db:createは飛ばしても良い)

※productionモードになっているか$ rails cで必ず確認する!!!!

$ rake db:migrate
== 20230903055022 CreateMyMemos: migrating ====================================
-- create_table(:my_memos)
   -> 0.0015s
== 20230903055022 CreateMyMemos: migrated (0.0017s) ===========================

== 20230905042124 DeviseCreateUsers: migrating ================================
-- create_table(:users)
   -> 0.0018s
-- add_index(:users, :email, {:unique=>true})
   -> 0.0006s
-- add_index(:users, :reset_password_token, {:unique=>true})
   -> 0.0005s
== 20230905042124 DeviseCreateUsers: migrated (0.0033s) =======================

== 20230905082822 AddUserIdToMyMemos: migrating ===============================
-- add_reference(:my_memos, :user, {:type=>:integer, :foreign_key=>true})
   -> 0.0140s
== 20230905082822 AddUserIdToMyMemos: migrated (0.0141s) ======================
  • $ sqlite3 db/production.sqlite3コマンドを実行しsqlite3で確認する。
$ sqlite3 db/production.sqlite3

SQLite version 3.40.1 2022-12-28 14:03:47
Enter ".help" for usage hints.
sqlite> .tables
ar_internal_metadata  schema_migrations
my_memos              users
sqlite>

テーブルが作成されているのでOK。

  • $ export RAILS_ENV=production rails sコマンドでproductionモードにし確認
    「お探しのページが見つかりません」のエラー

  • $ tail -f log/production.logでlogを見てみる。

$ tail -f log/production.log
):
[07a783e8-bcae-4adc-9231-0cd2e723dd32]      6:     <%= csrf_meta_tags %>
[07a783e8-bcae-4adc-9231-0cd2e723dd32]      7:     <%= csp_meta_tag %>
[07a783e8-bcae-4adc-9231-0cd2e723dd32]      8:
[07a783e8-bcae-4adc-9231-0cd2e723dd32]      9:     <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
[07a783e8-bcae-4adc-9231-0cd2e723dd32]     10:     <%= javascript_importmap_tags %>
[07a783e8-bcae-4adc-9231-0cd2e723dd32]     11:   </head>
[07a783e8-bcae-4adc-9231-0cd2e723dd32]     12:
[07a783e8-bcae-4adc-9231-0cd2e723dd32]
[07a783e8-bcae-4adc-9231-0cd2e723dd32] app/views/layouts/application.html.erb:9



---------------------



I, [2023-09-10T17:53:07.195479 #32735]  INFO -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4] Started GET "/users/sign_in" for 127.0.0.1 at 2023-09-10 17:53:07 +0900
I, [2023-09-10T17:53:07.196279 #32735]  INFO -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4] Processing by Devise::SessionsController#new as HTML
D, [2023-09-10T17:53:07.197350 #32735] DEBUG -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4]   Rendering layout layouts/application.html.erb
D, [2023-09-10T17:53:07.197418 #32735] DEBUG -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4]   Rendering users/sessions/new.html.erb within layouts/application
I, [2023-09-10T17:53:07.199032 #32735]  INFO -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4]   Rendered users/sessions/new.html.erb within layouts/application (Duration: 1.6ms | Allocations: 1175)
I, [2023-09-10T17:53:07.199475 #32735]  INFO -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4]   Rendered layout layouts/application.html.erb (Duration: 2.1ms | Allocations: 1474)
I, [2023-09-10T17:53:07.199608 #32735]  INFO -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4] Completed 500 Internal Server Error in 3ms (ActiveRecord: 0.0ms | Allocations: 2025)
F, [2023-09-10T17:53:07.200701 #32735] FATAL -- : [8dfb08b7-b49e-417e-9016-7ae21ef003c4]
[8dfb08b7-b49e-417e-9016-7ae21ef003c4] ActionView::Template::Error (The asset "application.css" is not present in the asset pipeline.
):
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]      6:     <%= csrf_meta_tags %>
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]      7:     <%= csp_meta_tag %>
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]      8:
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]      9:     <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]     10:     <%= javascript_importmap_tags %>
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]     11:   </head>
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]     12:
[8dfb08b7-b49e-417e-9016-7ae21ef003c4]
[8dfb08b7-b49e-417e-9016-7ae21ef003c4] app/views/layouts/application.html.erb:9
I, [2023-09-10T17:53:22.151423 #32735]  INFO -- : [a5f0852b-917c-485c-b18f-a42c16c8876c] Started GET "/manager/html" for 127.0.0.1 at 2023-09-10 17:53:22 +0900
F, [2023-09-10T17:53:22.152086 #32735] FATAL -- : [a5f0852b-917c-485c-b18f-a42c16c8876c]
[a5f0852b-917c-485c-b18f-a42c16c8876c] ActionController::RoutingError (No route matches [GET] "/manager/html"):
[a5f0852b-917c-485c-b18f-a42c16c8876c]

https://railsguides.jp/asset_pipeline.html:title

  • $ RAILS_ENV=production rails assets:precompileコマンドをコンパイルするために実行
$ RAILS_ENV=production rails assets:precompile

rails aborted!
Sprockets::ArgumentError: link_tree argument must be a directory
/home/debian/Memo_App_Rails/app/assets/config/manifest.js:4
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)

ここでエラー。エラーの部分は以下。

/home/debian/Memo_App_Rails/app/assets/config/manifest.js:4

どうやら/app/assets/config/manifest.js:4の4行目がおかしいようなので、開発環境(VBで今回開発)の中のファイルを確認してみる。

//= link_tree ../images
//= link_directory ../stylesheets .css
//= link_tree ../../javascript .js
//= link_tree ../../../vendor/javascript .js

開発環境でgithubvendor/をpushしてなく、さくらVPSdebianにクローンした際には側にはvendor/がないために起きたエラー。

  • $ mkdir vendor/javascriptを実行し空のvendor/javascriptをさくらVPS側で作成してみることに。

  • 再度$ RAILS_ENV=production rails assets:precompileを実行しコンパイルする。

$ RAILS_ENV=production rails assets:precompile

I, [2023-09-10T21:09:52.500777 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/manifest-b84bfa46a33d7f0dc4d2e7b8889486c9a957a5e40713d58f54be71b66954a1ff.js
I, [2023-09-10T21:09:52.501109 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/manifest-b84bfa46a33d7f0dc4d2e7b8889486c9a957a5e40713d58f54be71b66954a1ff.js.gz
I, [2023-09-10T21:09:52.501349 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/application-c50e20d231c79707a321097a48c02eb211408367a3cac590bb1ba50776f87cc3.css
I, [2023-09-10T21:09:52.501525 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/application-c50e20d231c79707a321097a48c02eb211408367a3cac590bb1ba50776f87cc3.css.gz
I, [2023-09-10T21:09:52.501690 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/application-37f365cbecf1fa2810a8303f4b6571676fa1f9c56c248528bc14ddb857531b95.js
I, [2023-09-10T21:09:52.501813 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/application-37f365cbecf1fa2810a8303f4b6571676fa1f9c56c248528bc14ddb857531b95.js.gz
I, [2023-09-10T21:09:52.501931 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js
I, [2023-09-10T21:09:52.502019 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/controllers/application-368d98631bccbf2349e0d4f8269afb3fe9625118341966de054759d96ea86c7e.js.gz
I, [2023-09-10T21:09:52.502134 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/controllers/hello_controller-549135e8e7c683a538c3d6d517339ba470fcfb79d62f738a0a089ba41851a554.js
I, [2023-09-10T21:09:52.502222 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/controllers/hello_controller-549135e8e7c683a538c3d6d517339ba470fcfb79d62f738a0a089ba41851a554.js.gz
I, [2023-09-10T21:09:52.502327 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/controllers/index-2db729dddcc5b979110e98de4b6720f83f91a123172e87281d5a58410fc43806.js
I, [2023-09-10T21:09:52.502410 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/controllers/index-2db729dddcc5b979110e98de4b6720f83f91a123172e87281d5a58410fc43806.js.gz
I, [2023-09-10T21:09:52.502512 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/turbo-4851a9a0b1d947e810dfd0448a72aef261d455183ebea681f4f28a73640a9ece.js
I, [2023-09-10T21:09:52.502591 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/turbo-4851a9a0b1d947e810dfd0448a72aef261d455183ebea681f4f28a73640a9ece.js.gz
I, [2023-09-10T21:09:52.502692 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/turbo.min-f309baafa3ae5ad6ccee3e7362118b87678d792db8e8ab466c4fa284dd3a4700.js
I, [2023-09-10T21:09:52.502777 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/turbo.min-f309baafa3ae5ad6ccee3e7362118b87678d792db8e8ab466c4fa284dd3a4700.js.gz
I, [2023-09-10T21:09:52.502884 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/turbo.min.js-8bc8f4a58d1c106d58dec8bef6c638ff12ff4d078f19d8ebd8c4277f4c9bc85a.map
I, [2023-09-10T21:09:52.502969 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/turbo.min.js-8bc8f4a58d1c106d58dec8bef6c638ff12ff4d078f19d8ebd8c4277f4c9bc85a.map.gz
I, [2023-09-10T21:09:52.503071 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/actiontext-28c61f5197c204db043317a8f8826a87ab31495b741f854d307ca36122deefce.js
I, [2023-09-10T21:09:52.503167 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/actiontext-28c61f5197c204db043317a8f8826a87ab31495b741f854d307ca36122deefce.js.gz
I, [2023-09-10T21:09:52.503270 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/trix-1563ff9c10f74e143b3ded40a8458497eaf2f87a648a5cbbfebdb7dec3447a5e.js
I, [2023-09-10T21:09:52.503353 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/trix-1563ff9c10f74e143b3ded40a8458497eaf2f87a648a5cbbfebdb7dec3447a5e.js.gz
I, [2023-09-10T21:09:52.503454 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/trix-ac629f94e04ee467ab73298a3496a4dfa33ca26a132f624dd5475381bc27bdc8.css
I, [2023-09-10T21:09:52.503537 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/trix-ac629f94e04ee467ab73298a3496a4dfa33ca26a132f624dd5475381bc27bdc8.css.gz
I, [2023-09-10T21:09:52.503640 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/es-module-shims-69d0cb4dc1d01c9dc2ed52f2ab66874fd545fe7e35c7841009b4e8c55f231dee.js
I, [2023-09-10T21:09:52.503723 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/es-module-shims-69d0cb4dc1d01c9dc2ed52f2ab66874fd545fe7e35c7841009b4e8c55f231dee.js.gz
I, [2023-09-10T21:09:52.503829 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js
I, [2023-09-10T21:09:52.503913 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/es-module-shims.min-4ca9b3dd5e434131e3bb4b0c1d7dff3bfd4035672a5086deec6f73979a49be73.js.gz
I, [2023-09-10T21:09:52.504017 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/es-module-shims.js-c69f1a5dd068dfc08a4cedc0ad77b792985bf256e162852bd03cdf764b666c4a.map
I, [2023-09-10T21:09:52.504109 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/es-module-shims.js-c69f1a5dd068dfc08a4cedc0ad77b792985bf256e162852bd03cdf764b666c4a.map.gz
I, [2023-09-10T21:09:52.504217 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-f75215805563870a61ee9dc5a207ce46d4675c7e667558a54344fd1e7baa697f.js
I, [2023-09-10T21:09:52.504302 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-f75215805563870a61ee9dc5a207ce46d4675c7e667558a54344fd1e7baa697f.js.gz
I, [2023-09-10T21:09:52.504407 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-autoloader-c584942b568ba74879da31c7c3d51366737bacaf6fbae659383c0a5653685693.js
I, [2023-09-10T21:09:52.504491 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-autoloader-c584942b568ba74879da31c7c3d51366737bacaf6fbae659383c0a5653685693.js.gz
I, [2023-09-10T21:09:52.504596 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-importmap-autoloader-db2076c783bf2dbee1226e2add52fef290b5d31b5bcd1edd999ac8a6dd31c44a.js
I, [2023-09-10T21:09:52.504679 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-importmap-autoloader-db2076c783bf2dbee1226e2add52fef290b5d31b5bcd1edd999ac8a6dd31c44a.js.gz
I, [2023-09-10T21:09:52.504832 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js
I, [2023-09-10T21:09:52.509612 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js.gz
I, [2023-09-10T21:09:52.509766 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js
I, [2023-09-10T21:09:52.509866 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus.min-dd364f16ec9504dfb72672295637a1c8838773b01c0b441bd41008124c407894.js.gz
I, [2023-09-10T21:09:52.509999 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-autoloader-c584942b568ba74879da31c7c3d51366737bacaf6fbae659383c0a5653685693.js.gz
I, [2023-09-10T21:09:52.510254 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-importmap-autoloader-db2076c783bf2dbee1226e2add52fef290b5d31b5bcd1edd999ac8a6dd31c44a.js.gz
I, [2023-09-10T21:09:52.513644 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js
I, [2023-09-10T21:09:52.513752 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus-loading-3576ce92b149ad5d6959438c6f291e2426c86df3b874c525b30faad51b0d96b3.js.gz
I, [2023-09-10T21:09:52.513873 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus.min.js-2cc63625fa177963b45da974806e7aee846cbf1d4930815733d0fdf3fb232325.map
I, [2023-09-10T21:09:52.513968 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/stimulus.min.js-2cc63625fa177963b45da974806e7aee846cbf1d4930815733d0fdf3fb232325.map.gz
I, [2023-09-10T21:09:52.514079 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/activestorage-3ab61e47dd4ee2d79db525ade1dca2ede0ea2b7371fe587e408ee37b7ade265d.js
I, [2023-09-10T21:09:52.514188 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/activestorage-3ab61e47dd4ee2d79db525ade1dca2ede0ea2b7371fe587e408ee37b7ade265d.js.gz
I, [2023-09-10T21:09:52.514301 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/activestorage.esm-01f58a45d77495cdfbdfcc872902a430426c4391634ec9c3da5f69fbf8418492.js
I, [2023-09-10T21:09:52.514392 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/activestorage.esm-01f58a45d77495cdfbdfcc872902a430426c4391634ec9c3da5f69fbf8418492.js.gz
I, [2023-09-10T21:09:52.514503 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/actioncable-5433453f9b6619a9de91aaab2d7fc7ff183e5260c0107cbc9a1aa0c838d9a74e.js
I, [2023-09-10T21:09:52.514596 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/actioncable-5433453f9b6619a9de91aaab2d7fc7ff183e5260c0107cbc9a1aa0c838d9a74e.js.gz
I, [2023-09-10T21:09:52.514708 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/actioncable.esm-e01089c3ec4fe7817fa9abcad06cab6bdc387f95f0ca6aab4bf7ba7537f70690.js
I, [2023-09-10T21:09:52.514798 #33733]  INFO -- : Writing /home/debian/Memo_App_Rails/public/assets/actioncable.esm-e01089c3ec4fe7817fa9abcad06cab6bdc387f95f0ca6aab4bf7ba7537f70690.js.gz

エラーがない為OK。いろんなファイルが作成された。

  • サーバーをリフレッシュしブラウザで確認
    TOP画面は無事表示された!!!!!!が、今度はCSSが効いていない( ;∀;)

  • Railsガイドを見てみる


抜粋元:アセットパイプライン - Railsガイド

config.public_file_server.enabled = true
  • ブラウザで確認 CSSが反映された!ちょっとおかしい表記あるけどそれは最後に直すとする。

  • しかしいざログインしようとするとできない。ブラウザの検証ツールでconsoleを見てみるとusers/sign_inでHTTPエラー。dbに接続できていない。

  • $ tail -f log/production.logでlogを確認

W, [2023-09-10T22:57:39.526874 #33934]  WARN -- : [ecb2b202-e442-4402-9a2e-f8ec8a5b7af2] HTTP Origin header (http://ik1-343-31774.vs.sakura.ne.jp) didn't match request.base_url (http://127.0.0.1:3000)
I, [2023-09-10T22:57:39.527261 #33934]  INFO -- : [ecb2b202-e442-4402-9a2e-f8ec8a5b7af2] Completed 422 Unprocessable Entity in 1ms (ActiveRecord: 0.0ms | Allocations: 379)
F, [2023-09-10T22:57:39.527969 #33934] FATAL -- : [ecb2b202-e442-4402-9a2e-f8ec8a5b7af2]
[ecb2b202-e442-4402-9a2e-f8ec8a5b7af2] ActionController::InvalidAuthenticityToken (HTTP Origin header (http://〇〇.vs.sakura.ne.jp) didn't match request.base_url (http://127.0.0.1:3000)):
 ActionController::InvalidAuthenticityToken (HTTP Origin header (http://〇〇.sakura.ne.jp) didn't match request.base_url (http://127.0.0.1:3000)):

host(127.0.0.1)とorigin(http://〇〇.sakura.ne.jp)と違うのでここを合わせる必要がある。 そのために以下を実行していく。

プロキシ設定(nginx)

  • Nginxをリバースプロキシとして利用するために/etc/nginx/conf.dで設定が必要。proxy_set_header X-Forwarded-Host $host;を追記し新しいheaderを作成したうえでドメインを書き換え合わせる。
 server {
                listen 0.0.0.0:80;
                server_name 〇〇.vs.sakura.ne.jp;
                proxy_set_header X-Forwarded-Host $host;
                location / {
                        proxy_pass http://127.0.0.1:3000;
                }
        }

参考: Nginxによるリバースプロキシの設定方法 - Qiita

  • $ sudo systemctl reload nginxでnginxを再起動

  • $ tail -f log/production.logコマンドを実行しログを見ながら再度ブラウザで新規登録~ユーザログインまでテストしてみる。

これでちゃんとログイン・新規登録までできました! 次回はドメイン当てていきます。