使用mod_wsgi apache linux部署多个django站点

时间:2017-07-20 08:39:41

标签: django apache ubuntu mod-wsgi internal-server-error

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

我在.bashrc中设置alias python=python3,因为我在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

然后我为这两个项目做了以下(我只提到了一个,另一个是完全相同的,除了用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 我现在可以成功访问www.example.com ,但www.example2.com会出现内部服务器错误(500)。我认为那是因为我在apache2.conf中只包含了一条WSGIPythonPath路径并将其更改为

  

/etc/apache2/apache2.conf中

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

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

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

顺便说一句,这是我的第一次部署。 Hense我以前没有经验。

请指导我应该做些什么才能使这两个网站正常运行。

0 个答案:

没有答案