300x250
반응형
gunicorn의 시작, 중지를 쉽게 하고 리눅스 서버 재부팅시 gunicorn 자동실행을 위해
환경 변수 파일 생성
/home/ubuntu/venv/myproject.env
FLASK_APP=pybo
FLASK_ENV=development
APP_CONFIG_FILE=/home/ubuntu/projects/myproject/config/production.py
서비스 파일 생성
/etc/systemd/system/myproject.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu/projects/myproject
EnvironmentFile=/home/ubuntu/venvs/myproject.env
ExecStart=/home/ubuntu/venvs/myproject/bin/gunicorn \
--workers 2 \
--bind unix:/tmp/myproject.sock \
"pybo:create_app()"
[Install]
WantedBy=multi-user.target
실행해보기
# 서비스 시작
sudo systemctl start myproject.service
# 서비스 실행 상태 확인
sudo systemctl status myproject.service
# 리눅스 서버 재시작할때 자동 실행
sudo systemctl enable myproject.service
만약 서비스를 시작하고 나서 status를 쳤을 때 active:fail이 뜬다면
아래 명령어로 syslog 파일 확인하고 수정
tail -f /var/log/syslog
수정한 후에는 systemctl daemon-reload 해주고 다시 start
(myproject) ubuntu@...:~/venvs$ sudo systemctl start myproject.service
Warning: The unit file, source configuration file or drop-ins of myproject.service changed on disk. Run 'systemctl daemon-reload' to reload units.
(myproject) ubuntu@...:~/venvs$ sudo systemctl daemon-reload
(myproject) ubuntu@...:~/venvs$ sudo systemctl start myproject.service
300x250
반응형
'IT > 서버' 카테고리의 다른 글
PostgreSQL 세션 신규 연결시 에러 (FATAL: sorry, too many clients already) (0) | 2021.06.14 |
---|---|
nginx에서 flask 앱 돌리기 위한 설정 (0) | 2021.06.08 |
wsgi 서버 (0) | 2021.06.07 |
[점프투플라스크] 303쪽 alias 안될때 (command not found) (0) | 2021.06.07 |
flask run 했을때 에러 OSError: [Errno 98] Address already in use (0) | 2021.06.04 |