Apache-2.2
使用虛擬主機在 apache 上部署 perl dancer
請原諒我缺乏知識,我只是在這裡學習 linux 管理。
一周前我閱讀了這篇關於設置虛擬主機的文章,然後我安裝並設置
mod_perl
了我的 perl Catalyst應用程序執行良好!然後我嘗試了perl Dancer,對於新手來說,部署似乎並不簡單。
我試圖按照這篇關於在 CGI 環境中部署的文章進行操作,但我可能只是缺少一些非常基本的東西。
問題:我配置了我的伺服器,現在如果我在 chrome 上訪問 www.myapp.com,我得到:
錯誤 324 (net::ERR_EMPTY_RESPONSE):伺服器關閉連接而不發送任何數據。
- 我已經
www.myapp.com
指出了一個Amazon-EC2 Amazon Linux 實例。- 它正在執行 Apache。
- 我有這個文件夾:
/srv/www/myapp.com/
在它下面我有一個MyApp
具有以下目錄結構的文件夾(為簡潔起見,刪除了一些文件):drwxr-xr-x 2 bin lrwxrwxrwx 1 index.cgi -> MyApp/public/dispatch.cgi drwxr-xr-x 2 lib drwxr-xr-x 5 public drwxr-xr-x 3 views
- **$$ Updated $$**我有一個
myapp.com.vhost.conf
下\etc\httpd\sites-enabled\
。我根據使用 cgi 部署的舞者文件將其編輯為如下所示:<VirtualHost *:80> ServerName www.myapp.com DocumentRoot /srv/www/myapp.com/MyApp/public ServerAdmin you@myapp.com <Directory "/srv/www/myapp.com/MyApp/public"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all AddHandler cgi-script .cgi </Directory> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ /dispatch.cgi/$1 [QSA,L] ErrorLog /srv/www/myappp.com/logs/error.log CustomLog /srv/www/myapp.com/logs/access.log combined </VirtualHost>
- 我的本地錯誤日誌上週沒有任何錯誤,訪問日誌只有 google bot 的全部內容。
更新 2:這裡的錯誤日誌
/var/log/httpd/error_log
有多行說:failed to resolve handler MyApp
。有任何想法嗎?我在這裡想念什麼?
虛擬主機設置不是用於執行 cgi 應用程序嗎?我在某個地方做錯了什麼嗎?
所以這個問題很不幸也很簡單。
在
\etc\sites-enabled
我有一個MyApp.conf.backup
. 我假設在重命名後它不會被拾取,但是因為它在那個目錄中並且 conf 文件有一個呼叫ModPerl
.這就是為什麼我不斷得到:
failed to resolve handler MyApp.
我將文件移出,一切正常執行:)