Инструкция Apache mod_wsgi не используется - PullRequest
2 голосов
/ 30 августа 2010

У меня есть сервер под управлением Ubuntu Lucid 10.04.1 LTS server edition, на котором я хочу развернуть приложение Django при использовании Apache + mod_wsgi. В данный момент Apache выполняет индекс каталога вместо использования моей команды WSGIScriptAlias.

Любые советы, которые будут оценены. Я установил mod_wsgi через aptitude и предполагаю, что «конфигурация модуля» ниже загружает его.

/ и т.д. / apache2 / apache2.conf

#....

# Include module configuration:
Include /etc/apache2/mods-enabled/*.load
Include /etc/apache2/mods-enabled/*.conf

# Include all the user configurations:
Include /etc/apache2/httpd.conf

# Include ports listing
Include /etc/apache2/ports.conf

#....

# Include generic snippets of statements
Include /etc/apache2/conf.d/

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

на сайтах с поддержкой есть два файла, 000-default-backup и мой.

000 по умолчанию резервного копирования

<VirtualHost *:80>
    DocumentRoot /var/www/
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>
</VirtualHost>

шахта

<VirtualHost *:80>
    WSGIDaemonProcess project-production user=me group=me threads=10 python-path=/home/me/virtualenvs/project/lib/python2.6/site-packages

    WSGIScriptAlias /project /home/me/projects/project/releases/current/feedback/apache/feedback.wsgi
 <Directory /home/me/projects/project/releases/current/project/apache>
   WSGIProcessGroup project-production
   Order deny,allow
   Allow from all
</Directory>
</VirtualHost>

Глядя на журнал ошибок, ошибок нет. Поэтому я предполагаю, что что-то в 000-default-backup или apach2.conf говорит: «служи в качестве каталога», а команды WSGI никогда не получают шансов на выполнение. Все пути верны.

Apache имеет версию сервера: Apache / 2.2.14 (Ubuntu).

ETA: Я хочу, чтобы мой сайт работал в подкаталоге, т.е. foo.com/project. (Я не могу легко создать новый поддомен.) Поэтому я хочу, чтобы инструкции VirtualHost для *: 80 были разбиты на несколько файлов. Это возможно?

Ответы [ 3 ]

1 голос
/ 31 августа 2010

ОК, я все заработал.

/ etc / apache2 / apache2.conf

изменить

Include /etc/apache2/sites-enabled/

на

Include /etc/apache2/sites-enabled/000-default-backup

000-default-backup

внизу перед строкой "</VirtualHost>"

add

Include sites-enabled/*.conf

myfile

просто удалите строки "<VirtualHost>" и "</VirtualHost>".

0 голосов
/ 30 августа 2010

Если вы установили через aptitude, вы также можете проверить, есть ли у вас последняя версия mod_wsgi .

0 голосов
/ 30 августа 2010

У вас нет ServerName ни в VirtualHost, поэтому Apache не будет знать, как их различать, и будет просто использовать первый VirtualHost по порядку. Проверьте документацию Apache о необходимых директивах, которые будут использоваться для правильной настройки VirtualHost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...