Apache-2.2

使用虛擬主機在 apache 上部署 perl dancer

  • January 2, 2013

請原諒我缺乏知識,我只是在這裡學習 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.

我將文件移出,一切正常執行:)

引用自:https://serverfault.com/questions/461749