-
Notifications
You must be signed in to change notification settings - Fork 43
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
jwql
development server) - A
nginx
web server - The
gunicorn
Python Web Server Gateway Interface (WSGI) HTTP server - The
supervisord
process control manager - The
django
web 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.service
sudo /bin/systemctl start jwql.service
sudo /bin/systemctl stop jwql.service
sudo /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
nginx
is located at/etc/nginx/conf.d/jwql.conf
and at/etc/nginx/nginx.conf
- The configuration for
supervisord
is located at/etc/systemd/system/jwql.service