OK  You convinced me to let the infrastructure team try to resolve the 
issue with the std apache 2 tier mod_wsgi configuration.

The tool that you built was very nice.

Thanks for your input.

On Thursday, November 6, 2014 12:16:50 AM UTC-5, Graham Dumpleton wrote:
>
> On 06/11/2014, at 3:41 PM, robert brook <[email protected] 
> <javascript:>> wrote:
>
>
> The Lan team has been struggling to install mod_wsgi through the 
> traditional approach without much luck in getting Apache to fire off 
> django, so I was looking for an alternative.
>
>
> And you aren't interested in trying to resolve what ever problem they had? 
> Having it integrated into the front end Apache is still going to be the 
> preferred solution.
>
> If you were wanting to use Python 3.3, I wouldn't be surprised if the 
> issue was that they were trying to use a packaged version of mod_wsgi which 
> was compiled against a different Python version. You can't force mod_wsgi 
> compiled against one version to use a different Python version.
>
> The mod-express was very simple to install and configure and got it to 
> work easily as a stand alone.  I was trying to provide the Lan team with a 
> solution to a problem that they have  not been able to resolve.  If the 
> express implementation does not provide 2 tiers and good performance 
> minimum requirements, then it will not meet our requirements. 
>
> The link below implies that express can be configured through a 
> traditional apache 2 tier server approach.
>
> http://stackoverflow.com/questions/26766141/hosting-multiple-django-sites-with-mod-wsgi-express-apache
>
> Is that correct, can a 2 tier apache be configured to utilize the mod_wsgi 
> express command?
>
>
> It is certainly possible to use mod_wsgi express behind a front end proxy 
> and using it behind an nginx front end is even recommended as nginx will 
> isolate the Apache/mod_wsgi instances from slow HTTP clients.
>
> Although you can use Apache as a front end proxy, you don't get as many 
> benefits as would using nginx as the front end because of the differences 
> in how they work.
>
> That said, presuming you only have one Django instance you want to run in 
> this way with it taking the whole site name, the front end Apache would be 
> set up with something like:
>
>     ProxyPass / http://localhost:8000
>     ProxyPassReverse / http://localhost:8000
>
> The mod_proxy_http module when using ProxyPassReverse will automatically 
> set headers on the proxied request for:
>
>     X-Forwarded-For
>     X-Forwarded-Host
>     X-Forwarded-Server
>
> I am not entirely sure if Django honours these by default or not. I 
> thought recognition of them had been taken out, but it is still talked 
> about in:
>
>     
> https://docs.djangoproject.com/en/dev/ref/request-response/#django.http.HttpRequest.get_host
>
> If the front end is going to terminate HTTPS connections, you probably 
> also want to set the directive, in the Apache front end:
>
>     RequestHeader set X-Forwarded-Proto "https"
>
> This would be in the SSL VirtualHost.
>
> Then in the Django settings ensure you are setting SECURE_PROXY_SSL_HEADER 
> appropriately.
>
> Anyway just highlighting you may have to set a few things up simply due to 
> the use of a proxy if you need to know the details of the original client.
>
> As to mod_wsgi-express, now run it on port 8000.
>
> A few variations to now consider.
>
> If you don't want the site mounted at the root but at a sub URL. Thus:
>
>     ProxyPass /suburl http://localhost:8000/suburl
>     ProxyPassReverse /suburl http://localhost:8000/suburl
>
> Then you need to supply the --mount-point option to mod_wsgi express so 
> that it uses a matching mount point to the front end. Thus:
>
>     --mount-point /suburl
>
> If you don't, when absolute URLs are created as necessary by the Django 
> site they will not match what the front end is accepting.
>
> If you need to run two Django sites, it is better and easier to run two 
> instances of mod_wsgi-express on different ports and set up multiple proxy 
> directives for that in the Apache front end. You do not want to go try 
> modifying the generated configuration of mod_wsgi-express to try and run 
> two Django instances that way as it defeats the purpose of what 
> mod_wsgi-express is aimed at.
>
> So yes you can certainly use it in a so called 2 tier arrangement. Beyond 
> those quick tips you would need to be more specific about what you need to 
> know if you are unsure of what to do.
>
> Graham
>
> On Wednesday, November 5, 2014 10:39:45 PM UTC-5, Graham Dumpleton wrote:
>>
>>
>> On 06/11/2014, at 2:28 PM, robert brook <[email protected]> wrote:
>>
>> I have downloaded and successfully run mod_wsgi as a python plugin from 
>> the following site
>> https://github.com/GrahamDumpleton/mod_wsgi
>>
>> I have run the test scripts successfullly for django from one server in 
>> which apache and django are on the same server
>>
>> mod_wsgi-express start-server  >>this works as expected
>>
>> mod_wsgi-express start-server wsgi.py   >> this works as expected
>>
>> (I had to move the wsgi.py file up one directory level to have the web site 
>> render correctly.
>>
>> If wish to use mod_wsgi-express, for a Django site, you are better off 
>> integrating mod_wsgi as an installed application with Django. See section 
>> 'Using mod_wsgi express with Django' of:
>>
>>     https://pypi.python.org/pypi/mod_wsgi
>>
>> By doing that, the runmodwsgi management command will then make sure that 
>> Python module search paths, access to static files etc is correct.
>>
>> Have you read the documentation on the PyPi page and tried that method?
>>
>> What version of Django are you using?
>>
>> How much have you changed around things from the standard Django layout?
>>
>> How do I install and configure this to work on a 2 tier apache / django 
>> application.
>>
>> When I perform the setup.py install, does the apache installation get 
>> touched by the installation?
>>
>> And can this be used for Production assuming that I can configure a 2 tier 
>> installation?
>>
>> I am not too clear on what you are trying to achieve.
>>
>> Are you talking about using mod_wsgi-express behind another front end 
>> Apache instance where the first Apache is merely proxying to the second 
>> Apache instance started up by mod_wsgi-express?
>>
>> Generally if you have a working Apache instance already on the system 
>> fulfilling other purposes, you would use mod_wsgi installed direct in to 
>> it. For that you would not use mod_wsgi-express but the more traditional 
>> way of building and installing mod_wsgi. You would then follow setup 
>> instructions as given in the Django documentation for mod_wsgi:
>>
>>     https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/modwsgi/
>>
>> Can you perhaps clarify what you are trying to do and whether you have an 
>> existing Apache installation you need to use.
>>
>> Graham
>>
>
> -- 
> 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 [email protected] <javascript:>.
> To post to this group, send email to [email protected] <javascript:>
> .
> Visit this group at http://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/d/optout.
>
>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to