Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/linuxacademy/content-nginx-uwsgi
Example UWSGI application for the Linux Academy NGINX Deep Dive
https://github.com/linuxacademy/content-nginx-uwsgi
Last synced: 3 days ago
JSON representation
Example UWSGI application for the Linux Academy NGINX Deep Dive
- Host: GitHub
- URL: https://github.com/linuxacademy/content-nginx-uwsgi
- Owner: linuxacademy
- Created: 2018-03-15T14:53:36.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-09-07T23:31:20.000Z (about 3 years ago)
- Last Synced: 2023-02-26T05:36:52.999Z (over 1 year ago)
- Language: Python
- Homepage: https://linuxacademy.com
- Size: 68.4 KB
- Stars: 2
- Watchers: 4
- Forks: 10
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Example UWSGI Application
This Django 2 note-taking app is designed to be used to demonstrate UWSGI in combination with NGINX.
### Dependencies
To run this application you'll need the following:
* [Python 3][1]
* [Pipenv][2]
* MySQL/MariaDB Client & Shared Libraries (for compiling the native database client package)
* Access to a MySQL/MariaDB Database### Usage
The `Makefile` provides a few helper tasks to make setting up the application a little easier than it might otherwise be. Here are the tools at your disposal:
* `make install` - Creates a virtualenv local to the project and installs the Python dependencies.
* `make service` - Creates a `notes.uwsgi` systemd service to run the application. Assumes use with NGINX and changes ownership of application to `nginx:nginx`
* `make migrate` - Migrates the database. This is the default task.
* `make static` - Gathers all static assets to `/var/www/$NOTES_HOST/`### Environment Variables
*Note:* for `make migrate` you'll need to have some environment variables set before running the command:
* `NOTES_DB` - The name of the database you've created.
* `NOTES_DB_USER` - The database user that the application will use.
* `NOTES_DB_PASSWORD` - The database user's password.If no other values are set, then it is assumed that the database is on the same server. Here are optional environment variables when running the database on a separate server:
* `NOTES_DB_HOST` - The domain or IP address of the server housing the database.
* `NOTES_DB_PORT` - Defaults to `3306`, but you can set this if you're using a non-standard MySQL port.For the running of the application, you'll want to set the following `HOST` related environment variables or the application will default to `notes.example.com`:
* `NOTES_HOST` - The application's primary hostname, and the destination for static assets at `/var/www/$NOTES_HOST/`
* `NOTES_ALLOWED_HOSTS` - All of the host names that Django should except traffic for. Defaults to `$NOTES_HOST`, `localhost`, and `127.0.0.1`.[1]: https://www.python.org
[2]: https://docs.pipenv.org