Python WEB 응용 배치 의 실현 방법
5586 단어 PythonWEB 응용 프로그램배치 하 다.
아파 치 모듈 mod 사용Python WSGI 응용 프로그램 실행
Flask 응용 프로그램 은 WSGI 규범 을 바탕 으로 하기 때문에 WSGI 프로 토 콜 을 지원 하 는 모든 웹 응용 서버 에서 실행 할 수 있 습 니 다.가장 많이 사용 되 는 방식 은
Apache+mod_wsgi
입 니 다.Apache 메 인 프로필 은/etc/httpd/conf/httpd.conf 입 니 다.
다른 프로필 은/etc/httpd/conf.d/디 렉 터 리 에 저 장 됩 니 다.
설치 modwsgi
httpd-devel 설치
$ yum install httpd-devel
$ rpm -ql httpd-devel
설치 modwsgi
$ yum install mod_wsgi
설치 가 완료 되면mod_wsgi.so
Apache modules 디 렉 터 리 에 있 습 니 다.httpd.conf
파일 에 다음 내용 을 추가 합 니 다.
LoadModule wsgi_module modules/mod_wsgi.so
설정 을 사용 하려 면 아파 치 를 다시 시작 합 니 다.
$ sudo service httpd restart
테스트 modwsgiApache DocumentRoot 루트 디 렉 터 리 에 파일 만 들 기
test.wsgi
def application(environ, start_response):
status = '200 OK'
output = 'Hello World!'
response_headers = [('Content-type', 'text/plain'),
('Content-Length', str(len(output)))]
start_response(status, response_headers)
return [output]
이 함수application
는 WSGI 응용 대상 입 니 다.요청 을 받 은 응답 을 되 돌려 주 는 값 입 니 다.그리고 아파 치 설정 파일 httpd.conf 를 열 고 마지막 에 URL 경로 맵 을 추가 합 니 다.
WSGIScriptAlias /test /var/www/html/test.wsgi
테스트curl http://localhost/test
Python 가상 환경 사용 하기
virtualenv 는 격 리 된 Python 환경 을 만 드 는 도구 입 니 다.virtualenv 는 Python 프로젝트 에 필요 한 모든 실행 가능 한 파일 과 pip 라 이브 러 리 를 포함 하 는 폴 더 를 만 듭 니 다.
app.wsgi 설정
activate_this = '/var/www/html/py3env/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))
from flask import Flask
application = Flask(__name__)
import sys
sys.path.insert(0, '/var/www/flask_test')
from app import app as application
우리 의 가상 환경 은 디 렉 터 리/var/www/html
에서 사용 하 는 스 크 립 트/bin
를 찾 을 수 있 습 니 다.WSGI 애플 리 케 이 션 의 처음부터 실행 하면 됩 니 다.apache 프로필
<VirtualHost *:80>
ServerName example.com
WSGIScriptAlias / /var/www/html/app.wsgi
<Directory /var/www/html>
Require all granted
</Directory>
</VirtualHost>!
레 퍼 런 스https://www.jb51.net/article/153875.htm
Apache 에서 Python WSGI 응용 프로그램 실행
Nginx+uWSGI 를 사용 하여 Python WSGI 응용 프로그램 을 실행 합 니 다.
uwSGI 는 웹 응용 서버 로 응용 서버,프 록 시,프로 세 스 관리 및 응용 모니터링 등 기능 을 갖 추고 있다.uWSGI 자체 가 웹 서버 로 직접 사용 할 수 있 지만 일반적으로 이 를 응용 서버 로 Nginx 와 함께 사용 하 는 것 을 권장 합 니 다.그러면 Nginx 가 웹 에서 의 강력 한 기능 을 더욱 잘 발휘 할 수 있 습 니 다.
uWSGI 설치
$ pip install uwsgi
창설activate_this.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
설정 파일 만 들 기server.py
[uwsgi]
http=0.0.0.0:8080 #
chdir=/var/www/html/#
wsgi-file=/var/www/html/server.py #
callable=app # ,WSGI "application"
master=true # ( , , )
touch-reload=/var/www/html/ # , 。
daemonize=uwsgi.log #
stats = 127.0.0.1:9090 # ,
vacuum = True # ,
# &
processes = 6
threads = 2
시동 을 걸다
uwsgi --ini uwsgi.ini #
uwsgi --reload uwsgi.pid #
uwsgi --stop uwsgi.pid #
Nginx 설정
uWSGI 의 HTTP 포트 감청 을 socket 포트 감청 으로 변경 합 니 다.
socket=127.0.0.1:8080
nginx 프로필 수정 nginx.conf
server {
listen 80;
server_name localhost 192.168.1.5;
#root /usr/share/nginx/html;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
Nginx 는 받 은 모든 요청 을uwsgi
포트,즉 uWSGI 서버 에 전송 합 니 다.Centos 7 SElinux 로 인 한 권한 문제 로 Nginx 가 uWSGI 에 요청 을 전송 할 수 없어 서 꺼 버 렸 습 니 다.
uwsgi.ini
127.0.0.1:8080
을vi /etc/selinux/config
로 바꾸다.nginx 테스트 를 다시 시작 합 니 다.
Python 가상 환경 사용 하기
[uwsgi]
...
virtualenv=/home/Smi1e/virtualenv
여러 응용 프로그램 배치레 퍼 런 스
Python 응용 프로그램 을 실행 하려 면 Nginx 와 uWSGI 를 사용 하 십시오.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.