useradd www-data 로 유저를 추가한다.
passwd user 로 비밀번호를 설정한다.
usermod -a -G www-data www-data (앞에가 그룹, 뒤에가 유저다)
www-data 유저와 그룹을 만드는 이유는 www-data 유저와 그룹이 nginx 소켓 파일을 소유하기 때문이다.
chmod -R 777 [디렉토리] 로 작업 폴더의 권한을 그룹 유저와 다른 유저에게도 디렉토리 안의 파일에 읽기, 쓰기, 실행 권한까지 준다.
nginx conf 파일을 수정해준다.
server {
location / {
include uwsgi_params;
}
location /hello {
include uwsgi_params;
}
}
같이 사이트의 하위 주소를 명기한다.
다음은 Flask, uWsgi, nginx 가 각각 잘 되는지 3단계로 나누어 확인할 차례다.
1. Flask 가 잘 뜨는지 확인
python wsgi.py (uwsg를 실행하는 파이썬 파일)
2. uWsgi가 잘 되는지 확인
uwsgi --http:[port number] --wsgi-file wsgi.py (uwsg를 실행하는 파이썬 파일)
3. run_uwsgi.ini 파일에 http=:[port number] 를 추가해준다.
uwsgi --ini run_uwsgi.ini
오류해결
invalid request block size: 21573 (max 4096)...skip -> 커맨드라인에 -b 32678 을 추가한다.
!!! no internal routing support, rebuild with pcre support !!! -> uWsgi를 다시 설치한다.
도커 컨테이너로 띄운 상황에서 파일 실행 시 로컬 포트와 http 포트가 같지 않을 때 (로컬 포트가 + 1 될때) ->
docker stop [기존컨테이너] (기존 컨테이너 멈추기)
docker commit [기존컨테이너] [새 컨테이너 이름] (기존 컨테이너를 이미지로 커밋)
docker run --privileged --name [예전 컨테이너 이름] -v/sys/fs/cgroup:/sys/fs/cgroup:ro -p [port number]:[port number] -d [새 컨테이너 이름] (기존 컨테이너 이미지를 불러와 새 privileged 컨테이너를 만들고 로컬 포트와 http 포트가 같을 수 있도록 설정)
'개발 > Flask, Fastapi' 카테고리의 다른 글
Fastapi heroku 배포하기 (0) | 2021.06.10 |
---|---|
heroku 로딩 속도 느린 현상 해결하기(non sleep) (0) | 2021.05.16 |
flask-mongoengine으로 추가한 데이터가 Mongodb에서 보이지 않을 때 (0) | 2021.03.29 |
mongoengine NotUniqueError (0) | 2021.03.26 |
Flask 로 MongoDB Atlas 데이터베이스와 연동하기 (0) | 2021.03.26 |