使用相同代码服务2个django站点
我使用apache配置为django站点提供apache和wsgi服务,如下所示:使用相同代码服务2个django站点,django,apache,wsgi,Django,Apache,Wsgi,我使用apache配置为django站点提供apache和wsgi服务,如下所示: Alias /media/ /var/www/media/ Alias /files/ /var/www/files/ WSGIDaemonProcess fc processes=5 threads=5 display-name=%{GLOBAL} WSGIProcessGroup fc WSGIScriptAlias / /home/path/to/django.wsgi 应用程序位于主
Alias /media/ /var/www/media/
Alias /files/ /var/www/files/
WSGIDaemonProcess fc processes=5 threads=5 display-name=%{GLOBAL}
WSGIProcessGroup fc
WSGIScriptAlias / /home/path/to/django.wsgi
应用程序位于主机的根目录中。我现在想改变这个,这样我可以在和另一个服务,不同的django设置,在
如何更改配置以执行此操作
谢谢您可以尝试使用第二个
设置.py创建其他文件夹,并创建指向您的应用程序、区域设置、静态、模板、URL.py等的符号链接
我有多个项目使用相同的应用程序,所以我把它们放在我添加到python路径的独立文件夹中。我也为这两个站点使用相同的数据库,但我有不同的站点ID,所以我可以指定我想要包含我的内容的哪个站点。这样我就可以拥有完全不同的网站,使用不同的模板、样式和图片,拥有相同的内容。如果两个站点上的JS脚本相同,我会创建一个符号链接。您可以尝试使用secondsettings.py创建其他文件夹,并创建指向您的应用程序、区域设置、静态、模板、URL.py等的符号链接
我有多个项目使用相同的应用程序,所以我把它们放在我添加到python路径的独立文件夹中。我也为这两个站点使用相同的数据库,但我有不同的站点ID,所以我可以指定我想要包含我的内容的哪个站点。这样我就可以拥有完全不同的网站,使用不同的模板、样式和图片,拥有相同的内容。如果两个站点上的JS脚本相同,我将创建一个符号链接。您需要为每个项目提供一组WSGI*
指令。WSGIScriptAlias
的第二个参数告诉Apache项目在树中的位置;WSGI在将URL传递给Django的URL解析器之前删除此前缀
例如:
WSGIDaemonProcess app1 threads=15
WSGIScriptAlias /app1 /var/www/django_project1/django.wsgi
<Location /app1>
WSGIProcessGroup app1
</Location>
WSGIDaemonProcess app2 threads=15
WSGIScriptAlias /app2 /var/www/django_project2/django.wsgi
<Location /app2>
WSGIProcessGroup app2
</Location>
WSGIDaemonProcess app1线程=15
WSGIScriptAlias/app1/var/www/django_project1/django.wsgi
WSGIProcessGroup app1
WSGIDaemonProcess app2线程=15
WSGIScriptAlias/app2/var/www/django_project2/django.wsgi
WSGIProcessGroup app2
我还没有尝试优化它;也许有更好的办法。但这应该可以让您运行。您需要为每个项目提供一组WSGI*
指令。WSGIScriptAlias
的第二个参数告诉Apache项目在树中的位置;WSGI在将URL传递给Django的URL解析器之前删除此前缀
例如:
WSGIDaemonProcess app1 threads=15
WSGIScriptAlias /app1 /var/www/django_project1/django.wsgi
<Location /app1>
WSGIProcessGroup app1
</Location>
WSGIDaemonProcess app2 threads=15
WSGIScriptAlias /app2 /var/www/django_project2/django.wsgi
<Location /app2>
WSGIProcessGroup app2
</Location>
WSGIDaemonProcess app1线程=15
WSGIScriptAlias/app1/var/www/django_project1/django.wsgi
WSGIProcessGroup app1
WSGIDaemonProcess app2线程=15
WSGIScriptAlias/app2/var/www/django_project2/django.wsgi
WSGIProcessGroup app2
我还没有尝试优化它;也许有更好的办法。但这应该可以让您运行。这里的原始示例在许多方面都是错误的。所使用的WSGISocketPrefix是错误的,因为只应出现一次,并且仅在某些情况下使用,而不是始终使用。将用户/组设置为“apache”是多余的,因为这是默认设置,“apache”作为用户在许多系统上可能无效。WSGIProcessGroup必须根据位置上下文确定范围,因此只适用于一个应用程序。感谢您的修复。我正在调整一个工作的单一网站设置,我有它本身并没有得到优化;例如,用户和组是这样设置的,因为我不知道Apache安装(我不控制)是使用“Apache”还是“nobody”作为其用户。设置套接字前缀是因为默认值不是系统管理员想要的。所使用的WSGISocketPrefix是错误的,因为只应出现一次,并且仅在某些情况下使用,而不是始终使用。将用户/组设置为“apache”是多余的,因为这是默认设置,“apache”作为用户在许多系统上可能无效。WSGIProcessGroup必须根据位置上下文确定范围,因此只适用于一个应用程序。感谢您的修复。我正在调整一个工作的单一网站设置,我有它本身并没有得到优化;例如,用户和组是这样设置的,因为我不知道Apache安装(我不控制)是使用“Apache”还是“nobody”作为其用户。设置套接字前缀是因为默认值不是系统管理员想要的。