flask 서버세팅
sudo apt update
sudo apt -y install lrzsz
sudo apt -y install unzip
sudo apt install python python3-venv
date
#sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
cd ~
mkdir venvs
cd venvs
python3 -m venv mysite
cd mysite
cd bin
. activate
pip install wheel
pip install flask
pip install Flask-Migrate
pip install Flask-WTF
pip install email_validator
pip install Flask-Markdown
pip install pymysql
pip install mysql-connector-python
pip install cryptography
---
cd /home/master/venvs
nano mysite.sh
#!/bin/bash
cd ~/projects/flask
export FLASK_APP=security
export FLASK_ENV=production
export APP_CONFIG_FILE=/home/master/projects/flask/config/production.py
. ~/venvs/mysite/bin/activate
---
cd ~
nano .profile
alias mysite='export FLASK_APP=security;export FLASK_ENV=production;export APP_CONFIG_FILE=/home/master/projects/flask/config/production.py; cd ~/projects/flask; . /home/master/venvs/mysite/bin/activate'
source .profile
mysite #cmd처럼 mysite만 쳐도 플라스크 접속 가능
---
cd /home/master/venvs
nano mysite.env
FLASK_APP=security
FLASK_ENV=production
APP_CONFIG_FILE=/home/master/projects/flask/config/production.py
---
sudo apt -y install nginx
---
cd /etc/nginx/sites-available
sudo nano mysite
server {
listen 80;
server_name 192.168.X.XXX;
location = /favicon.ico { access_log off; log_not_found off; }
location /static {
alias /home/master/projects/flask/security/static;
}
location / {
include proxy_params;
proxy_pass http://unix:/tmp/mysite.sock;
}
}
---
cd /etc/nginx/sites-enabled
sudo rm -rf default
sudo ln -s /etc/nginx/sites-available/mysite
sudo systemctl restart nginx
sudo nginx -t
sudo systemctl start nginx
---
pip install gunicorn
---
sudo nano /etc/systemd/system/mysite.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=master
Group=master
WorkingDirectory=/home/master/projects/flask
EnvironmentFile=/home/master/venvs/mysite.env
ExecStart=/home/master/venvs/mysite/bin/gunicorn \
--workers 2 \
--bind unix:/tmp/mysite.sock \
"security:create_app()"
[Install]
WantedBy=multi-user.target
---
sudo systemctl enable nginx
sudo systemctl enable mysite
cd /home/master
mkdir projects
cd projects
mkdir flask
cd flask
unzip flask.zip
sudo reboot
sudo systemctl restart nginx
sudo systemctl restart mysite