AWSのEC2を使ってサーバーを作成⑥
Webサーバ、アプリケーションサーバの設定
EC2のサーバに個人アプリのコードをクローンする準備
ターミナル(EC2)
$ ssh-keygen -t rsa -b 4096 $ cat ~/.ssh/id_rsa.pub
上のコマンドで生成されたSSH公開鍵をGithubにアクセスして登録していきます。
ターミナル(EC2)
$ ssh -T git@github.com
登録できたか確認するコマンドです。
アプリケーションサーバの設定
Unicornをインストールしていきます。
Gemfile
group :production do gem 'unicorn', '5.4.1' end
ターミナル(ローカル)
$ bundle install
config/unicorn.rbを作成します。
unicorn.rb
app_path = File.expand_path('../../', __FILE__) worker_processes 1 working_directory app_path pid "#{app_path}/tmp/pids/unicorn.pid" listen 3000 stderr_path "#{app_path}/log/unicorn.stderr.log" stdout_path "#{app_path}/log/unicorn.stdout.log" timeout 60 preload_app true GC.respond_to?(:copy_on_write_friendly=) && GC.copy_on_write_friendly = true check_client_connection false run_once = true before_fork do |server, worker| defined?(ActiveRecord::Base) && ActiveRecord::Base.connection.disconnect! if run_once run_once = false # prevent from firing again end old_pid = "#{server.config[:pid]}.oldbin" if File.exist?(old_pid) && server.pid != old_pid begin sig = (worker.nr + 1) >= server.worker_processes ? :QUIT : :TTOU Process.kill(sig, File.read(old_pid).to_i) rescue Errno::ENOENT, Errno::ESRCH => e logger.error e end end end after_fork do |_server, _worker| defined?(ActiveRecord::Base) && ActiveRecord::Base.establish_connection end
config/environments/production.rb
config.assets.js_compressor = :uglifier
コメントアウトします。
そして、GitHub Desktopからコミットしてプッシュします。