Простите за незнание, я здесь только изучаю администрирование Linux.
Неделю назад я прочитал эту статью о настройке виртуальные хосты, Я затем установил и настроил mod_perl
и мой Perl Катализатор приложение работало хорошо!
Я тогда попробовал Perl Dancer, и кажется, что развертывание не так уж и просто для новичка.
Я пытался следить за этим статья о развертывании в средах CGI но я, вероятно, просто упускаю что-то довольно простое.
Эта проблема : Я настроил свой сервер, и теперь, если я перейду на сайт www.myapp.com на Chrome, я получаю:
Ошибка 324 (net :: ERR_EMPTY_RESPONSE): сервер закрыл соединение, не отправив никаких данных.
www.myapp.com
указал на Amazon-EC2 Экземпляр Amazon Linux. У меня есть эта папка: /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
[Обновлено] у меня есть 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.
Обновление 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.
Я вынул файл, и все заработало :)