배포쪽에서 이슈들이 있었는데
이전 전략은
gunicorn에서 uvicorn worker을 써서 asgi도 처리하게 하는것.
그러나 이것은 웹소켓 연결수가 많아지니 터져버렸다.
그래서 아예 gunicorn은 wsgi만.
uvicorn서비스는 asgi만. 처리하도록 분리했다.
gunicorn
before
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=dev3
Group=www-data
WorkingDirectory=/home/dev3/btn/
ExecStart=/home/dev3/btn/venv/bin/gunicorn \
--access-logfile - \
--workers 5 \
--bind unix:/run/gunicorn/gunicorn.sock \
-k uvicorn.workers.UvicornWorker \
--log-level debug \
button.asgi:application
[Install]
WantedBy=multi-user.target
----------------------------------------------
after
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=dev3
Group=www-data
WorkingDirectory=/home/dev3/btn/
ExecStart=/home/dev3/btn/venv/bin/gunicorn \
--access-logfile - \
--workers 5 \
--bind unix:/run/gunicorn/gunicorn.sock \
--log-level debug \
button.wsgi:application
[Install]
WantedBy=multi-user.target
Uvicorn
[Unit]
Description=Uvicorn Websocket Server
After=network.target
[Service]
User=dev3
WorkingDirectory=/home/dev3/btn
ExecStart=/home/dev3/btn/venv/bin/uvicorn button.asgi:application --host 127.0.0.1 --port 8001
Restart=always
[Install]
WantedBy=multi-user.target
구니콘은 소켓 사용하고 유비콘은 로컬로 따로 동작하도록 !
아 uvicorn 포트가 8001이니까 sudo ufw allow 8001 해줘야함.
'🎱개발일지' 카테고리의 다른 글
tplink-tapo cctv 연결하기(feat. flutter) (0) | 2024.10.30 |
---|---|
노트북, 깃헙계정 여러개 연결! (0) | 2024.10.25 |
20240910 (0) | 2024.09.10 |
OpenVPN 서버-클라이언트 연결 (0) | 2024.03.05 |
[쿨쿨콜] 1.인생 첫 외주! 견적내기부터~,, (0) | 2023.09.16 |