Ubuntu 14.04 + Django 1.7.1 + Nginx + uwsgi 배치 최 단 기록 (uwsgi 홈 페이지 튜 토리 얼 간소화)
django + uwsgi 의 배치 가 너무 아파 요. 인터넷 에 있 는 튜 토리 얼 에 새로운 버 전의 호환성 문제 가 있 는 것 같 아 요.마지막 으로 uwsgi 홈 페이지 에서 찾 은 튜 토리 얼 이 드디어 뚫 렸 습 니 다. 그러나 홈 페이지 의 튜 토리 얼 은 교육 을 유도 하 는 성격 이 있 는 것 같 습 니 다. 배치 할 때 매우 복잡 해 보 입 니 다. 여기에 기록 하여 내용 을 간소화 합 니 다.
http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
~ ~ 우선 uwsgi 가 필요 합 니 다.프로젝트 의 conf 폴 더 에 params 파일 을 넣 습 니 다.그 다음 에 가리 키 셔 야 합 니 다.홈 페이지 에서 자신 에 게 params 파일 을 쓰 는 것 은 불필요 하 다. 다른 예 에 서 는 모두 이 문장 으로 대체 된다. include uwsgiparams
ts 라 는 이름 만 들 기nginx. conf 파일 의 내용 은 다음 과 같 습 니 다.
설정 에서 sockets 를 내부 전송 으로 사용 하지 않 았 습 니 다. 테스트 가 성공 하지 못 했 기 때 문 입 니 다. 권한 문제 일 수도 있 습 니 다. 나중에 알 겠 습 니 다. location 에서 공식 적 으로 준 예 는 루트 옵션 이 없 지만 포트 를 80 으로 바 꾸 면 nginx 의 기본 첫 페이지 를 바 꿀 수 없습니다.
# ts_nginx.conf
# the upstream component nginx needs to connect to
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}
# configuration of the server
server {
# the port your site will be served on
listen 80;
# the domain name it will serve for
server_name .example.com; # substitute your machine's IP address or FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /data/www/ts/media; # your Django project's media files - amend as required
}
location /static {
alias /data/www/ts/static; # your Django project's static files - amend as required
}
# Finally, send all non-media requests to the Django server.
location / {
root /data/www/ts
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
}
}
이 conf 파일 을 nginx 검색 디 렉 터 리 에 연결 합 니 다.
sudo ln -s /data/www/ts/conf/ts_nginx.conf /etc/nginx/sites-enabled/
sudo ln -s /data/www/ts/conf/ts_nginx.conf /etc/nginx/sites-available/
두 번 째 줄 은 제 가 넣 어야 될 것 같 아서...
선 결 조건: django 프로젝트 의 settings 에 static files 를 설정 해 야 합 니 다.
STATIC_ROOT = os.path.join(BASE_DIR, "static/")
and then run
python manage.py collectstatic
다음:
service nginx restart
보 실 수 있 을 거 예요.http://example.cn:8000/media/1.gif (정적 파일 을 미리 넣 었 습 니 다)
그 다음 blabla 절 차 는 모두 쓸데없는 말 이 었 습 니 다. (sockets 를 사용 하지 않 기 때문에) 여기까지 뛰 었 습 니 다.
Configuring uWSGI to run with a .ini file
ts_프로젝트 루트 디 렉 터 리
[uwsgi]
# Django-related settings
# the base directory (full path)
chdir = /data/www/ts
# Django's wsgi file
module = ts.wsgi
# the virtualenv (full path)
home = /root/.envs/test
# process-related settings
# master
master = true
# maximum number of worker processes
processes = 10
# the socket (use the full path to be safe
socket = 127.0.0.1:8001
# ... with appropriate permissions - may be needed
# chmod-socket = 664
# clear environment on exit
vacuum = true
# set an environment variable
env = DJANGO_SETTINGS_MODULE=conf.settings
uwsgi --ini mysite_uwsgi.ini # the --ini option is used to specify a file
환경 변수 설정 env 는 conf 폴 더 에 init. py 가 있어 야 합 니 다. 그렇지 않 으 면 conf 는 module 로 여 겨 지지 않 습 니 다.
프로젝트 디 렉 터 리 에 있 는 같은 이름 의 app 디 렉 터 리 에 있 는 wgi. py 는 프로젝트 를 uwsgi 로 실행 할 settings 파일 을 지정 할 수 있 습 니 다. (주의!)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Ubuntu 22.04에 캐디 설치 - HostnExtra이 기사에서는 Ubuntu 22.04에 Caddy를 설치하는 방법을 설명합니다. 이 문서는 설치 프로세스를 안내하고 웹 사이트를 호스팅합니다. Caddy 웹 서버는 Go로 작성된 오픈 소스 웹 서버입니다. Ubunt...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.