[12] Serwer Web (IIS) – Python
2 sierpnia 2024Skonfigurujemy teraz usługi IIS, aby móc używać skryptów języka Python. Zainstaluj Pythona, patrz rozdział: „Dodatki – Python”.
Uruchom PowerShell z uprawnieniami administratora.
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. # zainstaluj rozszerzenie dla CGI oraz ISAPI PS C:\Users\Administrator> Install-WindowsFeature Web-CGI,Web-ISAPI-Ext Success Restart Needed Exit Code Feature Result ------- -------------- --------- -------------- True No Success {Interfejs CGI} # zrestartuj IIS PS C:\Users\Administrator> Restart-Service W3SVC PS C:\Users\Administrator> Get-Website Name ID State Physical Path Bindings ---- -- ----- ------------- -------- Default Web Site 1 Started %SystemDrive%\inetpub\wwwroot http *:80: VWSR01.zicher.la 3 Started C:\inetpub\newsite http *:80:vwsr01.zicher.lab b https *:443:vwsr01.zicher.lab sslFlags=0 PS C:\Users\Administrator> Get-ChildItem C:\inetpub\newsite Directory: C:\inetpub\newsite Mode LastWriteTime Length Name ---- ------------- ------ ---- d----- 04.01.2023 21:47 aspnet_client d----- 04.01.2023 22:02 auth_basic d----- 04.01.2023 22:38 auth_win d----- 05.01.2023 19:58 content01 d----- 05.01.2023 19:59 content02 -a---- 04.01.2023 21:49 436 index.aspx -a---- 03.01.2023 20:37 28 index.html # dodaj Python’a do rozszerzeń CGI/ISAPI PS C:\Users\Administrator> Add-WebConfiguration -Filter '/system.webServer/security/isapiCgiRestriction' -Value @{description="Python";path="C:\Program Files\Python311\python.exe %s %s";allowed="true"} # ustaw skrypty [*.py] jako wykonywalne w katalogu [content01] na serwerze [vwsr01.zicher.lab] PS C:\Users\Administrator> Set-WebConfigurationProperty -Filter '/system.webServer/handlers' -Location "vwsr01.zicher.lab/content01" -Name accessPolicy -Value "Read, Script" PS C:\Users\Administrator> Add-WebConfiguration -Filter '/system.webServer/handlers' -Location "vwsr01.zicher.lab/content01" -Value @{name="Python Interpreter";path="*.py";verb="*";modules="CgiModule";scriptProcessor="C:\Program Files\Python311\python.exe %s %s";resourceType="File"} # zrestartuj witrynę Web PS C:\Users\Administrator> Restart-WebItem -PSPath 'IIS:\Sites\vwsr01.zicher.lab' # utwórz testowy skrypt PS C:\Users\Administrator> $str_document = @' print("Content-type: text/html\n\n") print("Python Script - trona testowa @ IIS") '@ PS C:\Users\Administrator> Write-Output $str_document | Out-File C:\inetpub\newsite\content01\test.py -Encoding Default # sprawdź poprawność działania PS C:\Users\Administrator> curl.exe -k https://vwsr01.zicher.lab/content01/test.py Python Script - trona testowa @ IIS
Aby skonfigurować IIS za pomocą narzędzi graficznych do korzystania ze skryptów CGI, należy wykonać poniższe czynności.
Uruchom [Start] > [Menadżer serwera], następnie kliknij [Dodaj role i funnkcje].
Kliknij [Dalej].
Wybierz [Instalacja oparta na rolach lub oparta na funkcjach] i kliknij [Dalej].
Wybierz serwer, na którym chcesz zainstalować usługę, następnie kliknij [Dalej].
Zaznacz [Interfejs CGI], a następnie kliknij [Dalej].
Kliknij [Dalej].
W celu zainstalowania wybranych funkcji kliknij [Zainstaluj].
Po zakończeniu instalacji kliknij [Zamknij].
Na przykład ustaw skrypty [*.py] jako wykonywalne w folderze [content01] w witrynie [vwsr01.zicher.lab].
Wybierz folder docelowy w lewym okienku i otwórz [Mapowanie obsługi] w środkowym okienku.
Kliknij link [Dodaj mapę skryptu] w prawym panelu.
W polu [Nazwa] wprowadź dowolną nazwę, w innych polach wprowadź wartości odpowiednie dla Twojej konfiguracji. Twoja ścieżka Pythona może być inna, więc zamień ją na swoją ścieżkę.
Potwierdź zezwolenie na rozszerzenie, kliknij [Tak].
Mapowanie dla skryptów [*.py] zostało dodane.
Stwórz testowy plik ze skryptem Python’a, dla sprawdzenia poprawności działania.
Przejdź do strony ze skryptem Python’a.