Развернуть проект Django в подпапке сайта - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть веб-сайт (например, www.example.com) и веб-сервер, и моя цель - загрузить проект Django (уже выполненный на моем домашнем компьютере) в подпапку моего примера веб-сайта. То есть я бы хотел, чтобы мой проект django работал по адресу www.example.com/mynewdjango/. Веб-сервер работает Apache и MySql. Мой проект тоже использует Mysql. Есть ли пошаговое руководство для этого? Спасибо!

Ответы [ 2 ]

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

Чтобы быть более конкретным, приведу еще немного информации:

Мой официальный сайт www.serres.gr (сайт Joomla). Я уже загрузил свой проект Django на официальный веб-сервер, где живет сайт Joomla. Python, pip, django и все зависимости работали нормально.

Сайт joomla находится в пути / var / www / html /. Файл конфигурации Apache 000-default.conf:

    <VirtualHost *:80>
        ServerName www.serres.gr
        DocumentRoot "/var/www/html"
        <Directory "/var/www/html">
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
                Require all granted
        </Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =www.serres.gr
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Проект Django находится в пути /var/www/diplomatiki.

Мой первый вариант - заставить проект django работать по адресу ekloges.mysite.gr. Другой вариант - заставить его работать по адресу www.mysite.gr/ekloges/. Я создал файл django.conf в папке, доступной для сайтов, например:

<VirtualHost *:80>
 ServerName ekloges.serres.gr
 DocumentRoot /var/www/diplomatiki
 WSGIScriptAlias /ekloges /var/www/diplomatiki/diplomatiki/wsgi.py

 # adjust the following line to match your Python path
 WSGIDaemonProcess ekloges.serres.gr  processes=2 threads=15 display-name=%{GROUP} python-home=/var/www/diplomatiki/venv/lib/python3.5
 WSGIProcessGroup ekloges.serres.gr

 <directory /var/www/diplomatiki>
   AllowOverride all
   Require all granted
   Options FollowSymlinks
 </directory>

 Alias /static/ /var/www/diplomatiki/static/

 <Directory /var/www/diplomatiki/static>
  Require all granted
 </Directory>
</VirtualHost>

Наконец, мой файл wsgi.py:

import os
import time
import traceback
import signal
import sys

from django.core.wsgi import get_wsgi_application

sys.path.append('/var/www/diplomatiki')
sys.path.append('/var/www/diplomatiki/diplomatiki')

# adjust the Python version in the line below as needed
sys.path.append('/var/www/diplomatiki/venv/lib/python3.5/site-packages')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "diplomatiki.settings")

try:
    application = get_wsgi_application()
except Exception:
    # Error loading applications
    if 'mod_wsgi' in sys.modules:
        traceback.print_exc()

У меня есть 2 вопроса:

1) Какие изменения я должен внести в файлы, указанные выше, чтобы проект django мог загружаться, как я описал для варианта 1, и какие изменения следует внести для варианта 2 (В данный момент ни один из вариантов не работает)

2) Если я наконец решу загрузить проект django на ekloges.serres.gr (первый вариант), я думаю, мне следует попросить моего интернет-провайдера добавить запись dns для ekloges.serres.gr, это правильно?

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