프로그래밍/Python

django와 함께한 nginx,uwsgi 여행기

레인보우떡 2021. 2. 2. 15:42

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만리라.. 우선 틀어 막았따..

 

 

 

 

 

참고 자료

nerogarret.tistory.com/45

 

Django 서비스 AWS로 배포하기 - [1] 프로젝트 준비와 AWS 서버 대여

안녕하세요, 네로입니다. 이번 포스팅의 시리즈에서는 자신이 만든 프로젝트/서비스를 Amazon Web Service(AWS) 로 배포하는 방법을 소개해 볼까 합니다. 주위에 웹 개발을 배우시는 분들 중에는 자신

nerogarret.tistory.com

www.lesstif.com/system-admin/centos-selinux-6979732.html

 

CentOS SELinux 설정 및 해제하기

SELinux 를 해제후 다시 켤 경우 relabel 이 필요하며 이때 잘못된 설정이 있을 경우 부팅이 안 되거나 ssh 로 원격 접속이 불가능할 수 있으므로 enforcing 모드가 아닌 permissive 로 설정후 재부팅하는 것

www.lesstif.com

m.blog.naver.com/PostView.nhn?blogId=tequini&logNo=220985950985&proxyReferer=https:%2F%2Fwww.google.com%2F

 

[Linux] CentOS 7 SELinux 설정

OS : CentOS 7 - SELinux 표준 리눅스 보안은 임의 접근 제어(Discretionary Access Control - ...

blog.naver.com

jootc.com/p/201806241113

 

Linux SELinux 끄기 및 임시 비활성화 방법 - JooTC

Linux SELinux 끄기 SELinux는 근래의 리눅스에 도입된 보안 정책을 강화시켜 접근 권한에 대해 쉽게 제어하지 못하도록 하는 보안 모듈입니다. 리눅스 커널 2.6 이상인 대부분의 리눅스 배포판에는 SEL

jootc.com

 

728x90

'프로그래밍 > 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