# gem update --system # gem install rails --include-dependencies
# gem update --system # gem install mongrel mongrel_cluster --include-dependencies Select which gem to install for your platform (i486-linux) 1. mongrel 1.0.1 (ruby) 2. mongrel 1.0.1 (mswin32) 3. mongrel 1.0 (mswin32) 4. mongrel 1.0 (ruby) 5. Skip this gem 6. Cancel installation > 1 Select which gem to install for your platform (i486-linux) 1. fastthread 1.0 (ruby) 2. fastthread 1.0 (mswin32) 3. fastthread 0.6.4.1 (mswin32) 4. fastthread 0.6.4.1 (ruby) 5. Skip this gem 6. Cancel installation > 1 Building native extensions. This could take a while... Building native extensions. This could take a while... Successfully installed mongrel-1.0.1 Successfully installed fastthread-1.0 Successfully installed gem_plugin-0.2.2 Successfully installed cgi_multipart_eof_fix-2.1 Installing ri documentation for mongrel-1.0.1... Installing ri documentation for gem_plugin-0.2.2... Installing ri documentation for cgi_multipart_eof_fix-2.1... Installing RDoc documentation for mongrel-1.0.1... Installing RDoc documentation for gem_plugin-0.2.2... Installing RDoc documentation for cgi_multipart_eof_fix-2.1... Successfully installed mongrel_cluster-0.2.1
# apt-get install libmysqlclient15-dev # gem install mysql Select which gem to install for your platform (i486-linux) 1. mysql 2.7.3 (mswin32) 2. mysql 2.7.1 (mswin32) 3. mysql 2.7 (ruby) 4. mysql 2.6 (ruby) 5. Skip this gem 6. Cancel installation > 3 Building native extensions. This could take a while... Successfully installed mysql-2.7
# apt-get install apache2.2-common
# apt-get install libapache2-mod-php5
# cd /etc/apache2/mods-enabled # ln -s ../mods-available/rewrite.load rewrite.load
# vi /etc/apache2/sites-available/test <VirtualHost 아이피주소> ServerName PHP도메인이름 DocumentRoot PHP웹루트디렉토리 </VirtualHost> <VirtualHost 아이피주소> ServerName RAILS도메인이름 DocumentRoot RAILS웹루트디렉토리 RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f RewriteCond %{SCRIPT_FILENAME} !maintenance.html RewriteRule ^.*$ /system/maintenance.html [L] RewriteRule ^/$ /index.html [QSA] RewriteRule ^([^.]+)$ $1.html [QSA] RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L] AddOutputFilterByType DEFLATE text/html text/plain text/css BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch bMSIE !no-gzip !gzip-only-text/html </VirtualHost> # cd /etc/apache2/sites-enabled # ln -s ../sites-available/test 001-test
만약 /opt/www/test 라는 RAILS웹루트디렉토리를 만들고 싶다면 다음과 같이 실행한다.
# cd /opt/www # rails test
# mongrel_rails start -d -p 8000 -e production -P log/mongrel-0.pid -c /opt/www/test # mongrel_rails start -d -p 8001 -e production -P log/mongrel-1.pid -c /opt/www/test # mongrel_rails start -d -p 8002 -e production -P log/mongrel-2.pid -c /opt/www/test # /etc/init.d/apache2 start
이렇게 하고 해당 URL을 웹브라우저로 접근해 본다. ^^
# mongrel_rails stop -P log/mongrel-0.pid -c /opt/www/test # mongrel_rails stop -P log/mongrel-1.pid -c /opt/www/test # mongrel_rails stop -P log/mongrel-2.pid -c /opt/www/test
mongrel_cluster를 이용하면 mongrel_rails 시작/중지시 귀찮은 타이핑 수고를 덜 수 있습니다.
# cd /opt/www/test # mongrel_rails cluster::configure -e production -p 8000 -N 3 -c /opt/www/test
위 명령을 실행하면 RAILS_ROOT/config/mongrel_cluster.yml이 만들어지고, 그 후에는
# cd /opt/www/test # mongrel_rails cluster::start # mongrel_rails cluster::stop
명령으로 기동/중지를 할 수 있습니다.