カゴヤのVPSにRedmine, Unicorn, Nginxをインストールしたメモ
Redmine のインストール
http://redmine.jp/guide/RedmineInstall/ を参考にがんばる
config/database.yml.example を database.yml にリネーム
database.yml の mysql を mysql2 に変更
gem の mysql2 のために mysql-server, client, devel などのパッケージをインストール
gem の rmagick のために imagemagick, libmagick++-dev などのパッケージのインストール
bundle install --without development test postgresql sqlite で依存 gem のインストール
rake db:migrate でテーブル作成
rails s でウェブサーバー立ち上げ
Unicorn のインストール
http://d.hatena.ne.jp/milk1000cc/20100804/1280893810 を参考にした
Gemfile に gem "unicorn" の追加
bundle install でインストール
vi config/unicorn.rb で設定作成
# ワーカーの数 worker_processes 2 # capistrano 用に RAILS_ROOT を指定 working_directory "/path/to/redmine-2.2.1" # ソケット listen '/path/to/redmine-2.2.1/tmp/sockets/unicorn.sock' # ログ stderr_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT']) stdout_path File.expand_path('log/unicorn.log', ENV['RAILS_ROOT']) # ダウンタイムなくす preload_app true before_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.connection.disconnect! old_pid = "#{ server.config[:pid] }.oldbin" unless old_pid == server.pid begin # SIGTTOU だと worker_processes が多いときおかしい気がする Process.kill :QUIT, File.read(old_pid).to_i rescue Errno::ENOENT, Errno::ESRCH end end end after_fork do |server, worker| defined?(ActiveRecord::Base) and ActiveRecord::Base.establish_connection end
Nginx のインストール
Unicorn と同じページを参考にした
sudo aptitude install nginx
sudo vi /etc/nginx/sites-available/redmine で設定作成
upstream redmine { server unix:/path/to/redmine-2.2.1/tmp/sockets/unicorn.sock; } server { listen 8000; root /path/to/redmine-2.2.1/public; error_log /path/to/redmine-2.2.1/log/error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; if (!-f $request_filename) { proxy_pass http://redmine; } } location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ { expires 1y; add_header Cache-Control public; # http://guides.rubyonrails.org/asset_pipeline.html#server-configuration # add_header Last-Modified ""; # add_header ETag ""; log_not_found off; } # for Rails3.1 location ~ ^/assets|system/ { expires 1y; add_header Cache-Control public; # add_header Last-Modified ""; # add_header ETag ""; log_not_found off; } }
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/redmine で設定の有効化
sudo /etc/init.d/nginx start で起動
http://IP_ADDRESS:8000/ で動作確認