要使用 Python/Django/MySQL 部署站点,我必须在服务器 (RedHat Linux) 上执行这些操作:
- 安装 MySQLPython
- 安装 ModPython
- 安装 Django(使用 python setup.py install)
- 在 httpd.conf 文件中添加一些指令(或使用 .htaccess)
但是,当我使用 PHP(使用 CodeIgniter)部署另一个站点时,我什么都不用做。我在共享服务器上部署 Django 项目时遇到了一些问题。现在,我的问题是:
- 能否简化Django项目的部署过程?
- 我是不是做得太多了?
- 是否可以省略某些步骤?
- 在共享服务器上部署 Django 站点的最佳方式是什么?
最佳答案
为了简化 Django 部署,我将执行以下操作:
首次服务器配置
- 安装 mod_wsgi它允许您以嵌入式模式或守护进程模式运行。
- 安装 python 和 virtualenv
在您的开发环境中
- 使用虚拟环境。看看mod_wsgi and virtualenv configuration
- 安装 Django 你的 django 版本(使用 python setup.py install)
- 安装你的 python 库
- 开发您的项目
每次要部署
- 将您的虚拟环境复制到生产服务器
- 只需在您的 httpd.conf 文件(或使用 .htaccess)中将一个 Include 指令添加到您项目的 apache 配置中。如 mod_wsgi integration with django 中所述文档,如何配置 Apache 包含文件的一个示例是:
<pre><code>Alias /media/ /usr/local/django/mysite/media/
<Directory /usr/local/django/mysite/media>
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias / /usr/local/django/mysite/apache/django.wsgi
<Directory /usr/local/django/mysite/apache>
Order deny,allow
Allow from all
</Directory>
</code></pre>
自动化部署
- 我会考虑使用 Fabric自动化部署
关于python - 如何以最少的安装工作部署 Django 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313989/