cari

Rumah  >  Soal Jawab  >  teks badan

Bagaimana untuk mengkonfigurasi apache untuk flask dan php pada pelayan yang sama

Pelayan yang saya telah naik taraf/kemas kini mempunyai halaman menggunakan php dan python. Saya menulis semula halaman berasaskan python menggunakan rangka kerja Flask dan mengkonfigurasi apache menggunakan wsgi:

<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

Pada pelayan lama, url yang menunjuk ke direktori lalai kepada pilihan index.php 使用 DirectoryIndex (ditetapkan dalam fail conf lain). Pada pelayan baharu, saya mendapat mesej "Ralat Pelayan Dalaman" dan kod respons 500 dalam log ralat.

Jadi persoalan utama ialah, bagaimana untuk mengkonfigurasi apache untuk menyampaikan kedua-dua halaman yang diproses oleh php dan halaman yang diproses oleh python? (Nota: Terdapat beberapa halaman yang diproses PHP dalam direktori kelalang)

Edit: Saya menambah satu lagi baris AliasMatch 行,似乎可以执行我想要的操作。我还能够从第二个 AliasMatch untuk mengalih keluar "php":

AliasMatch ^\/((?:flask_dir1|flask_dir2).*)\.((css|php|png)$((?:\?.*)?)) /var/www/html/app/.
AliasMatch ^\/(.*)\.(css|html|png) /var/www/html/.
AliasMatch ^\/((?:php_dir1|php_dir2).*) /var/www/html/

P粉547170972P粉547170972323 hari yang lalu431

membalas semua(1)saya akan balas

  • P粉431220279

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

    Seperti yang dinyatakan dalam suntingan saya, arahan AliasMatch berfungsi. Daripada dokumentasi, ini membolehkan Apache mengehoskan fail statik, yang saya rasa juga termasuk fail php.

    balas
    0
  • Batalbalas