플라스크와 아파치를 결합하는 방법

(*-*)浩
풀어 주다: 2019-10-29 11:18:38
원래의
3496명이 탐색했습니다.

Flask와 함께 제공되는 개발 웹 서버는 성능이 매우 낮고 응답 속도가 느리며 nginx를 통해 직접 역방향 프록시를 수행하여 요청에 응답하지 못하는 경우가 많습니다. 프로덕션 환경에서 사용할 수 있고 성능이 좋으며 Flask 프로그램을 지원하는 두 가지 서버, 즉 Gunicorn과 uWSGI가 있지만 이 두 모듈은 Windows를 지원하지 않습니다.

플라스크와 아파치를 결합하는 방법

그래서 우리는 플라스크를 아파치에 배포할 수 있도록 mod_wsgi 모듈을 사용해야 합니다. mod_wsgi 모듈은 Python으로 작성된 Apache FastCGI 모듈입니다. (추천 학습: apache 사용법)

다운받은 후 압축을 풀어 Apache24를 받고, conf 파일로 열고, 텍스트로 엽니다. 여기서는 Atom을 사용해서 엽니다.

이제 수정해야 할 사항을 설명하겠습니다.

1. ServerRoot "c:/Apache24": 자신의 디렉터리 주소로 변경합니다.

2. Listen 8080: 포트 번호 구성, 일부 사용자는 자신의 포트 80을 찾을 수 있습니다. , 테스트를 용이하게 하기 위해 이 포트 번호를 수정할 수 있습니다

원본:

<Directory />
AllowOverride none
Require all denied
</Directory>
로그인 후 복사

수정 후:

<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Allow from all
</Directory>
로그인 후 복사

4. 파일 경로

DocumentRoot "c:/Apache24/htdocs"
<Directory "c:/Apache24/htdocs">
로그인 후 복사

5. Mod 모듈 구성(핵심 사항)

(1) 먼저 다운로드한 mod.whl 파일을 설치합니다.

pip install <절대 파일 경로>

(2) 성공적으로 설치한 후 다음을 실행합니다. 명령:

mod_wsgi-express module-config
로그인 후 복사

(3) 위 명령이 성공적으로 실행되면 세 가지 정보를 얻을 수 있습니다.

(4) 그런 다음 이 세 가지 정보를 사용하여 .so 파일을 교체하고 Apache 구성에 추가합니다. 파일:

플라스크와 아파치를 결합하는 방법

6. 사이트 구성(핵심 사항):

# <VirtualHost> definition.  These values also provide defaults for
# any <VirtualHost> containers you may define later in the file.
로그인 후 복사
플라스크와 아파치를 결합하는 방법저는 아파치 구성 방법을 모르는 사람이기 때문에 처음 참조 링크에서 어디에 넣어야 할지 모르기 때문에 전체 텍스트를 검색해 보면 이 문장을 검색한 후 반드시 파일 하단에 를 넣어두면 됩니다.

다음 단락을 conf 파일의 맨 아래에 복사하고 경로를 원하는 경로로 변경하세요.

<VirtualHost *:8080 >
ServerAdmin example@xx.com
DocumentRoot E:\Environment\Apache\Apache24\text_web
<Directory "E:\Environment\Apache\Apache24\text_web">
Order allow,deny
Allow from all
</Directory>
WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi
</VirtualHost>
로그인 후 복사

위 사이트 구성 지침:

(1) 프로젝트 경로(apache 디렉터리에 배치할 필요는 없음) :

DocumentRoot E:\Environment\Apache\Apache24\text_web
로그인 후 복사

(2)wsgi 모듈 시작 파일(핵심 사항):

WSGIScriptAlias / E:\Environment\Apache\Apache24\text_web\test.wsgi
로그인 후 복사

참고: 여기에서 "/"는 필수이며 URL 접두사를 나타내며 필요에 따라 나중에 수정할 수 있습니다.

(3) 프로젝트 경로 권한: 모든

<Directory "E:\Environment\Apache\Apache24\text_web">
Order allow,deny
Allow from all
</Directory>
로그인 후 복사

을 허용하도록 설정합니다. 이제 httpd.conf 파일이 구성되었습니다.

둘째, 플라스크 프로젝트의 구성을 입력하세요:


프로젝트 디렉터리:

플라스크와 아파치를 결합하는 방법1. test.wsgi 파일 설명:

import sys
sys.path.insert(0, "E:/Environment/Apache/Apache24/text_web") #项目路径
로그인 후 복사

테스트 가져오기 앱에서 #플라스크 프로젝트 프로젝트 이름을 소개합니다

application = app #applcation은 다른 것으로 변경하면 안 됩니다. wsgin이 이 파일을 구문 분석할 때 applcation(참조 링크)만 인식하기 때문입니다.

2.Flask의 메인 파일

from flask import Flask
 
app = Flask(__name__)
 
@app.route(&#39;/hello&#39;)
def hello_world():
    return &#39;Hello World!&#39;
 
if __name__ == &#39;__main__&#39;:
    app.run()
로그인 후 복사

이제 프로젝트 구성이 기본적으로 완료되었습니다. 여기서 wsgi 파일의 프로젝트 소개에 특별한 주의가 필요합니다.

3. apache 시작 또는 설치

관리자 모드에서 cmd를 시작하고 Apache24의 bin 파일 경로를 입력하세요.

시스템을 제공하기 위해 apache 설치:

httpd -k install
로그인 후 복사

apache 시작:

httpd -k start
로그인 후 복사

일부 컴퓨터에서는 다음을 수행할 수 있는 것으로 나타났습니다. 시스템 서비스에 httpd를 설치하지 않고 httpd.exe를 열어 직접 실행합니다.

사용할 수 있는 기타 아파치 명령:

아파치 서비스 중지:

httpd -k stop
로그인 후 복사

아파치 서비스 다시 시작:

httpd -k restart
로그인 후 복사

이 시점에서 우리의 플라스크 프로젝트는 wsgi 모듈을 통해 아파치 서비스에 구축되었습니다. 8080/hello, helloworld가 나타나는지 확인하세요. 프로젝트가 여전히 성공적으로 구성되지 않은 경우 Apache의 오류 출력 로그에 주의하세요. 오류 출력 로그는 Apache24logserror.lo

에 있습니다.

위 내용은 플라스크와 아파치를 결합하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!