nginx + uwsgi 배치 Django 의 모든 문 제 를 해결 합 니 다.
nginx?
왜 nginx 야?
우선 저 는 그것 이 작고 경량급 이 라 고 생각 합 니 다. 사용 이 간편 하고 apache 만큼 복잡 하지 않 으 며 인터넷 에서 nginx 배치 Django 를 추천 합 니 다.
설치 하 다.
리 눅 스 사용 자 는 소스 코드 설 치 를 추천 합 니 다. 명령 설치 가 타 오 바 오 2 차 개발 nginx 로 설 치 될 수 있 기 때문에 개인 적 으로 원본 을 추천 합 니 다.
uwsgi
왜 이 물건 이 더 필요 합 니까?
쉽게 말 하면 nginx 는 역방향 프 록 시 서버 에 속 하 는데 그 가 무슨 일 을 할 수 있 습 니까?하나의 포트 를 감청 할 수 있 습 니 다. 예 를 들 어 80 은 역방향 프 록 시 포트 를 설정 할 수 있 습 니 다. 예 를 들 어 8000 입 니 다. 그러면 모든 외부 사용자 가 80 포트 에 대한 방문 은 실제 적 으로 8000 포트 의 데 이 터 를 요 구 했 습 니 다. 다만 사용 자 는 8000 포트 와 실제 적 으로 교류 하 는 것 이 아니 라 80 개의 다 리 를 통 과 했 습 니 다.현재 자신 은 이렇게 하면 자신의 진실 한 포트 를 숨 길 수 있다 고 생각 하고 있 습 니 다. 여러분 은 어떤 고견 이 있 는 지 댓 글로 지적 해 주세요. 그렇다면 실제로는 단일 사용자 만 방문 할 수 있 기 때문에 여러 사용자 가 동시에 방문 할 수 있 는 도구 가 필요 하 다. 그러면 uwsgi 다.
WSGI 는 python 언어 를 정의 하 는 유 니 버 설 게 이 트 웨 이 인터페이스 로 python 웹 프레임 워 크 (django, flask, web. py 등) 와 웹 서버 (nginx, apache, lighttpd 등) 간 의 중간 층 을 담당 합 니 다.
chrome、firefox、ie
|
web nginx、apache
|
CGI、FastCGI、WSGI
|
Python( 、Web ) Django、Flask、Tornado
uWSGI 설치
uWSGI 는 C 언어 로 작 성 된 고성능 WSGI 서버 로, uWSGI 를 설치 하기 전에 Python 과 C 컴 파 일 러 (GCC) 를 설치 해 야 합 니 다.python 패키지 관리자 pip 를 사용 하여 uWSGI 를 설치 하 는 것 을 추천 합 니 다.
pip install uWSGI
uwsgi 설치 성공 여부 테스트
터미널 에 다음 명령 을 입력 하여 uwsgi 의 버 전 번 호 를 봅 니 다. 출력 이 정상 이면 uswgi 가 설치 되 었 음 을 설명 합 니 다.
$ uwsgi --version
2.0.11.1
프로필
우선 제 프로젝트 의 파일 상 태 를 보 여 드 리 겠 습 니 다.
FlyCold
├── FlyCold
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── manage.py
├── SchoolBuy
│ ├── admin.py
│ ├── forms.py
│ ├── __init__.py
│ ├── models.py
│ ├── urls.py
│ └── views.py
└── templates
설명 아래, 이것 은 간소 화 된 디 렉 터 리 트 리 입 니 다. 만 든 항목 의 이름 은 FlyCold 이 고, 생 성 된 FlyCold 하위 디 렉 터 리 와 SchoolBuy 응용 디 렉 터 리 (app 디 렉 터 리) 입 니 다.제 주요 코드 는 SchoolBuy 에 있 습 니 다. setting. py 는 Flycold 하위 디 렉 터 리 에 있 고 manager. py 는 FlyCold 루트 디 렉 터 리 에 있 습 니 다.setting. py 의 app 에 SchoolBuy 를 추가 해 야 합 니 다.
FlyCold 홈 디 렉 터 리 에 uwsgi 설정 파일 만 들 기:
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket = :8080 # ip:
#
# Django ( )
chdir = /home/lyt/FlyCold
# wsgi.py
module = FlyCold.wsgi
# process-related settings
# master
master = true
#
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
uwsgi 로 프로젝트 를 시작 하 는 uwsgi 설정 파일: uwsgi -- ini * *. ini
설정 nginx
nginx. conf 를 찾 아 다음 내용 을 쓰 십시오.
server {
#
listen 80;
server_name localhost;
charset UTF-8;
#
access_log /var/log/nginx/SchoolBuy_access.log;
error_log /var/log/nginx/SchoolBuy_error.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
# uwsgi
uwsgi_pass 127.0.0.1:8080; # uwsgi
#
uwsgi_read_timeout 30;
}
}
이렇게 되면 nginx 를 다시 시작 하고 80 포트 에 접근 하면 효 과 를 볼 수 있 습 니 다.
이 글 은 두 편의 문장 에 전재 되 었 다
1.https://blog.csdn.net/baidu_35085676/article/details/77160040
2.https://blog.csdn.net/u011249248/article/details/51253212
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.