> On 13 May 2016, at 4:28 PM, Jaqen Nki <[email protected]> wrote: > > I see how I should probably structure this for multiple sites now. Since my > server has only one IP, like you said I can do either of two methods, > separate vhost for each site (prefixed domains, or combined into one (sub > domains). Heres the configs I came up with, I will have to test it with a > new project to see if it works: > > VHOST CONFIGURATION - MULTIPLE > SITES > > # wsgi.load > > LoadModule wsgi_module > /usr/lib/apache2/modules/mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so > <http://mod_wsgi-py35.cpython-35m-x86_64-linux-gnu.so/> > WSGIRestrictEmbedded On > > > METHOD 1: Separate virtual host per project - site1 site2 > > > # site1.conf > > <VirtualHost *:80> > ServerName site1.192.168.1.102
This doesn’t look right. The value to ServerName should be a fully qualified domain name. You wouldn’t have IP address components in it. > ServerAlias site1.me <http://site1.me/> > > WSGIDaemonProcess site1 python-home=/var/www/site1/ > FlaskApp/FlaskApp/venv > > WSGIProcessGroup site1 > WSGIApplicationGroup %{GLOBAL} > > WSGIScriptAlias / /var/www/site1/FlaskApp/flaskapp.wsgi > > </VirtualHost> > > > # site2.conf > > <VirtualHost *:80> > ServerName site2.192.168.1.102 > ServerAlias site2.me <http://site2.me/> > > WSGIDaemonProcess site2 python-home=/var/www/site2/FlaskApp/FlaskApp/venv > > WSGIProcessGroup site2 > WSGIApplicationGroup %{GLOBAL} > WSGIScriptAlias / /var/www/site2/FlaskApp/flaskapp.wsgi > > </VirtualHost> > > > > > METHOD 2: Combined into one virtual host , 3 sites at sub URLs ie: > sites.me/site4 <http://sites.me/site4> sites.me/site5 > <http://sites.me/site5> sites.me/site6 <http://sites.me/site6> > > # sites.conf > > <VirtualHost *:80> > ServerName sites.192.168.1.102 > ServerAlias sites.me <http://sites.me/> > > WSGIDaemonProcess site4 python-home=/var/www/site4/FlaskApp/FlaskApp/venv > WSGIDaemonProcess site5 python-home=/var/www/site5/FlaskApp/FlaskApp/venv > WSGIDaemonProcess site6 python-home=/var/www/site6/FlaskApp/FlaskApp/venv > > WSGIProcessGroup sites This is referencing an unknown daemon process group. > WSGIApplicationGroup %{GLOBAL} > > WSGIScriptAlias /site4 /var/www/site4/FlaskApp/flaskapp.wsgi Easiest is to add as extra process-group option to WSGIScriptAlias. WSGIScriptAlias /site4 /var/www/site4/FlaskApp/flaskapp.wsgi process-group=site4 > WSGIScriptAlias /site5 /var/www/site5/FlaskApp/flaskapp.wsgi > WSGIScriptAlias /site6 /var/www/site6/FlaskApp/flaskapp.wsgi > > </VirtualHost> > > > On Thursday, May 12, 2016 at 1:52:25 AM UTC-7, Graham Dumpleton wrote: > > > On 12 May 2016, at 6:32 PM, Jaqen Nki <proj...@ <>gmail.com > > <http://gmail.com/>> wrote: > > > > Ok my bad, I figured it would be good idea to avoid posting > > redundancies. After much struggle GOOD NEWS IT WORKS! This is awesome, > > just tested it after reboot linux, it autoserves perfectly. So I take it > > for a new project, I repeat the process, new vhost and .wsgi file, and > > create a wsgi.load file for each site? > > The wsgi.load file should only have in it the LoadModule, WSGIPythonHome and > WSGIRestrictEmbedded directives. They applied to the server as a whole and > not specific VirtualHosts. > > When you talk about adding more VirtualHost’s, that is when you will need to > be a bit careful with respect to virtual environments. > > First up, a separate VirtualHost is used for each distinct site hostname. > Don’t use separate VirtualHost’s if only trying to mount different > applications at different sub URLs of the same site. Seen people try and use > multiple VirtualHost’s for same site hostname too many times. Is wrong way. > > Because you are going to have multiple VirtualHost’s would suggest doing > things a little differently. > > First up, the wsgi.load file would only have LoadModule and > WSGIRestrictEmbedded directives in it. Not WSGIPythonHome. > > In that file the WSGIPythonHome was acting as a fallback for both embedded > mode and daemon mode. With WSGIRestrictEmbedded set to On, don’t need the > fallback. Instead, we want to set python-home for each daemon process group > setup using WSGIDaemonProcess directive. > > Thus: > > # wsgi.load > > LoadModule … > WSGIRestrictEmbedded On > > # site1.conf > > <VirtualHost *:80> > ServerName site1.host.name <http://site1.host.name/> > > WSGIDaemonProcess site1 python-home=/some/path/site1/venv > WSGIProcessGroup site1 > WSGIApplicationGroup %{GLOBAL} > > WSGIScriptAlias / /some/path/site1/app.wsgi > > ... > </VirtualHost> > > # site2.conf > > <VirtualHost *:80> > ServerName site2.host.name <http://site2.host.name/> > > WSGIDaemonProcess site2 python-home=/some/path/site2/venv > WSGIProcessGroup site2 > WSGIApplicationGroup %{GLOBAL} > > WSGIScriptAlias / /some/path/site1/app.wsgi > > ... > </VirtualHost> > > If you do need to host multiple applications under same VirtualHost at > different sub URLs, you would use something like: > > # site3.conf > > <VirtualHost *:80> > ServerName site3.host.name <http://site3.host.name/> > > WSGIDaemonProcess site3_main python-home=/some/path/site3_main/venv > WSGIDaemonProcess site3_suburl python-home=/some/path/site3_suburl/venv > > WSGIProcessGroup site3 > WSGIApplicationGroup %{GLOBAL} > > WSGIScriptAlias /suburl /some/path/site3_suburl/app.wsgi > process-group=site3_suburl > WSGIScriptAlias / /some/path/site3_main/app.wsgi > > ... > </VirtualHost> > > > > Either way I have it all logged in a file so I know exactly what to do next > > time. I have two concise guide txt files for setting up a python3 flaskapp > > on ubuntu server now, one with and one without a venv configuration- if you > > want to post them in mod wsgi docs as easy setup guides to help other > > people, let me know (honestly a lot of stuff in the docs is unnecessary and > > not to the point, one can get lost in the convolution). Thanks so much for > > bearing with me man you are a lifesaver and a brilliant programmer, and Im > > curious to know what projects youre working on or have worked on. > > The docs are a mess right now, I acknowledge that. The effort required to > bring them up to date and better organise them is substantial and more > interested in other stuff right now. > > > Im going to throw you an amazon gift card code after I can get to the > > store soon, for the almost instantaneous responses and solving my problems > > every time - like do you even sleep? haha. Also Ill show you my finished > > web sites once they are live because they are pretty slick and theyre my > > first projects in web development, of which Im proud. It may be a couple > > months but one of the sites is for an upcoming game mod of warcraft 3 (best > > RTS of all time), which is being cloned to the starcraft 2 engine because > > the old engine is outdated and clunky - called Armies of Azeroth on > > moddb.com <http://moddb.com/>. Im probably going to have to resort to > > django as the go to framework since its more popular and most of the job > > postings I see are for django developers and rarely flask. Anyways cheers > > thanks again hope all is well in AU. > > If you are looking at Amazon gift card, that is much appreciated. Just note > that it needs to be the US Amazon store. That store is only one I can readily > use even though don’t Iive in the US. I travel there enough though to order > stuff and send to friends in US and then pick it up. :-) > > Thanks. > > 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] > <mailto:[email protected]>. > To post to this group, send email to [email protected] > <mailto:[email protected]>. > Visit this group at https://groups.google.com/group/modwsgi > <https://groups.google.com/group/modwsgi>. > For more options, visit https://groups.google.com/d/optout > <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 https://groups.google.com/group/modwsgi. For more options, visit https://groups.google.com/d/optout.
