Развертывание Django проекта на Apache / Ubuntu - PullRequest
0 голосов
/ 19 марта 2020

Я пытаюсь развернуть свой Django проект на Apache, но это очень сложно для меня. Я собираюсь объяснить, что я сделал в эти дни, и, возможно, вы увидите ошибку.

1. Аннотации:

Мой проект находится в james / DjangoRFV, и у меня нет виртуальной среды.

Я не уверен, важно ли это, но это django Проект находится на удаленном сервере, к которому я подключаюсь, используя s sh, в частности порт 2222. У меня есть IP-направление, например 172.33.52.8 (не реально).

2. Развертывание на apache:

Сначала я создаю файл виртуального хоста следующим образом:

<VirtualHost *:80>
    ServerAdmin admin@DjangoRFV.localhost
    ServerName DjangoRFV.localhost
    ServerAlias www.DjangoRFV.localhost
    DocumentRoot /home/james/DjangoRFV
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /static /home/james/DjangoRFV/static
    <Directory /home/james/DjangoRFV/static>
        Require all granted
    </Directory>

    Alias /static /home/james/DjangoRFV/media
    <Directory /home/james/DjangoRFV/media>
        Require all granted
    </Directory>

    <Directory /home/james/DjangoRFV/DjangoRFV>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess DjangoRFV python-path=/home/james/DjangoRFV python-home=/home/james/DjangoRFV/env
    WSGIProcessGroup DjangoRFV
    WSGIScriptAlias / /home/james/DjangoRFV/DjangoRFV/wsgi.py
</VirtualHost>

Теперь я включаю файл виртуального хоста.

cd /etc/apache2/sites-available
sudo a2ensite djangoRFV.conf

Некоторые разрешения

sudo ufw allow 'Apache Full'

Проверка синтаксических ошибок:

sudo apache2ctl configtest

3. Изменить wsgi.py:

import os, sys

#path a donde esta el manage.py de nuestro proyecto Django
sys.path.append(‘/home/james/DjangoRFV/’)

#referencia (en python) desde el path anterior al fichero settings.py
#Importante hacerlo así, si hay varias instancias coriendo (en lugar de setdefault)
os.environ[‘DJANGO_SETTINGS_MODULE’] = “DjangoRFV.settings”
#os.environ.setdefault(“DJANGO_SETTINGS_MODULE”, “DjangoRFV.settings”)

#prevenimos UnicodeEncodeError
os.environ.setdefault(“LANG”, “en_US.UTF-8”)
os.environ.setdefault(“LC_ALL”, “en_US.UTF-8”)

#activamos nuestro virtualenv
activate_this = ‘pathToVirtualenv/bin/activate_this.py’
execfile(activate_this, dict(__file__=activate_this))

#obtenemos la aplicación
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Если я напишу в своем домашнем компьютере направление 172.33.52.8:80, появится следующее:

enter image description here

Таким образом, порт 80 правильно открыт. Но если я хочу получить доступ к проекту django, например, 172.33.52.8:80/admin выглядит так:

enter image description here

Пожалуйста, мне нужна помощь, я полагаю, Я делаю много ошибок, но я действительно потерян. Кто-нибудь может мне помочь ??

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