【发布时间】:2016-10-01 23:42:15
【问题描述】:
我正在尝试在我的 RedHat 服务器上部署我的本地 Django 项目。所以我安装了我需要的所有库和依赖项(还有 mod_wsgi)。
所以,我编辑我的项目设置并将我的本地项目移动到服务器。但我面临一个问题:当我尝试访问我的项目的 URL 时,我有资源管理器视图。
我还编辑了 httpd.conf 文件:
WSGIScriptAlias /var/www/html/virtualEnv/ /var/www/html/virtualEnv/ThirdPartyApplications/ThirdPartyApplications/wsgi.py
WSGIPythonPath /var/www/html/virtualEnv/ThirdPartyApplications/:/var/www/html/virtualEnv/lib/python2.7/site-packages
WSGIDaemonProcess http://licops.app.ale-international.com/ python-path=/var/www/html/virtualEnv/ThirdPartyApplications/:/var/www/html/virtualEnv/lib/python2.7/site-packages
WSGIProcessGroup http://licops.app.ale-international.com/
<Directory /var/www/html/virtualEnv/ThirdPartyApplications/>
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
编辑:@FlipperPA
到目前为止,我正在 /etc/httpd/conf.d/djangoproject.conf 中运行这个 conf:
WSGISocketPrefix /var/run/wsgi
NameVirtualHost *:448
Listen 448
ServerName http://server.name-international.com
ErrorLog /home/myuser/apache_errors.log
WSGIDaemonProcess MyApp python-path=/var/www/html/MyApp:/var/www/html/MyApp/MyApp/lib/python2.7/site-packages
WSGIProcessGroup MyApp
WSGIScriptAlias /MyApp /home/user/MyApp/MyApp/wsgi.py
Alias /static /var/www/html/MyApp/MyApp/static
【问题讨论】:
-
您运行的是什么版本的 RHEL 和 Apache?这会影响答案,因为 Apache 2.4 的配置发生了变化。
-
@FlipperPA 我正在运行 Apache 2.2.15 和 RHEL 6.8
-
完成了@FlipperPA
-
您需要跟踪两个主要目录树:(1)您的 virtualenv; (2) 你的 Django 项目。在
WSGIDaemonProcess指令中,python-path应该指向您的virtualenv 的根目录。然后你的WSGIScriptAlias应该指向你的Django 项目中的wsgi.py。您的 virtualenv 托管在哪个目录中?看起来您的python-path声明包括您的 Django 项目和系统 Python,但不包括您的 virtualenv? -
@FlipperPA 我的 virtualenv 托管在 /home/myuser/virtualenv 但我的 django 项目位于 /var/www/html/myproject。我明白你说的,我会努力的;)
标签: python django apache mod-wsgi redhat