아 리 클 라 우 드 배치 Flask + uWSGI + Nginx
오늘 아 리 클 라 우 드 서버 를 구 입 했 습 니 다. 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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.