Нужна помощь в настройке apache .conf файла - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу развернуть свое приложение django на сервере Apache 2.4.На этом же сервере будут размещаться статические файлы.Дело в том, что на этом сервере размещаются другие веб-сайты на основе php.Для того чтобы все это работало, мне просто нужно установить mod_wsgi и настроить файл apache .conf, связанный с этим веб-сайтом, верно?

Прочитав несколько статей, я придумал этот конфиг, предполагая, чточто веб-сайт будет в папке var/www/:

<VirtualHost *:80>
ServerName example.com
#   Alias /events /var/www/events/html
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/example

            Alias /media/ /var/www/example/media/
            Alias /static/ /var/www/example/static/

            <Directory /var/www/example/static>
            Order deny,allow
            Require all granted
            </Directory>

            <Directory /path/to/example/media>
            Order deny,allow
            Require all granted
            </Directory>

            WSGIScriptAlias / /var/www/example/events_promgruz/wsgi.py
            WSGIDaemonProcess example.com python-path=/var/www/example:/opt/envs/lib/python3.6/site-packages
            WSGIProcessGroup example.com

            <Directory /path/to/example/example>
            <Files wsgi.py>
            Order allow,deny
            Require all granted
            </Files>
            </Directory>

    LogLevel debug
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    </VirtualHost>

Что бы вы предложили изменить или добавить в конфигурацию?Есть ли другие шаги, чтобы гарантировать, что приложение django будет работать и не мешать другим приложениям, не относящимся к wsgi?

1 Ответ

0 голосов
/ 24 ноября 2018

Вот что я использовал в итоге:

<VirtualHost *:80>
ServerName expample-domen.com
    ServerAdmin webmaster@localhost
Alias /static /var/www/example/static
Alias /media /var/www/example/media

<Directory /var/www/example/static>
Require all granted
</Directory>

<Directory /var/www/example/media>
    Order deny,allow
    Require all granted
</Directory>

<Directory /var/www/example/example>
<Files wsgi.py>
        Require all granted
    </Files>
</Directory>

    WSGIDaemonProcess example python-home=/path/to/virtualEnv python-path=/var/www/example
    WSGIProcessGroup example
    WSGIScriptAlias / /var/www/example/example/wsgi.py

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
...