Have a read of: * http://blog.dscpl.com.au/2012/10/requests-running-in-wrong-django.html
and see if it answers your questions. Most likely since using Django any problems will be due to how DJANGO_SETTINGS_MODULE is set. The default that project template generates causes problems and you need to change it. Graham > On 11 Feb 2025, at 2:30 pm, SC <stvnc...@gmail.com> wrote: > > Firstly, I'd like to thank you for maintaining this excellent utility. > > I should note that I am not a technically-versed person in these matters, so > apologies if I am slow to pick up on things. > > As for my problem, I want to host multiple Django-based websites from the > same httpd.exe process on Windows. I do not know how to go about this. > > Details on my setup: > - mod_wsgi (v5.0.0) > - Python (v3.9.2) > - Apache (v2.4.58), with the binaries being distributed by ApacheLounge > (2024-01-31 release) > - Windows Server 2012 R1 (and not R2) > - Django v4.2.10 > - I am hosting two distinct domain names (e.g. "someexample.com" and > "anotherexample.com") > - Everything is set up from scratch in the sense that I have physical access > to the machine running the web server, access to the domain names, access to > the router, etc. > - Because I am running Windows, I am running mod_wsgi in embedded mode. My > installation of Apache is mostly standard, so something like mod_python is > not installed. > > Here is the relevant snippet of Apache configuration. I am aware that it does > not run (because WSGIPythonPath cannot be in a VirtualHost directive), but it > encapsulates the logic of what I am trying to go for: > > LoadFile > "C:/Users/Administrator/AppData/Local/Programs/Python/Python39/python39.dll" > LoadModule wsgi_module > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/python_virtual_environment/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win_amd64.pyd" > > WSGIPythonHome > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/python_virtual_environment" > > > # VIRTUAL HOST: "someexample.com" > > <VirtualHost *:80> > ServerName someexample.com > ServerAlias www.someexample.com > Redirect permanent "/" "https://someexample.com/" > </VirtualHost> > > <VirtualHost *:443> > ServerName someexample.com > ServerAlias someexample.com > <If "%{HTTP_HOST} == 'www.someexample.com'"> > Redirect "/" "https://someexample.com/" > </If> > > SSLEngine On > SSLCertificateFile "..." > SSLCertificateKeyFile "..." > > WSGIScriptAlias / > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/someexample.com/main/wsgi.py" > WSGIPythonPath > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/someexample.com" > > <Directory > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/someexample.com/main"> > <Files "wsgi.py"> > Require all granted > </Files> > </Directory> > > Alias "/assets/" > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/someexample.com/@assets/" > > <Directory > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/someexample.com/@assets/"> > Require all granted > </Directory> > > </VirtualHost> > > > # VIRTUAL HOST: "anotherexample.com" > > <VirtualHost *:80> > ServerName anotherexample.com > ServerAlias www.anotherexample.com > Redirect permanent "/" "https://anotherexample.com/" > </VirtualHost> > > <VirtualHost *:443> > ServerName anotherexample.com > ServerAlias www.anotherexample.com > <If "%{HTTP_HOST} == 'www.anotherexample.com'"> > Redirect "/" "https://anotherexample.com/" > </If> > > SSLEngine On > SSLCertificateFile "..." > SSLCertificateKeyFile "..." > > WSGIScriptAlias / > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/anotherexample.com/main/wsgi.py" > WSGIPythonPath > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/anotherexample.com" > > <Directory > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/anotherexample.com/main"> > <Files "wsgi.py"> > Require all granted > </Files> > </Directory> > > Alias "/assets/" > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/anotherexample.com/@assets/" > > <Directory > "C:/Users/Administrator/Desktop/SERVERS/web_server_production/website_projects/anotherexample.com/@assets/"> > Require all granted > </Directory> > > </VirtualHost> > > > If further information is needed, such as what my file structure for these > website (Django) projects look like, or how wsgi.py is configured (I mostly > used the default generation given by Django), I can provide those too. > > Probably worth noting, but when starting a new project with Django, it > usually names the "main package" as whatever the project was named (usually > the name is just the website's name). Instead, I renamed that package to > "main" (and it has the same name across all websites) and updated the > appropriate references (e.g. "main.settings" inside of "wsgi.py" instead of > "someexamplecom.settings"). This is a convention I would prefer to keep, if > possible, though I am willing to revert to Django's default convention if it > is truly necessary. > > > -- > You received this message because you are subscribed to the Google Groups > "modwsgi" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to modwsgi+unsubscr...@googlegroups.com > <mailto:modwsgi+unsubscr...@googlegroups.com>. > To view this discussion visit > https://groups.google.com/d/msgid/modwsgi/d2b81c58-9d22-4720-a6d3-38eec28ca9a8n%40googlegroups.com > > <https://groups.google.com/d/msgid/modwsgi/d2b81c58-9d22-4720-a6d3-38eec28ca9a8n%40googlegroups.com?utm_medium=email&utm_source=footer>. -- You received this message because you are subscribed to the Google Groups "modwsgi" group. To unsubscribe from this group and stop receiving emails from it, send an email to modwsgi+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/modwsgi/E06A9C94-A62F-47EC-B5C0-6F930A3CD8B5%40gmail.com.