-
Notifications
You must be signed in to change notification settings - Fork 8
Flask
alochym01 edited this page May 3, 2018
·
9 revisions
- python 3.6.4
- version 0.12
- gunicorn 19.8.1
- Install pyenv installer
- Install pyenv
- Install flask
- pip install Flask Flask-Migrate Flask-DebugToolbar Flask-Login Flask-SQLAlchemy psycopg2-binary Flask-WTF gunicorn
- Using flask, gunicorn, nginx and systemd
- systemd
[Unit]
Description = Flask GUI for Freeswitch
After = network.target
After = postgresql-9.6.service
[Service]
PermissionsStartOnly = true
PIDFile = /run/flask_app/flask_app.pid
User = hadn
Group = hadn
WorkingDirectory = /mnt/fs_gui
ExecStartPre = /bin/mkdir /run/flask_app
ExecStartPre = /bin/chown -R hadn:hadn /run/flask_app
ExecStart = /home/hadn/.local/share/virtualenvs/flask_large_admin_gui-EPTiH8UD/bin/gunicorn freeswitch:app -b 127.0.0.1:8000 -w 4 --pid /run/flask_app/flask_app.pid
ExecReload = /bin/kill -s HUP $MAINPID
ExecStop = /bin/kill -s TERM $MAINPID
ExecStopPost = /bin/rm -rf /run/flask_app
PrivateTmp = true
[Install]
WantedBy = multi-user.target
- nginx
server {
# listen on port 80 (http)
listen 80;
server_name _;
location / {
# redirect any requests to the same URL but on https
return 301 https://$host$request_uri;
}
}
server {
# listen on port 443 (https)
listen 443 ssl;
server_name _;
# location of the self-signed SSL certificate
ssl_certificate /home/ubuntu/microblog/certs/cert.pem;
ssl_certificate_key /home/ubuntu/microblog/certs/key.pem;
# write access and error logs to /var/log
access_log /var/log/microblog_access.log;
error_log /var/log/microblog_error.log;
location / {
# forward application requests to the gunicorn server
proxy_pass http://localhost:8000;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /static {
# handle static files directly, without forwarding to the application
alias /mnt/fs_gui/flask_app/static;
expires 30d;
}
}