我希望使用apache2 mod_wsgi部署多个Django站点(现在说2个 - www.example.com,www.example2.com) . 以下是我在新的Ubuntu 16.04安装中遵循的步骤 .

当我在python3中工作时,我在.bashrc中设置了 alias python=python3

包安装:

apache2 - sudo apt-get install apache2

mod_wsgi - sudo apt-get install libapache2-mod-wsgi-py3

Django(V1.11) - sudo apt-get install python3-django

然后我在里面创建了两个项目

/ var / www /

django-admin startproject example
django-admin startproject example2

然后我为这两个项目做了以下工作( I've mentioned only one, the other one is exactly the same except replacing example with example2

/var/www/example/example/settings.py

ALLOWED_HOSTS = ['example.com', 'www.example.com']

/var/www/example/example/wsgi.py

#os.environ.setdefault("DJANGO_SETTINGS_MODULE", "example.settings")
os.environ["DJANGO_SETTINGS_MODULE"] = "example.settings"

/etc/apache2/sites-available/example.conf

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    ServerAdmin admin@example.com

    DocumentRoot /var/www/example
    WSGIScriptAlias / /var/www/example/example/wsgi.py

    ErrorLog /var/www/example/error.log
</VirtualHost>

另外,我补充说

/etc/apache2/apache2.conf

WSGIPythonPath /var/www/example

我已经为example.conf和example2.conf调用了 a2ensite

一旦我重新启动apache I could now access www.example.com successfully ,但www.example2.com给出了内部服务器错误(500) . 我认为's because I' ve只在apache2.conf中包含了一条WSGIPythonPath路径并将其更改为

/etc/apache2/apache2.conf

WSGIPythonPath /var/www/example:/var/www/example2

但是,我现在得到两者的内部服务器错误(500) .

在这两种情况下,错误消息是 ImportError: No module named example

这是我顺便进行的第一次部署 . Hense我以前没有经验 .

请指导我应该做些什么才能使两个站点都正常运行 .