-
Notifications
You must be signed in to change notification settings - Fork 46
Web Server
Matthew Bourque edited this page Nov 30, 2020
·
9 revisions
The jwql web application development server is configured using the following technologies:
- A Linux virtual machine (the
jwqldevelopment server) - A
nginxweb server - The
gunicornPython Web Server Gateway Interface (WSGI) HTTP server - The
supervisordprocess control manager - The
djangoweb framework
To see how all of these technologies work together to produce a usable web application, see the below diagram (note that this project uses django instead of flask):
When logged into the service account on the jwql development server, the supervisord process that runs the web server can be viewed/started/stopped/restarted via the following commands,
sudo /bin/systemctl status jwql.servicesudo /bin/systemctl start jwql.servicesudo /bin/systemctl stop jwql.servicesudo /bin/systemctl restart jwql.service
The clone of the jwql repository that is used to render the website is located in ~/var/lib/jwql/jwql/. This clone should always be set on the latest version of the master branch. The jwql dev server has a cron job that pulls in any latest changes to this clone every 5 minutes.
Important locations:
- The configuration file for
nginxis located at/etc/nginx/conf.d/jwql.confand at/etc/nginx/nginx.conf - The configuration for
supervisordis located at/etc/systemd/system/jwql.service
