【问题标题】:Deploying old Django site to new server将旧 Django 站点部署到新服务器
【发布时间】:2018-02-01 01:19:55
【问题描述】:

我收到了一个 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()

现在我想弄清楚我需要在服务器上进行什么样的设置(在 DigitalOcean 上尝试使用 Ubuntu 16.04)才能完成这项工作......?所有的settings.py等文件都在/home/naturligvis/naturligvis-bzr/modules/naturligvis

希望有人可以帮助我或为我指明正确的方向。

【问题讨论】:

  • 您是否阅读过 DigitalOcean 自己关于这方面的非常好的文档?

标签: python django server


【解决方案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 install python-pip apache2 libapache2-mod-wsgi

如果你使用 python3

sudo apt-get install 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-11
    • 1970-01-01
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 2017-09-03
    相关资源
    最近更新 更多