2012-05-14 65 views
0

我在我的nginx web服務器上構建了svn服務器。我的nginx的配置是使用nginx的svn提交失敗:找不到路徑

 
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 

,如果我嘗試svn合作港口81(我的proxy_pass這是apache),然後svn ci,它會工作順利! 但爲什麼當我使用nginx來完成它時不工作?
任何想法是高度讚賞。

+0

什麼' svn info'說當從config.php所在的目錄運行時? –

+0

@malenkiy_scot:問題已編輯,我已添加svn信息 – Alaa

回答

0

https://serverfault.com/questions/388835/svn-using-nginx-commit-failed-path-not-found/389021#answer-389021'>QUOTED FROM服務器故障
該請求被抓通過您的.php $位置塊,並通過FastCGI傳遞給PHP。您需要確保SVN請求始終代理Apache。如果您不需要此虛擬主機上的PHP,只需刪除該位置指令。如果您需要特定路徑下的PHP,請使位置塊更具體,例如^/phpstuff /.*。php $。如果這是不可能的,PHP一個前添加一個空位置塊捕捉.PHP將svn的路徑下的文件,如:

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


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

相關問題