2012-05-14 5 views
0

내 nginx 웹 서버에 svn 서버를 구축했습니다. 내 nginx를 구성 지금svn nginx를 사용하여 커밋 실패 : 경로를 찾을 수 없습니다

 
server { 
     listen 80; 
     server_name svn.mysite.com; 
     location/{ 
     access_log off; 
     proxy_pass http://svn.mysite.com:81; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header Host $host; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     } 
     location ~ \.php$ { 
       fastcgi_pass 127.0.0.1:9000; 
       fastcgi_index index.php; 
       include fastcgi_params; 
     } 
} 

, 난 SVN은어떤 문제 없이 정상적으로을 svn을 공동 수 있으며, 내가 커밋하려고 할 때 오류 얻을 :

 
$svn up 
At revision 1285. 
$ svn info 
Path: . 
URL: http://svn.mysite.com/elpis-repo/crons 
Repository Root: http://svn.mysite.com/elpis-repo 
Repository UUID: 5303c0ba-bda0-4e3c-91d8-7dab350363a1 
Revision: 1285 
Node Kind: directory 
Schedule: normal 
Last Changed Author: alaa 
Last Changed Rev: 1280 
Last Changed Date: 2012-04-29 10:18:34 +0300 (Sun, 29 Apr 2012) 

$svn st 
M  config.php 
$svn ci -m "Just a test, add blank line to config" config.php 
Sending  config.php 
svn: Commit failed (details follow): 
svn: File 'config.php' is out of date 
svn: '/elpis-repo/!svn/bc/1285/crons/config.php' path not found 

내가 시도하는 경우를 포트 81 (아파치 내 proxy_pass) svn 공동 및 다음 svn ci 원활하게 작동합니다! 하지만 그것을 달성하기 위해 nginx 사용할 때 작동하지 않는 이유는 무엇입니까?
어떤 아이디어라도 높이 평가됩니다.

+0

무엇을 '가능하지 않은 경우, 같은 SVN의 REPO 경로에서 파일을 .PHP 잡으려고 PHP 일 전에 빈 위치에 블록을 추가 svn info'는'config.php'가 위치한 디렉토리에서 실행될 때 말합니 까? –

+0

@malenkiy_scot : 질문이 수정되었으며 svn info가 추가되었습니다. – Alaa

답변

0

https://serverfault.com/questions/388835/svn-using-nginx-commit-failed-path-not-found/389021#answer-389021'>QUOTED 서버 고장의 요청이 적발되고
.php $ 위치 블록에 의해 FastCGI를 통해 PHP로 전달됩니다. SVN 요청이 항상 Apache로 프록시되도록해야합니다. 이 가상 호스트에 PHP가 필요하지 않다면, 그 위치 지시어를 삭제하십시오. 특정 경로 아래에 PHP가 필요한 경우 ^/phpstuff /.*. php $와 같이 위치 블록을보다 구체적으로 지정하십시오.

 
location ~ ^/elpis-repo/.*\.php$ {} 


참조 : https://serverfault.com/questions/388835/svn-using-nginx-commit-failed-path-not-found/389021#answer-389021

관련 문제