【 Flask 】 flask + uwsgi + nginx 환경 배치
구체 적 인 절 차 는:
nginx + uwsgi 설치 nginx 설정 nginx / 1.12.2 Flask 설치 0.10.1 설치 uwsgi 2.0.16 (64bit) 설치 uwsgi - plugin - python 2.0.16
flask 프로젝트 만 들 기
1 #!/usr/bin/python
2 # coding=utf-8
3
4 from flask import Flask
5 import sys
6 reload(sys)
7
8 print sys.path
9 sys.path.append('/home/MySite')
10 sys.setdefaultencoding('utf-8')
11
12 app = Flask(__name__)
13
14
15 @app.route('/')
16 def hello_world():
17 return ' !!! !'
18
19
20 if __name__ == '__main__':
21 app.run(port=8080,debug=True)
flask 가 표 시 될 수 있 는 지 테스트 해 보 세 요.
주의 하 다.
flask 가 직접 실행 되 고 한 대의 컴퓨터 에서 만 볼 수 있 습 니 다. 단일 스 레 드 이기 때 문 입 니 다.
app.run(host='0.0.0.0',port=80)
텐 센트 클 라 우 드 보안 팀 에서 80 포트 를 열 면 접근 할 수 있 습 니 다.
다른 호스트 는 유사 해 야 합 니 다.host 에서 네트워크 주 소 를 입력 하면 시작 할 수 없습니다.
ps.. 마카오 xx 는 텐 센트 운 에 의 해 차단 된다...건강 하고 조화 로 운 내용 으로 바 꿔 주세요.
ini 파일 만 들 기
1 [uwsgi]
2 base =/home/MySite
3 callable = app # , application
4 socket = :8081 # , nginx
5 chdir =/home/MySite/ #
6 wsgi-file =MySite.py # flask ,
7 processes = 4 #4 , 2
8 threads = 2
9 chmod-socket = 666
10 plugins=python # uwsgi-plugin-python
11 daemonize = mysite.log # uwsgi , Log
12 #stats = :8082
nginx 프로필 수정
1 user nginx;
2 worker_processes auto;
3 error_log /var/log/nginx/error.log;
4 pid /run/nginx.pid;
5
6 # Load dynamic modules. See /usr/share/nginx/README.dynamic.
7 include /usr/share/nginx/modules/*.conf;
8
9 events {
10 worker_connections 1024;
11 }
12
13 http {
14 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
15 '$status $body_bytes_sent "$http_referer" '
16 '"$http_user_agent" "$http_x_forwarded_for"';
17
18 access_log /var/log/nginx/access.log main;
19
20 sendfile on;
21 tcp_nopush on;
22 tcp_nodelay on;
23 keepalive_timeout 65;
24 types_hash_max_size 2048;
25
26 include /etc/nginx/mime.types;
27 default_type application/octet-stream;
28
29 # Load modular configuration files from the /etc/nginx/conf.d directory.
30 # See http://nginx.org/en/docs/ngx_core_module.html#include
31 # for more information.
32 include /etc/nginx/conf.d/*.conf;
33
34 server {
35 listen 80;
36 server_name localhost;
37 location / {
38 include /etc/nginx/uwsgi_params;
39 uwsgi_pass 127.0.0.1:8081; # ini
40 uwsgi_param UWSGI_CHDIR /home/MySite;
41 #uwsgi_param UWSGI_SCRIPT View:app;
42 #uwsgi_param SCRIPT_NAME /;
43 #uwsgi_pass unix:/home/MySite/uwsgi.sock;
44 }
45
46 error_page 404 /404.html;
47 location = /40x.html {
48 }
49
50 error_page 500 502 503 504 /50x.html;
51 location = /50x.html {
52 }
53 }
54 }
uwsgi 시작 명령, 절대 경 로 를 쓰 지 않 으 면 ini 파일 의 현재 경로 에서 실행 해 야 합 니 다.
1 uwsgi --ini abc.ini
nginx 시작 명령
/usr/sbin/nginx -c /etc/nginx/nginx.conf
이 두 서 비 스 를 시작 하면 플 라 스 크 내용 에 정상적으로 접근 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.