The following are instructions on how to setup up your nimbus instance for the first time. If you have already done this you can skip to :ref:`start_server`.
Once you've set up the instance you need to open the firewall
https://support.pawsey.org.au/documentation/display/US/Allow+HTTPS+Access+To+Your+Instance
Then make a costum tcp rule for ports 80 and 443, should look like this
Then follow this guide to check things step by step
https://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
The following is examples of how I got it to work.
First try and get it to work with the nimbus IP as the URL. From directory containing manage.py run the command:
uwsgi --socket frb-classifier.sock --module frb_cand.wsgi --chmod-socket=666
and nginx should look like this
upstream django { server unix:///home/ubuntu/FRB_candidates_app/frb_cand/frb-classifier.sock; } server { listen 80; server_name <IP>; charset utf-8; # max upload size client_max_body_size 75M; location /static { alias /home/ubuntu/FRB_candidates_app/frb_cand/static_host; } # Finally, send all non-media requests to the Django server. location / { uwsgi_pass django; include /home/ubuntu/FRB_candidates_app/frb_cand/uwsgi_params; } }
and make sure the IP is in allowed hosts in settings.py:
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', '<IP>']
Check if the works by using the IP as a URL in your browser.
If you get a (13: Permission denied) error in the nginx logs here is a helpful fix
https://stackoverflow.com/questions/25774999/nginx-stat-failed-13-permission-denied
If it's not finding the static files then setup the setting.py like this
STATIC_URL = '/static/' STATICFILES_DIRS = ( os.path.join(BASE_DIR, "static/"), ) STATIC_ROOT = os.path.join(BASE_DIR, "static_host/")
then run
python manage.py collectstatic
and update the nginx to
location /static { alias /home/ubuntu/FRB_candidates_app/frb_cand/static_host; }
Grab a free subdomain from https://www.duckdns.org/domains that points to your ip then update the url in nginx's severname, and ALLOWED_HOSTS in settings.py
Here are instructions on generating a ssl certificate
https://certbot.eff.org/instructions?ws=nginx&os=ubuntufocal