【发布时间】: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