Ubuntu 아래 flask Django 프로젝트 배치
4794 단어 uginx
하나.다운로드 설치 nginx 방법 1:https://blog.csdn.net/b_evan/article/details/72858149
방법 2: 1. nginx 배관 2. download 3. 문서 에서 홈 페이지 설치 방식 찾기 4. 인증 키 wget 다운로드http://nginx.org/keys/nginx_signing. key 는 현재 디 렉 터 리 에 있 는 nginx 를 다운로드 합 니 다.signing. key 파일 중 5. sudo apt - key add nginx 설치signing. key 6. 원본 을 대응 하 는 파일 로 전환 합 니 다.vim / etc / apt / sources. list 에 원본: deb 를 편집 합 니 다.http://nginx.org/packages/ubuntu/ codename nginx deb-src http://nginx.org/packages/ubuntu/ codename nginx 는 codename 을 현재 codename 16.04 로 바 꾸 는 것 을 주의 하 십시오. xenial 저장 종료 7. 업데이트 및 설치 apt - get update apt - get install nginx 8. nginx 서비스 가 ps - ef | grep nginx 9 를 열 었 는 지 확인 하 십시오.sudo nginx 10. 주 소 를 직접 입력 하면 접근 할 수 있 습 니 다.
* * nginx 사용 * *
둘.서버 에 배 치 된 Django 설정 과 Flask 설정 의 차이 가 크 지 않 습 니 다.
flask 1, 프로젝트 아래 uwsgi 프로필 을 새로 만 듭 니 다.형식 은. ini 일 수 있 습 니 다.저장
[uwsgi] \ # 외부 접근 주소, 다양한 프로 토 콜 을 지정 할 수 있 습 니 다. 현재 http 로 디 버 깅 이 편리 합 니 다. 이후 socket socket = 0.0.0.0: 8000 \ # uwsgi 의 감청 포트 \ # 프로젝트 디 렉 터 리 chdir = / home / xlg / blog 를 가리 키 고 있 습 니 다.
flask 시작 프로그램 파일
manage. py 파일 에 있 는 app 이름
callable = app
plugins = python \ # 이 줄 은 반드시 추가 해 야 합 니 다. 그렇지 않 으 면 요청 할 때 나타 납 니 다. unavailable modifier request: 0 -- 오류 알림
\ # 프로세서 수 processes = 1
\ # 스 레 드 수 threads = 2
둘째, 새 nginx 시작 설정 파일 입 니 다.접미사nginxflask. conf 라 고 이름 을 붙 여 저장 할 수 있 습 니 다.
user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
server{
listen 80; \ # 서버 감청 포트 server name 10.31.160.242; \ # 도 메 인 이름 이나 네트워크 IP location / {uwsgi pass 127.0.0.1: 5000; \ # 퍼 가기 포트 는 uwsgi 설정 의 감청 포트 와 일치 해 야 합 니 다.
include /etc/nginx/uwsgi_params; # uwsgi
#uwsgi_param UWSGI_PYTHON /home/ /venv;
# Python ( )
uwsgi_param UWSGI_PYTHON /home/fengyun/.local/virtualenvs/python3.5/bin;
uwsgi_param UWSGI_CHDIR /home/fengyun/Desktop/nginxProject/blog;
#
uwsgi_param UWSGI_SCRIPT manage:app; #
# test.py , app = Flask(name), test:app
}
}
}
3. 현재 nginx sudo service nginx stop 을 실행 하지 않 습 니 다. ps - ef | grep nginx 로 프로 세 스 번 호 를 보고 kill 프로 세 스 번 호 를 사용 하여 프로 세 스 를 죽 일 수 있 습 니 다.
넷 째, 개인 설정 을 사용 한 시작 nginx 서버 sudo nginx - c ~ / Desktop / nginxconf / nginx Flask. conf
5. 프로젝트 디 렉 터 리 에서 가상 환경 을 사용 하여 uwsgi 를 시작 합 니 다.
일반적으로 Django 는 flask 와 같은 nginxdjango. conf 파일 에 성공 합 니 다.
user root;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events { worker_connections 1024; }
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
#include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name 10.31.160.242 ;
charset utf-8;
root /var/project;
index hello.html;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8010;
}
location /static{
alias /var/project/axf1805/static;
}
}
}
uwsgi. ini 파일 [uwsgi] \ # nginx 로 연결 할 때 socket = 127.0.1: 8010 \ # 웹 서버 로 직접 사용 합 니 다. http = 127.0.1: 8010 \ # 프로젝트 디 렉 터 리 chdir = / var / procject / axfengyun \ # 프로젝트 를 설정 하 는 wsgi 디 렉 터 리 입 니 다. 프로젝트 디 렉 터 리 wsgi - file = axfengyun / wsgi. py 에 비해
\ # 프로 세 스 설정, 스 레 드 정보 프로 세 스 = 4 threads = 2 enable - threads = True master = True pidfile = uwsgi. pid daemonize = uwsgi. log