2012-05-06 1 views
0

레일 3.1 앱 (예 : 액세스 URL : http://www.railapp.com/subdomain)에서/suburi 액세스를 허용하는 nginx 웹 서버를 설정하고 있습니다. subrui 이름은 여기에 byop입니다. 우리 레일 문서 루트 서브 디렉토리는/var/www /에 있습니다. 하위 바이리프는/var/www/byop에 있습니다.우분투 12.04에서/suburi로 액세스 할 수 있도록 nginx를 설정하는 방법은 무엇입니까?

  1. 설정 nginx.conf : 여기에 우리가 성공 레일 배포 후 무슨 짓을

    서버 { 80을 듣고; server_name 154.248.209.181; 루트/var/www /; passenger_enabled 사용; rails_env production; passenger_base_uri/byop; }

  2. 은 다음과 같이의/var/www가에서 심볼릭 링크를 만듭니다

    에선 -s은/var/www /에서 byop/전류/공공/var에/www /에서 byop

의 nginx가

했다 중지했다가 다시 시작됩니다. 그러나 금지 된 페이지는 http://154.248.209.181/byop

아래 표시됩니다./var/www 아래의 심볼릭 링크를 확인 했으므로 링크가 나열되어 있지 않습니다 (byop 하위 디렉토리 만). 다음은 ls -li의 출력입니다.

[email protected]:/var/www$ ls -li 
total 4 
9296 drwxrwsr-x 4 ubuntu www-data 4096 May 6 03:12 byop 

위의 설정에는 어떤 문제가 있습니까? 정말 고마워.

답변

1

우리가 발견 한 문제는 2 단계에서 심볼릭 링크를 만드는 것입니다. 서브 디렉토리의 이름과 심볼릭 링크의 이름은 동일합니다. 다른 symlink name을 사용하면 문제가 해결됩니다. 다음은 작업 카피입니다.

1. Setup the nginx.conf: 

server { 
    listen 80; 
    server_name 154.248.209.181; 
    root /var/www/; 
    passenger_enabled on; 
    rails_env production; 
    passenger_base_uri /by; 
} 

2. Create symlink under /var/www as following: 

ln -s /var/www/byop/current/public /var/www/by 

http://154.248.209.181/by이 페이지를 불러옵니다.

+0

symlink가가는 길입니다. –

관련 문제