django로 만든 페이지 소스를 nginx 서버에 띄우기 위해 uwsgi 를 사용한 후기 입니다.
[환경]
centos 8
django 3.1.6
블로그 주인장께서 아주 하나~~하나 꼼꼼~~ 하게 정리해주셔서 쉽게..? 편하게 구축했다.
(글쓴이분은 Ubuntu로 하셨다, 본인은 [5] 번은 진행하지 않았다)
[3] 번 까지는 있는 그대로 따라 하면 잘 동작하는데
[4] 부터 uwsgi.service가 실행되지 않아서 3일을 고생했다..
괜히 CentOS로 했나..? 부터 시작해서 온갖 관련 없는 추측을 하며 후회하다가 3일 고생한 끝에 uwsgi 와 nginx를 연동했다.
원인은 SELinux 라는 리눅스 커널 보안 기능 때문이었다.
sestatus 명령어로 SELinux 상태를 확인할 수 있고
setenforce 명령어로 current mode 를 변경할 수 있는데
enforcing 상태에서 permissive 상태로 변경해줘야 uwsgi 실행이 가능하다.
1은 enforcing
0은 permissive
echo > 명령어로 어딘가 경로에 있는 파일 값을 수정해주기도 하는데 나는 sudo로 실행해도 안 돼서
setenforce 명령어로 했다.
sudo setenforce 0 를 실행하면 uwsgi.service가 동작은 하는데, ngnix 와 연동은 되지 않는다.
어찌어찌 다른 방법이 없을까 찾아보다가
결국 SELinux 를 disabled로 변경하고 재부팅했다.. [/etc/sysconfig/selinux 에서 SELINUX=disabled로 변경]
깔끔하게 해답을 찾지 못해서 찝찝하긴 한데 갈 길이 9만리라.. 우선 틀어 막았따..
참고 자료
www.lesstif.com/system-admin/centos-selinux-6979732.html
'프로그래밍 > Python' 카테고리의 다른 글
uwsgi 실행, 종료 (0) | 2022.11.02 |
---|---|
django - model, DateTimeField 옵션 (0) | 2022.06.06 |
django no change database db 생성 안되는 원인 (0) | 2022.06.02 |
데이터 과학은 anaconda (0) | 2021.03.02 |
runserver 실행 안되는 문제 (0) | 2020.12.27 |