nginx+uwsgi+django 환경 구축 방법 절차
1.uwsgi,nginx,django 설치
apt install nginx
pip install uwsgi
pip install django
2.uwsgi 와 nginx 의 연결 테스트PS:아래 의 예 는 유 닉 스 socket 링크 로 보 냅 니 다.
파일 만 들 기 foobar.py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"] # python3
#return ["Hello World"] # python2
파일 만 들 기 foobaruwsgi.ini
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /home/dmd/project/ENV/mysite
# Django's wsgi file
module = foobar
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = /home/dmd/project/ENV/mysite/foobar.sock
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
# true, socket, nginx , false
vacuum = false
파일 만 들 기 foobarnginx.conf
server {
listen 8099;
server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass unix:///home/dmd/project/ENV/mysite/foobar.sock; # unix socket
# uwsgi_pass 127.0.0.1:8000 # TCP socket
uwsgi_read_timeout 2;
}
}
이 파일 을/etc/nginx/sites-enabled 에 연결 하면 nginx 에서 볼 수 있 습 니 다.
sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/
시작 nginx
sudo service nginx start
시작
uwsgi --ini foobar_uwsgi.ini
127.0.0.1:8099 를 방문 하면'Hello World'가 나타 나 면 다음 연결 스 택 이 성공 적 이라는 것 을 설명 합 니 다.the web client <-> the web server <-> the socket <-> uWSGI <-> Python
3.전체 연결 스 택 만 들 기the web client <-> the web server <-> the socket <-> uwsgi <-> Django
django 프로젝트 만 들 기
django-admin startproject mysite
프로젝트 의 루트 디 렉 터 리 에 mysite 만 들 기uwsgi.ini
# myweb_uwsgi.ini file
[uwsgi]
# Django-related settings
socket = mysite.sock
# the base directory (full path)
chdir = /home/dmd/project/ENV/mysite
# Django s wsgi file
module = mysite.wsgi
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 4
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = false
프로젝트 루트 디 렉 터 리 에 mysite 만 들 기nginx.conf
server {
listen 8099;
server_name 127.0.0.1
charset UTF-8;
access_log /var/log/nginx/myweb_access.log;
error_log /var/log/nginx/myweb_error.log;
client_max_body_size 75M;
location / {
include uwsgi_params;
uwsgi_pass unix:///home/dmd/project/ENV/mysite/mysite.sock; # unix socket
# uwsgi_pass 127.0.0.1:8000 # TCP socket
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/dmd/project/ENV/mysite/static/;
}
}
링크sudo ln -s ~/path/to/your/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/
운행 하 다.
# uwsgi
uwsgi --ini mysite_uwsgi.ini
# niginx
sudo service nginx start
테스트127.0.0.1:8099 를 방문 하여 django 페이지 를 보면 성공 을 설명 합 니 다.전체 디 렉 터 리 트 리
mysite/
├── db.sqlite3
├── manage.py
├── mysite
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── settings.cpython-36.pyc
│ │ ├── urls.cpython-36.pyc
│ │ └── wsgi.cpython-36.pyc
│ ├── settings.py
│ ├── urls.py
│ └── wsgi.py
├── mysite.sock
├── mysite_nginx.conf
├── mysite_uwsgi.ini
└── uwsgi_params
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.