Django 部署 Apache
我想写一个Python脚本,具体功能如下:
- 在当前目录下创建一个Django项目,并修改
settings.py
和urls.py
文件。 - 执行
syncdb
命令。 - 安装一个新的Apache实例,让它在指定的端口上运行(这个端口是通过命令行参数传入的),并配置WSGI来服务我的项目。
我就是搞不懂怎么实现第三点。
补充说明:
Peter Rowell:
- 我需要这个解决方案能在Linux和Windows上都能用
- 我有管理员权限
- 这是一个专用的主机
- 只使用Apache
2 个回答
1
一种方法是使用Apache的mod_wsgi。安装好之后,你需要创建一个wsgi文件,并把Apache的配置指向这个文件。
下面是一个wsgi文件的示例:
import os
import sys
sys.path.append('/path/to/settings.py')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mydjangoapp.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
然后把这个内容添加到你的Apache配置中(在Linux系统上,配置文件通常在 /etc/apache2/sites-available/default 这个路径下):
<VirtualHost *:1234>
ServerName my.host.name.com
WSGIScriptAlias / /path/to/wsgi/file/django.wsgi
</VirtualHost>
(假设使用的端口是1234)
1
Jacob Kaplan Moss的Django部署工作坊里有一些很不错的例子。你可能还需要自己动手做一些工作,把这些例子自动化成你喜欢的样子,但里面可能有一些东西可以作为你的起点。