我已经交了一个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
希望有人可以帮助我或指出我正确的方向。
答案 0 :(得分:0)
你可以这样尝试
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>