Header

  1. View current page

    aproxacs

Profile_img_60x60_01
89

[Rails] Window에서 apache + proxy_balancer 사용하기

apache 설치

apache http home page 에서 apache server 2.2.6을 download해서 설치한다.

 

proxy_balancer module 활성화

apache_root/conf/httpd.conf 파일을 열어서 다음 module을 활성화시킨다.

 

  1. LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
    LoadModule proxy_connect_module modules/mod_proxy_connect.so
    LoadModule proxy_http_module modules/mod_proxy_http.so
    LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
    LoadModule rewrite_module modules/mod_re

 

Virtual Host 설정

www.aproxacs.com 으로 오는 요청은 rails가 처리하도록 하자.

port 기반으로 가상호스트를 설정하는 것은 [Rails] debian에 apache 설치 및 설정 를 참조.

apache_root/conf/httpd.conf을 열어 virtual host 설정 파일을 include한다.

  1. # Virtual hosts
    Include conf/extra/httpd-vhosts.conf

 

apache_root/conf/extra/httpd-vhosts.conf를 열어 virtual host 설정을 한다.

다음은 www.aproxacs.com으로 오는 요청을 proxy_balancer를 통해 mongrel로 보내는 설정이다.

  1. <Proxy balancer://slugger_mongrel_cluster>
        BalancerMember http://127.0.0.1:3001
  2.  BalancerMember http://127.0.0.1:3002
  3. </Proxy>

    <VirtualHost *:80>
        ServerAdmin aproxacs@gmail.com
        DocumentRoot "C:/webroot/slugger/public"
        ServerName www.aproxacs.com
        ServerAlias aproxacs.com

        <Directory "C:/webroot/slugger/public">
          options FollowSymLinks
          AllowOverride None
          Order allow,deny
          Allow from all
        </Directory>

        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://slugger_mongrel_cluster%{REQUEST_URI} [P,QSA,L]

        ErrorLog "C:/webroot/slugger/log/apache_error_log"
    </VirtualHost>

 

mongrel을 window service로 등록하기

mongrel_service gem을 설치한다.

  1. gem install mongrel_service

 

rails application을 service로 등록한다.

  1. mongrel_rails service::install -N slugger8001 -c c:\webroot\slugger -p 8001 -e production

-N : service이름

-c : rails application directory

-p : port

 

x-sendfile 설정

  1. apache download 에서 xsendfile module 을 download한다.
  2. 압축을 풀어서 mod_xsendfile.so 을 Apache2/modules 에 복사한다.
  3. Visual C++ 2005 SP1 Redistributable Package 를 설치한다.(안해도 되는지는 모르겠음. readme에 하라고 나와있으니..)
  4. download : http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en
  5. Apache2/conf/httpd.conf 에 다음을 추가한다.
  1. LoadModule xsendfile_module modules/mod_xsendfile.so
  • Virtual-host 설정에 다음도 추가한다.

    1. XSendFile on
      XSendFileAllowAbove on

x-sendfile의 설명 : http://tn123.ath.cx/mod_xsendfile/

 

파일이 네트웍 드라이브에 있는 경우 동작을 안하네...

 

 

Tags

History

Last edited on 02/15/2008 16:25 by 창

Comments (0)

You must log in to leave a comment. Please sign in.