아 리 클 라 우 드 배치 Flask + uWSGI + Nginx

5806 단어
머리말
오늘 아 리 클 라 우 드 서버 를 구 입 했 습 니 다. centeros 7.5 버 전 입 니 다.본 고 는 Flask 의 배치 문 제 를 해결 하 였 다.만약 에 당신 의 Flask 응용 이 완성 되 었 다 고 가정 하면 지금 은 배치 의 문제 일 뿐 입 니 다. 본 고 는 나의 2 차 개발 위 챗 구독 번호 프로젝트 (프로젝트 코드 참조:https://www.cnblogs.com/li-li/p/10331714.html)
내 가 채택 한 배치 방안 은:
    - 웹 서버 는 uwsgi host Flask 를 사용 합 니 다.
    - 슈퍼 visor 로 uwsgi 를 인용 하여 일반적인 시작 서 비 스 를 합 니 다.
    - Nginx 기반 역방향 에이전트 하기;
우선, 아 리 클 라 우 드 서버 는 SSH 명령 을 통 해 본 컴퓨터 의 단말기 에서 원 격 으로 연결 할 수 있다.
ssh root@      

비밀 번 호 를 입력 하면 클 라 우 드 서버 에 연결 할 수 있 습 니 다.
2. python 3 설치, 가상 환경 설치 및 설정
참고 블 로그:https://www.cnblogs.com/li-li/p/10192625.html
3. 가상 환경 에서 fllask 및 프로젝트 를 설치 하 는 다른 의존
1. 저 는 리스트 파일 로 Flask 와 관련 된 의존 도 를 한꺼번에 설치 합 니 다. 그러면 더욱 빠 를 것 입 니 다.내 인용 목록 (requirements. txt) 내용 은 다음 과 같다. 
certifi==2018.11.29
chardet==3.0.4
Click==7.0
Flask==1.0.2
Flask-Script==2.0.6
idna==2.8
itsdangerous==1.1.0
Jinja2==2.10
MarkupSafe==1.1.0
requests==2.21.0
SQLAlchemy==1.2.17
urllib3==1.24.1
Werkzeug==0.14.1

2. 설치 목록 파일 에 의존 하 는 명령 은 다음 과 같 습 니 다.
(wechatEnv) [root@wanglili my_flask]# pip3 install -r requirements.txt

메모: 이 설 치 를 실행 하기 전에 python 가상 환경 을 사용 해 야 합 니 다. 그렇지 않 으 면 전역 에 직접 설 치 됩 니 다!
3. Flask 의 프로젝트 파일 을 업로드 합 니 다. 전체 프로젝트 파일 구 조 는 다음 과 같 습 니 다.
/root/my_flask
        ├── app
        │   ├── __init__.py 
        │   ├── templates
        │   │       └── index.html
        │   └── views
        │         └── wx_demo.py
        ├── logs
        ├── manager.py
        ├── settings.py
        └── requirements.txt

4. uWSGI 설치 및 설정
이로써 프로젝트 의 준비 작업 이 완료 되 었 습 니 다. 우 리 는 다음 에 uWSGI 를 설치 하고 프로필 로 프로젝트 를 시작 해 야 합 니 다. 절 차 는 다음 과 같 습 니 다.
(wechatEnv) [root@wanglili my_flask]# pip3 install -i https://pypi.douban.com/simple uwsgi                #   uwsgi
(wechatEnv) [root@wanglili my_flask]# touch uwsgi.ini             #       ,      
[uwsgi]
# uwsgi             
http-socket = 0.0.0.0:5000

#       
chdir = /root/my_flask

# python       
wsgi-file = manager.py

# python          application    
callable = my_app

#     
processes = 4

#    
threads = 2

#       
stats = 0.0.0.0:8000

설치 완료 후 명령 으로 시작 하여 설정 이 올 바른 지 확인 합 니 다.
(wechatEnv) [root@wanglili my_flask]# uwsgi uwsgi.ini

5. Nginx 설치
1. nginx 설치, 블 로그 참조
2. nginx 의 설정
server {
        listen       80;
        #          url  
        server_name  39.xx.xx.130;

        ......

        location / { 
            #   nginx       ,      5000  ,          flask,             5000  
            proxy_pass  http://39.xx.xx.130:5000;  
            # root   html;
            # index  index.html index.htm;
        }

        ......
  }

6. 슈퍼 바 이 저 를 설치 하고 설정 합 니 다.
[root@wanglili my_flask]# easy_install supervisor       #              
(wechatEnv) [root@wanglili my_flask]# echo_supervisord_conf > /etc/supervisor.conf      #       supervisor     
(wechatEnv) [root@wanglili my_flask]# vi /etc/supervisor.conf      #   ,         
[program:my_flask]
# command
=/root/Envs/wechatEnv/bin/uwsgi /root/my_flask/uwsgi.ini
# directory
=/root/my_flask
# user
=root
autostart
=true autorestart=true
# stdout_logfile
=/root/my_flask/logs/uwsgi_supervisor.log
(wechatEnv) [root@wanglili my_flask]# supervisord -c  /etc/supervisor.conf    #   supervisord   ,        
(wechatEnv) [root@wanglili my_flask]# supervisorctl -c  /etc/supervisor.conf    #   supervisor     ,          
supervisor> start my_flask

 
다음으로 전송:https://www.cnblogs.com/li-li/p/10390364.html

좋은 웹페이지 즐겨찾기