사용자 도구

사이트 도구


develop:ruby:env

Set Rails Environment

  1. Install ruby 1.8.5 + Apache 2.2.3 + mod_proxy_balancer + mongrel + php5 on Debian (Etch) Linux mongrel 을 설치하기 위해서는 ruby 1.8.4 이상의 버전이어야 한다.
    Debian (Etch) Linux 의 Ruby 버전은 1.8.5 이므로 충족된다.

Install Rails

# gem update --system
# gem install rails --include-dependencies

Install mongrel

# 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

Install MySQL Module for ruby

# 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

Install Apache 2.2.3

# apt-get install apache2.2-common

Install PHP 5

# apt-get install libapache2-mod-php5

Setting Apache2

# 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

Create RAILS웹루트디렉토리

만약 /opt/www/test 라는 RAILS웹루트디렉토리를 만들고 싶다면 다음과 같이 실행한다.

# cd /opt/www
# rails test

mongrel_rails + apache2 실행

# 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 중지

# 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_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

명령으로 기동/중지를 할 수 있습니다.

develop/ruby/env.txt · 마지막으로 수정됨: 2014/04/10 11:25 저자 starlits