Django + uWSGI 최신 nginx 배치, 병행 향상
설치 하 다.
diango 설치 패키지
이 항목 에 필요 한 설치 패키지
soundfile 참조 오류 가 발생 하면: OSError: sndfile library not found 솔 루 션 = > apt - get install libsndfile 1
테스트
python manage.py runserver 0.0.0.0:8000
Django 사 이 트 를 정상적으로 방문 할 수 있 는 지 확인 하 세 요.정상적으로 접근 할 수 있 으 면 Django 프로젝트 가 성공 적 으로 구축 되 었 습 니 다.
주: 본 논문 의 프로젝트 경 로 는
127.0.0.1:8000
이다.Virtualenv
root@iZ8vb7ux6dyyb6a2jkpo2kZ:~# apt-get update
root@iZ8vb7ux6dyyb6a2jkpo2kZ:~# apt-get install python3-pip
root@iZ8vb7ux6dyyb6a2jkpo2kZ:~# pip3 install virtualenv
root@iZ8vb7ux6dyyb6a2jkpo2kZ:~# mkdir vpservers
root@iZ8vb7ux6dyyb6a2jkpo2kZ:~# cd vpserver
root@iZ8vb7ux6dyyb6a2jkpo2kZ:~/vpserver# virtualenv -no-site-packages venv
즉, 새로운 venv 환경 을 만 들 었 고 원래 시스템 의 Python 환경 과 가방 을 포함 하지 않 습 니 다.
source venv/bin/activate
새로운 환경 활성화, 새로운 여정 시작
uWSGI
설치 하 다.
pip3 install uwsgi
테스트
새 test. py
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
python 3 시 return 은 b "xxx" 를 사용 해 야 합 니 다. 그렇지 않 으 면 테스트 할 때 빈 페이지 가 나타 나 고 "hello world" 가 표시 되 지 않 습 니 다.
운행 하 다.
uwsgi --http 0.0.0.0:8000 --wsgi-file test.py
uwsgi 를 사용 하여 test. py 파일 을 실행 하고 http 모드, 포트 8000 을 사용 합 니 다.
접근
/root/ai_security_platform
, 페이지 에 "hello World" 가 나타 나 면 실행 에 성공 합 니 다.Django + uWSGI
uwsgi --http 0.0.0.0:8000 --chdir /root/ai_security_platform --wsgi speaker_recognition.wsgi
-- chdir 지정 작업 경로 -- wsgi 지정 wsgi 파일, 그 중 speakerrecognition. wsgi 는 speakerrecognition 폴 더 의 wsgi. py 파일
접근
127.0.0.1:8000
, 성공 적 인 접근 은 django + uWSGI 연결 성공 을 표시 합 니 다.Nginx
설치 하 다.
apt-get install nginx
배치 하 다.
인터넷 의 많은 튜 토리 얼 에서 nginx. conf 는 새 버 전에 서 삭제 되 었 습 니 다.
이 파일 의 설정 수정
127.0.0.1:8000
:vim /etc/nginx/sites-available/default
# default :
upstream django {
server 127.0.0.1:8001; #web socket
}
server {
listen 8000 default_server;
listen [::]:8000 default_server;
# root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
root /root/ai_security_platform;
uwsgi_pass django;
include /root/ai_security_platform/speaker_recognition/uwsgi_params;
}
}
테스트
nginx
nginx 서 비 스 를 시작 합 니 다. 포트 가 점용 되면 포트 를 풀 거나 바 꾸 어 열 었 습 니 다. 브 라 우 저 는 ip: port 를 방문 합 니 다.
/etc/nginx/sites-available/default
가 나타 나 면 성공 적 으로 시작 되 었 음 을 설명 합 니 다. 웹 의 socket 포트 가 설정 되 지 않 았 기 때문에 502 Bad Gateway
오류 가 발생 했 습 니 다.nginx + uWSGI
test. py 를 사용 하여 테스트 실행
uwsgi --socket :8001 --wsgi-file test.py
다른 것 은 이번 테스트 가 실 행 된 명령 에서 http 는 -- socket 으로 바 뀌 었 고 포트 는 위 에 nginx 를 설정 한 웹 socket 포트 8001 로 바 뀌 었 습 니 다.
이전 섹 션 에서 nginx 를 시작 하 는 페이지 에 접근 하면
502
연결 이 성공 합 니 다.nginx + uWSGI + Django
uwsgi --socket :8001 --chdir /root/ai_security_platform --wsgi speaker_recognition.wsgi
ip: port 에 접근 하면 django 프로젝트 에 성공 적 으로 접근 하면 연결 이 성공 합 니 다.
프로필 화
프로젝트 에 uwsgi 설정 파일 uwsgi. ini 추가:
[uwsgi]
socket = 127.0.0.1:8001
chdir = /root/ai_security_platform/
module = speaker_recognition.wsgi
master = true
processes = 2
threads = 2
max-requests = 2000
chmod-socket = 664
vacuum = true
daemonize = /root/ai_security_platform/log/uwsgi.log
502
nginx 에 설 치 된 socket 포트 와 일치 합 니 다 실행:
uwsgi --ini uwsgi.ini
nginx 설정 주 소 를 방문 하고 django 프로젝트 사 이 트 를 정상적으로 방문 하면 연결 이 성공 합 니 다.
흔 한 문제
hello world
events {
worker_connections 2048;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.