nginx + uwsgi + fllask 가 Liux 에서 의 배치 (신뢰성 확보)
5164 단어 Linux 및 서버python 기본 노트
지금 우리 가 flask 스 크 립 트 를 다 썼 다 고 가정 해 보 세 요.나 는 그 에 게 manager. py 라 는 이름 을 지어 주 었 다.그렇다면, 우 리 는 자신의 flask 프로그램 을 서버 에 업로드 하고, uwsgi + nginx 배 치 를 사용 하여 외부 네트워크 에 접근 할 수 있 도록 해 야 합 니 다. 우 리 는 어떻게 해 야 합 니까?서 두 르 지 말고 다음 과 같은 몇 가지 절차 로 나 누 어 라.
pip install uwsgi
잘못 보고 하면 python. h 가 부족 합 니 다. 서 두 르 지 마 세 요. 먼저 yum install python-devel
한 다음 에 pip 로 설치 하면 됩 니 다.sudo yum intall -y nginx
설치 가 성공 하 기 를 기다 리 고 있 습 니 다.cd /home/test
에 들 어 갑 니 다.테스트. ini 와 같은 파일 을 새로 만 듭 니 다.vi test.ini
들 어가 면 다음 줄 을 적 으 세 요. [uwsgi]
socket= 127.0.0.1:5000
wsgi-file=/home/test/manager.py
callable=app
touch-reload=/home/test/
master = true
이 몇 개의 매개 변 수 는 무슨 뜻 입 니까?첫 번 째 는 socket 입 니 다. 즉, 이 uwsgi 프로그램 에 연 결 된 소켓 입 니 다.두 번 째 매개 변 수 는 flask 파일 의 경로 입 니 다.세 번 째 인 자 는 flask 대상 의 이름 입 니 다. (바로 그 app = Flask ( name) 안에 있 는 'app' 입 니 다. 다른 이름 을 부 르 면 그 이름 으로 바 꾸 세 요.네 번 째 매개 변 수 는 처음에 올 린 폴 더 의 경 로 를 작성 하 는 것 이지 중요 한 매개 변 수 는 아 닙 니 다.다섯 번 째 매개 변 수 는 그대로 옮 기 면 됩 니 다.보존6. Nginx 설정.nginx 서버 의 프로필 nginx. conf 를 엽 니 다.찾 지 않 으 면 보통 * / etc / nginx / nginx. conf * * 경로 에서 찾 습 니 다. *그렇지 않 으 면
whereis nginx
명령 을 사용 하여 nginx 가 있 는 모든 디 렉 터 리 를 찾 은 다음 디 렉 터 리 에 nginx. conf 파일 이 있 는 지 하나씩 볼 수 있 습 니 다. *그것 을 열 고 편집 하 세 요.server 코드 블록 이 무 거 운 location 코드 블록 만 수정 하 십시오.이렇게 만 들 기:location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:5000;
}
됐 습 니 다.그 중, uwsgipass 매개 변 수 는 앞에서 언급 한 uwsgi 프로그램의 소켓 과 함께 이 소켓 을 통 해 통신 합 니 다.conf 파일 에 있 는 server 코드 블록 에 listen 80 이 있 는 것 을 볼 수 있 습 니 다.이것 은 nginx 로 하여 금 80 포트 를 감청 하 게 하고 127.0.0.1: 5000 을 통 해 백 엔 드 에 전 달 된 uwsgi 를 요청 한 다음 이 포트 를 통 해 백 엔 드 로 돌아 온 데 이 터 를 요청 에 전달 하 는 것 입 니 다 (알 아 볼 수 없 으 면 괜 찮 습 니 다).7. nginx 서버 를 실행 합 니 다.실행 방법:
nginx -c /etc/nginx/nginx.conf
실행 에 성공 하면 브 라 우 저 로 서버 의 ip 을 열 면 400 bad request 가 표 시 됩 니 다.nginx 서버 가 성공 적 으로 열 렸 지만 백 엔 드 의 uwsgi 가 켜 지지 않 아 백 엔 드 로 전송 을 요청 하 는 uwsgi 프로그램 을 사용 할 수 없습니다.그래서 다음은 uwsgi 를 엽 니 다.8. uwsgi 프로그램 을 실행 합 니 다.실행 방법: 먼저 test. ini 가 있 는 디 렉 터 리 로 전환 합 니 다.그 다음 uwsgi --ini test.ini
이면 됩 니 다.127.0.0.1: 5000 에 성공 적 으로 연결 되 었 고 서비스 가 성공 적 으로 시작 되 었 다 는 글 자 를 볼 수 있 습 니 다.브 라 우 저 에 서버 의 ip 주 소 를 입력 하 십시오. 의외 의 사고 가 발생 하지 않 으 면 당신 이 쓴 fllask 프로그램 에 접근 할 수 있 습 니 다.해결 ~ (tips: 직접 uwsgi -- ini - tesst. ini 로 인해 정 보 를 표준 출력 으로 인쇄 할 수 있 으 므 로 nohup 으로 실행 하 는 것 을 권장 합 니 다)마지막 으로 서버 와 서 비 스 를 닫 는 방법 을 제시 합 니 다.nginx: nginx - s stop 닫 기 uwsgi killall - s INT / path / to / uwsgi (uwsgi 의 path 는 whereis 를 통 해 찾 을 수 있 습 니 다. kill 을 직접 사용 하면 uwsgi 서비스 가 재 개 되 고 닫 을 수 없습니다)
마지막 으로 웹 애플 리 케 이 션 을 성공 적 으로 배치 하지 못 하면 아래 에 메 시 지 를 남 겨 주세요!메 일 로 보 내 주세요[email protected]。질문 이 있 으 면 반드시 대답 하 다.
앞에서 다른 블 로그 에 쓰 인 불완전한 방법 을 토 설 했 습 니 다. 사실은 제 가 일부러 그들 을 먹칠 하려 고 한 것 도 아 닙 니 다. 대부분의 블 로 그 는 불완전 하지만 저 에 게 많은 도움 을 주 었 기 때문에 저 는 그들 에 게 매우 감 사 드 립 니 다.그러나 이 는 블 로그 에 튜 토리 얼 안 내 를 쓸 때 똑 같이 무책임 한 실 수 를 했 는 지 를 일 깨 워 주 었 다.따라서 제 모든 블 로그 가 모 르 고 무책임 한 부분 이 있다 면 연락 주세요[email protected]겸허 하 게 고 치 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
동시 프로세스 - Process 객체의 메소드 속성문서 목록 join방법 프로세스 대상의 다른 방법 1:terminate와 isalive 프로세스 대상의 기타 속성:name와pid 주 프로세스가 하위 프로세스가 실행되었는지 확인하고 하위 프로세스가 실행된 후에야 계...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.