Развертывание старого сайта Django на новый сервер

Мне передали дамп сайта Django, который я пытаюсь помочь восстановить на новом сервере для друга. Я не очень разбираюсь в Django, поэтому мне, вероятно, нужны какие-то глупые ответы для этого. У меня есть дамп базы данных отдельно, но пока я просто пытаюсь восстановить само приложение.

В главном каталоге дампа (/home/naturligvis) есть каталог «public_html» с файлом «hander.wsgi», в котором есть следующий код:

import os
import sys

for path in ('/home/naturligvis/lib/python/PIL/',
         '/home/naturligvis/lib/python/',
         '/home/naturligvis/naturligvis-bzr/modules/',):
if path not in sys.path:
sys.path.insert(0, path)

os.environ['DJANGO_SETTINGS_MODULE'] = 'naturligvis.psisettings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

Теперь я пытаюсь выяснить, какую настройку мне нужно выполнить на сервере (попробую установить Ubuntu 16.04 в DigitalOcean), чтобы все заработало...? Все файлы settings.py и т. д. находятся в /home/naturligvis/naturligvis-bzr/modules/naturligvis.

Надеясь, что кто-то может помочь мне или указать мне в правильном направлении.


person EmilNygaard    schedule 23.08.2017    source источник
comment
Вы читали собственную очень хорошую документацию DigitalOcean именно по этому поводу?   -  person Daniel Roseman    schedule 23.08.2017


Ответы (1)


вы можете попробовать вот так

import os

from django.core.wsgi import get_wsgi_application

import sys   
sys.path.append('/home/naturligvis/naturligvis-bzr/modules/')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "your_project.settings")
application = get_wsgi_application()

если вы используете python2

sudo apt-get установить python-pip apache2 libapache2-mod-wsgi

если вы используете python3

sudo apt-get установить python3-pip apache2 libapache2-mod-wsgi-py3

ваша конфигурация виртуального хоста apache должна быть такой

<VirtualHost *:80>
    ServerName dev.example.com #your server name
    ServerAlias dev.example.com #your server alias

    DocumentRoot #your document root
    WSGIProcessGroup dev.example.com
    WSGIPassAuthorization On
    WSGIDaemonProcess dev.example.com python-home=/home/robert/django/robertenv python-path=/home/robert/django/
    WSGIScriptAlias / /home/robert/django/project/wsgi.py process-group=dev.example.com

    Alias "/uploads" "/home/robert/django/uploads" #uploads directory

    <Directory #your document root>
            Require all granted

            RewriteEngine on
            RewriteCond %{REQUEST_FILENAME} -s [OR]
            RewriteCond %{REQUEST_FILENAME} -l [OR]
            RewriteCond %{REQUEST_FILENAME} -d
            RewriteRule ^.*$ - [NC,L]

            RewriteRule ^(.*) /index.html [NC,L]
    </Directory>

    <Directory /home/robert/django/uploads>
        Require all granted
    </Directory>

    <Directory /home/robert/django/project>
            <Files wsgi.py>
                    Require all granted
            </Files>
    </Directory>

person Robert    schedule 23.08.2017