찾다

 >  Q&A  >  본문

동일한 서버에서 플라스크와 PHP에 대해 아파치를 구성하는 방법

제가 업그레이드/업데이트하고 있는 서버에는 php와 python을 사용하는 페이지가 있습니다. Flask 프레임워크를 사용하여 Python 기반 페이지를 다시 작성하고 wsgi를 사용하여 Apache를 구성했습니다.

으아악

이전 서버에서는 디렉터리를 가리키는 URL이 기본적으로 index.php 使用 DirectoryIndex 옵션으로 설정되었습니다(다른 conf 파일에 설정됨). 새 서버에서 "내부 서버 오류" 메시지가 표시되고 오류 로그에 500 응답 코드가 표시됩니다.

궁극적인 질문은 PHP로 처리된 페이지와 Python으로 처리된 페이지를 모두 제공하도록 Apache를 구성하는 방법입니다. (참고: 플라스크 디렉토리에는 PHP로 처리된 여러 페이지가 있습니다)

편집: "php"를 제거하기 위해 또 다른 AliasMatch 行,似乎可以执行我想要的操作。我还能够从第二个 AliasMatch 줄을 추가했습니다:

<VirtualHost *:443>
    ServerName my_fake_site
    ...
    AliasMatch ^\/((?:flask_dir1|flask_dir2).*)\.((css|php|png)$((?:\?.*)?)) /var/www/html/app/.
    AliasMatch ^\/(.*)\.(css|html|php|png) /var/www/html/.

    WSGIDaemonProcess main_proc processes=8 python-home=/var/www/html/venv
    WSGIScriptAlias / /var/www/html/wsgi.py
    <Directory /var/www/html/>
        WSGIProcessGroup main_proc
        WSGIApplicationGroup %{GLOBAL} 
        Require all granted
    </Directory>

    SSLEngine on
    ...
</VirtualHost>

WSGIPythonPath /var/www/html
WSGIPythonHome /var/www/html/venv

P粉547170972P粉547170972323일 전432

모든 응답(1)나는 대답할 것이다

  • P粉431220279

    P粉4312202792024-01-11 00:36:41

    내 편집에서 언급했듯이 AliasMatch 지시문이 작동했습니다. 문서에 따르면 이를 통해 Apache는 정적 파일을 호스팅할 수 있으며 여기에는 PHP 파일도 포함되어 있는 것 같습니다.

    회신하다
    0
  • 취소회신하다