【问题标题】:Python / Django / Apache2/ WSGI / UserDir / Conda: DjangoPython / Django / Apache2/ WSGI / UserDir / Conda:Django
【发布时间】:2017-01-31 17:06:53
【问题描述】:

我想在 linux 服务器 (Debian) 上运行 2 个 django 应用程序。这两个项目在我的电脑和使用 django 命令runserver 的服务器上运行良好。这是我到目前为止所做的:

我激活了用户目录:

sudo a2enmod userdir

我创建了两个用户:

sudo useradd -g www-data -m user1
sudo useradd -g www-data -m user2su

然后我创建了两个 conda 环境,从一个文件导入,与我的用户同名。我创建了两个目录,将我的 django 项目 /var/www/users/user1 和 /var/www/users/user2 放在其中。

然后我为每个用户创建一个 conf 文件:

sudo nano /etc/apache2/conf-available/user1.conf

内容如下

WSGIDaemonProcess user1 user=user1 home=/var/www/users/user1 processes=1 threads=3 display-name=%{GROUP} python-path=/var/www/users/user1 python-home=/home/developer/anaconda3/envs/user1/lib/python3.4/site-packages
WSGIScriptAlias /~user1 /var/www/users/user1/user1/user1/wsgi.py process-group=user1
WSGISocketPrefix /var/run/wsgi
<Directory /var/www/users/user1>
        WSGIProcessGroup user1
</Directory>

developer是服务器上用于开发的用户。
我还将这些行添加到我的 apache2.conf 文件中:

UserDir disabled
UserDir enabled user1 user2
UserDir /var/www/users
<Directory /var/www/users>
AllowOverride FileInfo AuthConfig Limit
Options +MultiViews +SymLinksIfOwnerMatch +ExecCGI -Includes -Indexes
AddHandler wsgi-script wsgi
Order allow,deny
Allow from all
</Directory>

我尝试使用包管理器或直接从相应 conda 环境中的源安装 wsgi。我总是收到以下错误:

from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'

略高于:

mod_wsgi: Compiled for Python/3.5.1+.
mod_wsgi: Runtime using Python/3.5.2.

你知道我做错了什么吗?

【问题讨论】:

    标签: python django apache wsgi conda


    【解决方案1】:

    通过阅读 mod_wsgi 文档,我获得了最大的成功。 Apache/Python 不通信的原因可能有很多问题,Graham Dumpleton 的 mod_wsgi 文档是最好的资源。

    modwsgi readthedocs install

    你真的需要花时间研究如何为目标操作系统安装 mod_wsgi。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      相关资源
      最近更新 更多