Nginx 와 uWSGI 배치
Django 가 생산 모드 에서 실 행 될 때 정적 파일 을 지원 하지 않 습 니 다. 정적 파일 을 정적 파일 서버 에 전달 해 야 합 니 다.
우 리 는 먼저 모든 정적 파일 을 수집한다.프로젝트 의 정적 파일 은 우리 가 사용 하 는 front 를 제외 하고 django 자체 에 정적 파일 이 있 습 니 다. 만약 restframework, xadmin, admin, ckeditor 등.정적 파일 을 수집 해서 정적 파일 서버 에 집중 해 야 합 니 다.
수집 한 정적 파일 을 front 디 렉 터 리 에 있 는 static 디 렉 터 리 에 넣 으 려 면 디 렉 터 리 static 을 먼저 만 듭 니 다.
Django 는 정적 파일 을 수집 하 는 방법 을 제공 합 니 다.먼저 설정 파일 에 수집 한 디 렉 터 리 를 설정 합 니 다.
#
STATIC_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'front/static')
수집 명령 을 수행 합 니 다.
python manage.py collectstatic
정적 파일 서버 로 Nginx 서버 를 사용 합 니 다.
Nginx 프로필 열기
sudo vim /usr/local/nginx/conf/nginx.conf
주의 하 다.
sudo apt-get install nginx
:
/usr/sbin/nginx:
/etc/nginx:
/usr/share/nginx:
/var/log/nginx:
server 부분 에 설정
server {
listen 80;
server_name www.xxx.com;
location / {
root /home/python/Desktop/xxx/front;
index index.html index.htm;
}
#
}
Nginx 서버 다시 시작
sudo /usr/local/nginx/sbin/nginx -s reload
nginx 서버 첫 시작
sudo /usr/local/nginx/sbin/nginx
nginx 서버 정지
sudo /usr/local/nginx/sbin/nginx -s stop
2. 동적 인터페이스
설정 파일 settings. py 수정 중
DEBUG = False
ALLOWED_HOSTS = [..., 'www.xxx.com'] #
CORS_ORIGIN_WHITELIST = (
'127.0.0.1:8080',
'localhost:8080',
#
)
django 프로그램 은 보통 uwsgi 서버 를 사용 하여 실 행 됩 니 다.
설치
pip install uwsgi
프로젝트 디 렉 터 리 / mall 에서 uwsgi 프로필 uwsgi. ini 만 들 기
[uwsgi]
# nginx ,Django
socket=192.168.229.133:8001
# web ,Django
#http=192.168.229.133:8001
#
chdir=/home/python/Desktop/meiduo/mall
# wsgi.py ,
wsgi-file=mall/wsgi.py
#
processes=4
#
threads=2
# uwsgi
master=True
#
pidfile=uwsgi.pid
# , uwsgi , 。 runserver
daemonize=uwsgi.log
#
virtualenv=/home/python/.virtualenvs/py3_django_1.11
uwsgi 서버 시작
uwsgi --ini uwsgi.ini
서버 를 정지 하려 면 kill 명령 외 에 도 통과 할 수 있 습 니 다.
uwsgi --stop uwsgi.pid
Nginx 프로필 을 수정 하여 Nginx 가 요청 을 받 은 후 uwsgi 서버 에 전송 하도록 합 니 다.
upstream meiduo {
server 192.168.229.133:8001;
}
#gzip on;
server {
listen 8000;
server_name api.meiduo.site;
location / {
include uwsgi_params;
uwsgi_pass meiduo;
}
}
server {
listen 80;
server_name www.meiduo.site;
#charset koi8-r;
#access_log logs/host.access.log main;
location /xadmin {
include uwsgi_params;
uwsgi_pass meiduo;
}
location /ckeditor {
include uwsgi_params;
uwsgi_pass meiduo;
}
location / {
root /home/python/Desktop/front;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
다시 시작 nginx
sudo /usr/local/nginx/sbin/nginx
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.