我正在更改网站的域名。在一段时间内,我希望旧域名和新域名指向该站点。我正在运行Python Django网站。
我原来的Apache2配置工作正常,基础是:
<VirtualHost *:80>
ServerAdmin name@gmail.com
ServerName originalsite.co.uk
ServerAlias www.originalsite.co.uk
DocumentRoot /var/www/originalsite
WSGIDaemonProcess originalsite python-path=/var/www/originalsite:/var/www/originalsite/env/lib/python2.7/site-packages
WSGIProcessGroup originalsite
WSGIScriptAlias / /var/www/originalsite/originalsite/wsgi.py
...
</VirtualHost>
我设置了一个新的配置文件,只有以下更改:
ServerName newsite.co.uk
ServerAlias www.newsite.co.uk
我收到以下错误:
名称重复以前的WSGI守护程序定义。
我该如何解决这个问题?谢谢你的帮助
答案 0 :(得分:12)
更改originalsite
名称
不在目录地址中,只是名称
WSGIDaemonProcess somethingelse python-path=/var/www/originalsite:/var/www/originalsite/env/lib/python2.7/site-packages
和
WSGIProcessGroup somethingelse
答案 1 :(得分:6)
如果在使用certbot
命令安装多个“让我们加密证书”时遇到此问题,则可能是由于certbot
中的某些错误所致。如here所述,您可以通过快速的解决方法进行评论
WSGIScriptAlias
WSGIDaemonProcess
WSGIProcessGroup
运行certbot
命令,然后删除注释。
答案 2 :(得分:4)
错误的原因是因为mod_wsgi守护程序进程组的名称在整个Apache安装中必须是唯一的。不能在不同的VirtualHost
定义中使用相同的守护程序进程组名称。在确定在某些情况下引用守护程序进程组时,这是必要的,以避免冲突。
答案 3 :(得分:2)
我通过在 /etc/apache2/sites-enabled/000-default.conf
# WSGIDaemonProcess
# WSGIProcessGroup
# WSGIScriptAlias
然后重新加载/重启 Apache2。
我将它们保留在 /etc/apache2/sites-enabled/default-ssl.conf
中,因为它在 HTTP(非 SSL)和 HTTPS (SSL) 中重复
答案 4 :(得分:0)
我对Apache2配置有同样的问题。 就我而言,我在/ etc / apache2 / sites-enabled中复制了000-default.conf文件。
首先,我在Linux中查找“ WSGIDaemon”字符串:
grep -iRl "WSGIDaemon" ./
第二次分析每一行。我在/etc/apache2/sites-enabled/000-default-copy.conf
上找到了重复的文件。删除后,检查语法:
sudo apachectl configtest
返回“语法正确”。我花了这4个小时...我希望有人用这个:)