Hi Vincent, I found more info on gunicorn and nginx. it seems they need each other.
https://stackoverflow.com/questions/12800862/how-to-make-django-serve-static-files-with-gunicorn What do you think? Thanks. Regards, Lawrence On Thu, Oct 11, 2018, 3:58 PM Lawrence Goh <[email protected]> wrote: > Hi Vincent, > > I am trying to have whitenoise in. Have you done it before? > > I have modified entrypoint.sh to include 'pip install whitenoise' after > the virtual environment creation. Modified settings.py to have STATIC_ROOT > with this 'os.path.join(ROOT_DIR, 'staticfiles') and the entry in > MIDDLEWARE. Plus, wsgi.py file to have 'from whitenoise import WhiteNoise'. > > Unsure if anywhere else was missed. > > Thanks. > > Regards, > Lawrence > > On Wed, Oct 10, 2018 at 9:09 PM Vincent Meijer <[email protected]> > wrote: > >> Ah, I think I know what the problem is. Didn't think of this before, but >> Django does not want to serve static files (css, js, images, etc) when in >> PROD mode (and DEBUG=False). >> >> There are two routes I can think of right now: >> 1. Set up White Noise to make Django serve static files ( >> http://whitenoise.evans.io/en/stable/) >> 2. Set up the Azure CDN I described above >> >> I would personally go with option 2, because for me that made a big >> difference in terms of performance. >> >> >> On Wednesday, 10 October 2018 05:04:14 UTC+2, Lawrence Goh wrote: >>> >>> Hi Vincent, >>> >>> I guess I celebrated too early. I removed the cache and now the site on >>> port 80 is broken as the images and JS are not downloaded. Any idea on >>> this? >>> >>> Thanks. >>> >>> Regards, >>> Lawrence >>> >>> On Wed, Oct 10, 2018 at 2:36 PM Lawrence Goh <[email protected]> wrote: >>> >>>> Hi Vincent, >>>> >>>> Thanks a lot of the suggestion. I tried the suggestion on dumping >>>> nginx and changing the port number but I kept couchdb as it is though. It >>>> is working as a web app for containers using multi-container. >>>> >>>> Will put the single container approach on the pipeline :) >>>> >>>> Thanks again! >>>> >>>> Regards, >>>> Lawrence >>>> >>>> On Wed, Oct 10, 2018 at 12:13 AM Vincent Meijer <[email protected]> >>>> wrote: >>>> >>>>> No worries, I come from a .net environment myself. >>>>> As for the App Service, I realized that I set up Postgres and >>>>> Elasticsearch separately, that is why I was able to use the Single >>>>> Container approach (see below for future reference). >>>>> >>>>> I just remembered I wasn't able to get the docker-compose approach >>>>> working in the App Service. >>>>> If you like to give it another try, you could remove the nginx service >>>>> from your docker-compose.yml. >>>>> Then add a port mapping on your arches service in your >>>>> docker-compose.yml from 80 on the host (App Service) to 8000 on the >>>>> container: >>>>> Change: >>>>> ports: >>>>> - '8000:8000' >>>>> To: >>>>> ports: >>>>> - '80:8000' >>>>> >>>>> Also be sure to set the DOMAIN_NAMES setting in your >>>>> docker-compose.yml to the address of your web app. >>>>> >>>>> Finally, you may try removing the couchdb service from your >>>>> docker-compose.yml, as this db is not (yet) used by arches at the moment >>>>> (saves some resources). >>>>> Be sure to *keep* the couchdb environment variables in your Arches >>>>> service though (their values don't matter, but they are expected to be >>>>> present). >>>>> >>>>> >>>>> Here is some background info that might be useful: >>>>> https://blogs.msdn.microsoft.com/appserviceteam/2018/05/07/multi-container/ >>>>> >>>>> >>>>> >>>>> *Single Container *approach >>>>> For the Single Container approach you wouldn't use a compose file at >>>>> all, but that is assuming you run Postgres and Elasticsearch elsewhere. >>>>> - On the App Service blade, select Container Settings (step 1 in the >>>>> screenshot below). >>>>> - Select 'Single Container' (step 2) >>>>> - Configure that page, ie. select the right image etc. >>>>> - Go to 'Application Settings' (step 3 on screenshot) and fill out all >>>>> environment variables you have in your docker-compose.yml as individual >>>>> app >>>>> settings >>>>> >>>>> >>>>> [image: Azure App Service.png] >>>>> >>>>> >>>>> On Tuesday, 9 October 2018 12:26:15 UTC+2, Lawrence Goh wrote: >>>>>> >>>>>> Hi Vincent, >>>>>> >>>>>> Thanks for the reply. I am not so well verse in the web development >>>>>> in open source space. Last I knew something related was Apache :) Pardon >>>>>> my knowledge as I am from .net. Some help would be very much appreciated >>>>>> to implement this. >>>>>> >>>>>> Based on the docker compose file, we have these containers - arches, >>>>>> nginx, db, elasticsearch, couchdb and letsencrypt. The single container >>>>>> would be having multiple single containers excluding nginx? >>>>>> >>>>>> What would be the best approach? >>>>>> >>>>>> Thanks. >>>>>> >>>>>> Regards, >>>>>> Lawrence >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Tue, Oct 9, 2018, 8:46 PM Vincent Meijer <[email protected]> >>>>>> wrote: >>>>>> >>>>>>> Hi Lawrence, >>>>>>> >>>>>>> The Azure App Service is meant to take over everything but the app >>>>>>> itself, so running it with an nginx container is not necessary. >>>>>>> I used the App Service for a short while and only could get it to >>>>>>> work when using the single container approach. >>>>>>> >>>>>>> That being said, I found the App Service to be extremely slow (and >>>>>>> expensive), so I am eager to hear your experiences with it. >>>>>>> >>>>>>> For me it did help to set up Azure CDN to serve static files. >>>>>>> Roughly: >>>>>>> 1. Set up an Azure Blob Storage account >>>>>>> 2. Configure Django to use the azure-storage package ( >>>>>>> https://django-storages.readthedocs.io/en/latest/backends/azure.html >>>>>>> -> don't do the static files steps) >>>>>>> 3. Set up Azure CDN with the storage account from step 1 as origin. >>>>>>> 4. Set `STATIC_URL` in settings.py to the CDN endpoint. >>>>>>> >>>>>>> >>>>>>> I hope this helps and please share your experiences with us :) >>>>>>> Vincent >>>>>>> >>>>>>> >>>>>>> On Tuesday, 9 October 2018 04:19:42 UTC+2, Lawrence Goh wrote: >>>>>>>> >>>>>>>> Hi! I am trying to set up the Arches Project on Azure using its >>>>>>>> Web App for Containers. But I hit a roadblock where I will get a '400 >>>>>>>> Bad >>>>>>>> Request' when browsing it. I see the Azure logs are displaying that >>>>>>>> the >>>>>>>> NGINX got called when I triggered it on a browser. Hope to get some >>>>>>>> help >>>>>>>> on this. Thanks. >>>>>>>> >>>>>>> -- >>>>>>> -- To post, send email to [email protected]. To >>>>>>> unsubscribe, send email to [email protected]. For >>>>>>> more information, visit >>>>>>> https://groups.google.com/d/forum/archesproject?hl=en >>>>>>> --- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Arches Project" group. >>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>> send an email to [email protected]. >>>>>>> For more options, visit https://groups.google.com/d/optout. >>>>>>> >>>>>> -- >>>>> -- To post, send email to [email protected]. To unsubscribe, >>>>> send email to [email protected]. For more information, >>>>> visit https://groups.google.com/d/forum/archesproject?hl=en >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Arches Project" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> For more options, visit https://groups.google.com/d/optout. >>>>> >>>> -- >> -- To post, send email to [email protected]. To >> unsubscribe, send email to [email protected]. >> For more information, visit >> https://groups.google.com/d/forum/archesproject?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Arches Project" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> For more options, visit https://groups.google.com/d/optout. >> > -- -- To post, send email to [email protected]. To unsubscribe, send email to [email protected]. For more information, visit https://groups.google.com/d/forum/archesproject?hl=en --- You received this message because you are subscribed to the Google Groups "Arches Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
