我已经为我的django应用购买了VPS。我从来没有部署过django或任何其他应用程序。我已经阅读了一些关于如何使用apache和wsgi以及其他一些选项使用gunicorn,ngix来部署django的教程。对我而言,这一切似乎都非常令人沮丧和难以理解。我想知道如果我通过将debug更改为false来部署我的应用程序,创建数据库,插入它然后只是运行python manage.py runserver my-ip会发生什么。 这是一种不好的做法吗?
答案 0 :(得分:5)
学习如何部署Django项目很容易。
首先,您应该知道如何安装Apache
和mod_wsgi
如果您使用Ubuntu
sudo apt-get install apache2 libapache2-mod-wsgi
或Fedora
(红帽)(未经测试)
yum install httpd mod_wsgi
那么,你应该知道如何将Apache2与你的Django项目联系起来
<VirtualHost *:80>
ServerName example.com
ServerAdmin example@example.com
Alias /media/ /home/tu/blog/media/
<Directory /home/tu/blog/media>
Require all granted
</Directory>
WSGIScriptAlias / /home/tu/blog/blog/wsgi.py
<Directory /path/to/django/project/wsgifile>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
句子WSGIScriptAlias
将Apache2配置与您的Django项目相关联
在Django wsgi.py
文件中,您会看到project.settings
包含,它是如何工作的
以下可能很容易理解它是如何工作的
* .conf - &gt; wsgi.py - &gt; settings.py - &gt; urls.py和apps
只需在Google中搜索ubuntu django server mod_wsgi
,然后自行学习!
答案 1 :(得分:1)
不要在生产中使用开发服务器。只是不要。
至少为枪支服务:
$ pip install gunicorn
$ cd your_project
$ gunicorn project.wsgi # gunicorn now runs locally on port 8000
将nginx(或apache)作为反向代理:
server {
location / {
proxy_pass http://127.0.0.1:8000;
}
}
部署Django(就像任何其他应用程序一样)本身就是一个世界,掌握它需要时间。但是,不要在生产中运行开发服务器。