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('/hello') def hello_world(): return 'Hello World!' if __name__ == '__main__': 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!