前提、いろいろ入ってるよ。
なので足りないものだけしかいれてないよ。
■nginx
% brew install nginx
でするする入ったよ。
% nginx
で実行
http://localhost:8080
で確認。
うん動いたね。
他のコマンド
% nginx -s stop
% nginx -s reload
参考
% nginx -v
nginx version: nginx/1.4.2
以上
■mysql
入れてあるよ。
redmaine用のDB作っておくよ。
mysql -u username -p
mysql> create database redmine default character set utf8;
mysql> quit
はい。DBの準備完了
■redmine
サイトにいってダウンロード
http://www.redmine.org/projects/redmine/wiki/Download
今は2.5.1
好きなとこに解凍
□DB接続情報を設定
redmine/config/database.yml.exampleを複製して
redmine/config/database.ymlを作成
production:
adapter: mysql2
database: redmine
host: localhost
username: username
password: ********
encoding: utf8
databaseはさっきcreateしたdb名
dbに入るためのusernameとパスを指定
□config/configuration.yml の作成
ひとまず、redmineを動かすだけなので、exampleを複製するのみとしておく
redmine/config/configuration.yml.exampleを複製して
redmine/config/configuration.yml
何もノータッチ。
□unicornを使いたい
gem install unicorn
□Gemfileに追加
gem "unicorn"
□uniconrn.rbの作成
redmine/config/unicorn.rb
下記を参照させていただきました。
さくらVPSで nginx + MySQL + Unicorn + Redmine の運用
worker_processes 2
#working_directory /home/www/rails/charag
listen File.expand_path("tmp/unicorn.sock", ENV['RAILS_ROOT'])
pid File.expand_path("tmp/unicorn.pid", ENV['RAILS_ROOT'])
timeout 60
preload_app true # ダウンタイムをなくす
stdout_path File.expand_path("log/unicorn.stdout.log", ENV['RAILS_ROOT'])
stderr_path File.expand_path("log/unicorn.stderr.log", ENV['RAILS_ROOT'])
GC.respond_to?(:copy_on_write_friendly=) and GC.copy_on_write_friendly = true
before_fork do |server, worker|
defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect!
old_pid = "#{server.config[:pid]}.oldbin"
if old_pid != server.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
end
end
sleep 1
end
after_fork do |server, worker|
defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection
end
□Gemパッケージのインストール
bundle install --without development test
□Redmineの初期設定とデータベースのテーブル作成
bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
□まずは動くか確認
% bundle exec unicorn_rails -c config/unicorn.rb -E production -D -p 5001
問題なく動いた。
お試しと言ってもオプションに-Dつけてデーモンとして起動
とめたければ
ps -ef | grep unicorn | grep -v grep で親プロセスを調べて
kill -Quit プロセス番号
□nginxから呼ぶ
/usr/local/etc/nginx/ ここにいるそうな。
/usr/local/etc/nginx/nginx.conf を書き換えた
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:5001/; #追加
}
本当は、直接書き換えたりはせずに、変更して
チェックにかけてエラーを吐かないか確認して
それから上書きして
% nginx -s reload
という事情はすっとばして・・・
http://localhost:8080
でredmineが表示されることを確認。
なるほど。