これまでにMacOSX上に開発環境をNginx + Unicorn + MariaDBで整えてきました。
今回は実際にRailsプロジェクトを作って動くかどうか確認です。
→結果うまく行きました。
目次
Railsプロジェクトを作成(例としてHelloRails)
rails new HelloRails -d mysql
ほんとは、
$ mkdir HelloRails
$ cd HelloRails
$ bundle init
$ vi Gemfile
gem 'rails', '~> 5.1.6'
$ bundle install --path vendor/bundle
$ bundle exec rails new . -d mysql --skip-bundle
とかした方がいいのかな?
Gemfile編集
$ cd HelloRails
$ vi Gemfile
gem 'unicorn', '~> 5.4.0'
#gem 'puma', '~> 3.7'
bundle install
$ bundle install --path vendor/bundle
database.ymlを編集
$ vi config/database.yml
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
socket: /tmp/mysql.sock
timeout: 5000
host: localhost
username: <%= ENV['DB_USERNAME'] %>
password: <%= ENV['DB_PASSWORD'] %>
(以下略)
defaultに入れていますが、developmentとproductionの環境に合わせて調整してしてもOKです。DB_USERNAMEとDB_PASSWADを環境変数に設定しておいて読み込ませるようにすれば、Git等で公開したときも安心ですね。
unicorn.rb作成
$ vi config/unicorn.rb
rails_root = File.expand_path('../../', __FILE__)
worker_processes 2
working_directory rails_root
listen "#{rails_root}/tmp/unicorn.sock"
pid "#{rails_root}/tmp/unicorn.pid"
stderr_path "#{rails_root}/log/unicorn_error.log"
stdout_path "#{rails_root}/log/unicorn.log"
Nginx, Unicorn, MariaDB起動
$ sudo nginx
$ bundle exec unicorn_rails -c config/unicorn.rb -E development -D
$ mysql.server start
Nginxの設定は以前の記事参照
とりあえずScaffoldで必要なファイル作成
$ bundle exec rails generate scaffold book title:text price:integer
$ bundle exec rails db:create
$ bundle exec rails db:migrate
アクセスしてみる
Nginxの設定で8081を指定してるので、localhost:8081/booksにアクセスしてみる。
無事表示されました。よかったよかった。
次は本番環境へのアップですね。
[…] sus4 BlogRails on MacOSX with Nginx + Unicorn + MariaDBhttps://www.b13.app/?p=637これまでにMacOSX上に開発環境をNginx + Unicorn + MariaDBで整えてきました。 今回は実際にRailsプロジェクトを作って動 […]
[…] sus4 BlogRails on MacOSX with Nginx + Unicorn + MariaDBhttps://www.b13.app/?p=637これまでにMacOSX上に開発環境をNginx + Unicorn + MariaDBで整えてきました。 今回は実際にRailsプロジェクトを作って動 […]
[…] sus4 BlogRails on MacOSX with Nginx + Unicorn + MariaDBhttps://www.b13.app/?p=637これまでにMacOSX上に開発環境をNginx + Unicorn + MariaDBで整えてきました。 今回は実際にRailsプロジェクトを作って動 […]