Tactical Watermarks — Graduation Application
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Castro0o 855deeec8c README 5 years ago
__pycache__ first commit 5 years ago
app first commit 5 years ago
.gitignore ignore pycharm dir 5 years ago
README.md README 5 years ago
app.log first commit 5 years ago
config.py first commit 5 years ago
file.db first commit 5 years ago
gunicorn_run.sh first commit 5 years ago
requirements.txt first commit 5 years ago
run.py first commit 5 years ago
wsgi.py first commit 5 years ago

README.md

Run

in Development

export FLASK_APP=run.py export FLASK_ENV=development flask run

Using gunicorn:

gunicorn -w 4 -b 127.0.0.1:5000 app:app

  • -w workers
  • -b bind to address / unix socker

And gunicorn with using unix sock: (this how it should run in production) gunicorn --workers 4 --bind unix:app.sock -m 007 app:app

in Production with gunicorn and unix sockets

Based on https://medium.com/faun/deploy-flask-app-with-nginx-using-gunicorn-7fda4f50066a

systemd service file

Add to /etc/systemd/system/watermarks.service

[Unit]
After=network.target

[Service]
User=psc
Group=www-data
WorkingDirectory=/var/www/TacticalApp
Environment="PATH=/var/www/TacticalApp/venv/bin"
ExecStart=/var/www/TacticalApp/venv/bin/gunicorn --workers 4 --bind unix:app.sock -m 007 app:app

[Install]
WantedBy=multi-user.target

enable & start service file

systemctl enable watermarks.service

systemctl start watermarks.service

It is also a good idea to check the status of the service systemctl status watermarks.service

Nginx config

location / {
  include proxy_params;
  # it will pass the requests to the socket
   proxy_pass http://unix:/var/www/TacticalApp/app.sock;
   # @andre: unsure whether we need a proxy_redirect as well 
   # if so, it might be somthing like
   # http://unix:/var/www/TacticalApp/app.sock $scheme://$host:80/;
    }

debug.

It might be helpful to enable gunicorn logging, while in development, to check what is going on, by replacing in watermarks.service, the ExecStart= value with:

ExecStart=/var/www/TacticalApp/venv/bin/gunicorn --log-level debug --error-logfile /var/www/TacticalApp/app.log --workers 4 --bind unix:app.sock -m 007 app:app

And reloading the services systemctl daemon-reload

systemctl restart watermarks.service

and the start following app.log: tail -f /var/www/TacticalApp/app.log

But in the long run logging should be disabled