Django 部署 Apache

1 投票
2 回答
1000 浏览
提问于 2025-04-15 20:15

我想写一个Python脚本,具体功能如下:

  1. 在当前目录下创建一个Django项目,并修改 settings.pyurls.py 文件。
  2. 执行 syncdb 命令。
  3. 安装一个新的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部署工作坊里有一些很不错的例子。你可能还需要自己动手做一些工作,把这些例子自动化成你喜欢的样子,但里面可能有一些东西可以作为你的起点。

http://github.com/jacobian/django-deployment-workshop

撰写回答