You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache服务器中为Django应用配置使用virtualenv虚拟环境?

Apache部署Django使用virtualenv虚拟环境配置方案

终端执行source myenv/bin/activate仅作用于当前交互式shell会话,Apache的WSGI进程为独立运行的服务,不会继承当前终端的环境变量,需要在Apache站点配置中显式指定虚拟环境路径,具体操作步骤如下:

步骤1:获取虚拟环境绝对路径

先记录你创建的myenv虚拟环境的绝对路径,比如你在项目根目录/var/www/your_django_project下创建的虚拟环境,绝对路径就是/var/www/your_django_project/myenv,后续配置需要用到该路径。

步骤2:修改Apache站点配置

打开Django对应的Apache站点配置文件,默认存放路径为/etc/apache2/sites-available/你的站点配置.conf,在<VirtualHost>配置块中修改WSGI相关参数,推荐使用mod_wsgi的daemon运行模式,配置示例如下:

<VirtualHost *:80>
    ServerName your-domain.com
    # 其他基础配置省略

    # 指定虚拟环境路径和项目根路径
    WSGIDaemonProcess django_app python-home=/var/www/your_django_project/myenv python-path=/var/www/your_django_project
    WSGIProcessGroup django_app
    WSGIScriptAlias / /var/www/your_django_project/项目同名目录/wsgi.py

    # 静态文件、目录权限等其余配置保持不变
</VirtualHost>

参数说明:

  • python-home:填写你之前记录的虚拟环境绝对路径,告诉mod_wsgi使用该虚拟环境下的Python解释器和依赖包
  • python-path:填写你的Django项目根目录的绝对路径

注意:如果你的虚拟环境使用Python3版本,需要提前安装对应Python3的mod_wsgi模块,Debian/Ubuntu系安装命令为apt install libapache2-mod-wsgi-py3,避免版本不兼容报错

步骤3:重启Apache生效

修改完配置后执行重启命令即可生效:

  • Debian/Ubuntu系:systemctl restart apache2
  • CentOS/RHEL系:systemctl restart httpd

验证配置是否生效

可以在Django视图中添加测试代码,查看当前使用的Python解释器路径:

import sys
from django.http import HttpResponse

def test_python_path(request):
    return HttpResponse(f"当前使用的Python解释器路径:{sys.executable}")

访问对应路由,如果输出路径为/你的虚拟环境路径/bin/python,说明配置成功。

内容的提问来源于stack exchange,提问作者Tom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.22 03:45:00