Samouczek: wdrażanie aplikacji PHP i Azure Database for MySQL — serwer elastyczny w usłudze aplikacja systemu Azure
usługa aplikacja systemu Azure Service oferuje wysoce skalowalną, samonastosową usługę hostingu internetowego przy użyciu systemu operacyjnego Linux.
W tym samouczku pokazano, jak skompilować i wdrożyć przykładową aplikację PHP w usłudze aplikacja systemu Azure Service i zintegrować ją z usługą Azure Database for MySQL — elastyczny serwer na zapleczu. W tym miejscu użyjesz łączności dostępu publicznego (dozwolonych adresów IP) w wystąpieniu serwera elastycznego usługi Azure Database for MySQL, aby nawiązać połączenie z aplikacją usługi App Service.
Z tego samouczka dowiesz się, jak wykonywać następujące czynności:
- Tworzenie wystąpienia elastycznego serwera usługi Azure Database for MySQL
- Łączenie aplikacji PHP z wystąpieniem serwera elastycznego usługi Azure Database for MySQL
- Wdrażanie aplikacji w usłudze aplikacja systemu Azure
- Aktualizowanie i ponowne wdrażanie aplikacji
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure. Obecnie za pomocą bezpłatnego konta platformy Azure możesz wypróbować usługę Azure Database for MySQL — serwer elastyczny bezpłatnie przez 12 miesięcy. Aby uzyskać więcej informacji, zobacz Używanie bezpłatnego konta platformy Azure do bezpłatnego wypróbowania usługi Azure Database for MySQL — serwer elastyczny bezpłatnie.
Wymagania wstępne
- Zainstaluj oprogramowanie Git.
- Interfejs wiersza polecenia platformy Azure.
- Subskrypcja platformy Azure Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure. Obecnie za pomocą bezpłatnego konta platformy Azure możesz wypróbować usługę Azure Database for MySQL — serwer elastyczny bezpłatnie przez 12 miesięcy. Aby uzyskać więcej informacji, zobacz Używanie bezpłatnego konta platformy Azure do bezpłatnego wypróbowania usługi Azure Database for MySQL — serwer elastyczny bezpłatnie.
Tworzenie usługi Azure Database for MySQL — serwer elastyczny
Najpierw aprowizuj wystąpienie serwera elastycznego usługi Azure Database for MySQL z łącznością z dostępem publicznym, skonfiguruj reguły zapory, aby umożliwić aplikacji dostęp do serwera i utworzyć produkcyjną bazę danych.
Aby dowiedzieć się, jak używać łączności z dostępem prywatnym i izolować zasoby aplikacji i bazy danych w sieci wirtualnej, zobacz Samouczek: łączenie aplikacji internetowej usługi App Services z usługą Azure Database for MySQL — serwer elastyczny w sieci wirtualnej.
Tworzenie grupy zasobów
Grupa zasobów platformy Azure to logiczna grupa przeznaczona do wdrażania zasobów platformy Azure i zarządzania nimi. Utwórzmy grupę zasobów rg-php-demo przy użyciu polecenia az group create w lokalizacji centralus .
Otwórz wiersz polecenia.
Zaloguj się do swojego konta platformy Azure.
az login
Wybierz subskrypcję platformy Azure.
az account set -s <your-subscription-ID>
Utwórz grupę zasobów.
az group create --name rg-php-demo --location centralus
Tworzenie wystąpienia serwera elastycznego usługi Azure Database for MySQL
Aby utworzyć wystąpienie serwera elastycznego usługi Azure Database for MySQL z łącznością dostępu publicznego, uruchom następujące polecenie az flexible-server create . Zastąp wartości nazwa serwera, nazwa użytkownika administratora i hasło.
az mysql flexible-server create \ --name <your-mysql-server-name> \ --resource-group rg-php-demo \ --location centralus \ --admin-user <your-mysql-admin-username> \ --admin-password <your-mysql-admin-password>
Utworzono wystąpienie serwera elastycznego usługi Azure Database for MySQL w regionie CentralUS. Serwer jest oparty na jednostce obliczeniowej B1MS z 32 GB magazynu, 7-dniowym okresem przechowywania kopii zapasowych i skonfigurowanym z łącznością dostępu publicznego.
Następnie, aby utworzyć regułę zapory dla wystąpienia serwera elastycznego usługi Azure Database for MySQL, aby zezwolić na połączenia klienckie, uruchom następujące polecenie. W przypadku ustawienia początkowego adresu IP i końcowego adresu IP na 0.0.0.0 tylko inne zasoby platformy Azure (takie jak aplikacje usługi App Services, maszyny wirtualne, klaster usługi AKS itp.) mogą łączyć się z wystąpieniem serwera elastycznego usługi Azure Database for MySQL.
az mysql flexible-server firewall-rule create \ --name <your-mysql-server-name> \ --resource-group rg-php-demo \ --rule-name AllowAzureIPs \ --start-ip-address 0.0.0.0 \ --end-ip-address 0.0.0.0
Aby utworzyć nową bazę danych usługi Azure Database for MySQL — produkcyjna baza danych serwera — sampledb do użycia z aplikacją PHP, uruchom następujące polecenie:
az mysql flexible-server db create \ --resource-group rg-php-demo \ --server-name <your-mysql-server-name> \ --database-name sampledb
Kompilowanie aplikacji
Na potrzeby tego samouczka użyjemy przykładowej aplikacji PHP, która wyświetla katalog produktów i zarządza nim. Aplikacja udostępnia podstawowe funkcje, takie jak wyświetlanie produktów w katalogu, dodawanie nowych produktów, aktualizowanie istniejących cen produktów i usuwanie produktów.
Aby dowiedzieć się więcej na temat kodu aplikacji, przejdź dalej i zapoznaj się z aplikacją w repozytorium GitHub. Aby dowiedzieć się, jak połączyć aplikację PHP z serwerem elastycznym usługi Azure Database for MySQL, zobacz Używanie języka PHP z usługą Azure Database for MySQL — serwer elastyczny.
W tym samouczku sklonujemy bezpośrednio kodowaną przykładową aplikację i dowiesz się, jak wdrożyć ją w usłudze aplikacja systemu Azure Service.
Aby sklonować przykładowe repozytorium aplikacji i przejść do katalogu głównego repozytorium, uruchom następujące polecenia:
git clone https://github.com/Azure-Samples/php-mysql-app-service.git cd php-mysql-app-service
Uruchom następujące polecenie, aby upewnić się, że domyślna gałąź to
main
.git branch -m main
Tworzenie i konfigurowanie aplikacji internetowej usługi aplikacja systemu Azure Service
W usłudze aplikacja systemu Azure Service (Web Apps, API Apps lub Mobile Apps) aplikacja jest zawsze uruchamiana w planie usługi App Service. Plan usługi App Service definiuje zestaw zasobów obliczeniowych dla aplikacji internetowej używanych podczas jej uruchamiania. W tym kroku utworzymy w nim plan usługi aplikacja systemu Azure i aplikację internetową usługi App Service, która będzie hostować przykładową aplikację.
Aby utworzyć plan usługi App Service w warstwie cenowej Bezpłatna, uruchom następujące polecenie:
az appservice plan create --name plan-php-demo \ --resource-group rg-php-demo \ --location centralus \ --sku FREE --is-linux
Jeśli chcesz wdrożyć aplikację w aplikacji internetowej platformy Azure przy użyciu metod wdrażania, takich jak FTP lub Local Git, musisz skonfigurować użytkownika wdrożenia przy użyciu poświadczeń nazwy użytkownika i hasła. Po skonfigurowaniu użytkownika wdrożenia możesz skorzystać z niego dla wszystkich wdrożeń usługi aplikacja systemu Azure Service.
az webapp deployment user set \ --user-name <your-deployment-username> \ --password <your-deployment-password>
Aby utworzyć aplikację internetową usługi App Service ze środowiskiem uruchomieniowym PHP 8.0 i skonfigurować opcję lokalnego wdrażania usługi Git w celu wdrożenia aplikacji z repozytorium Git na komputerze lokalnym, uruchom następujące polecenie. Zastąp
<your-app-name>
element globalnie unikatową nazwą aplikacji (prawidłowe znaki to a-z, 0–9 i -).az webapp create \ --resource-group rg-php-demo \ --plan plan-php-demo \ --name <your-app-name> \ --runtime "PHP|8.0" \ --deployment-local-git
Ważne
W danych wyjściowych interfejsu wiersza polecenia platformy Azure adres URL zdalnego repozytorium Git jest wyświetlany we właściwości deploymentLocalGitUrl o formacie
https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Zapisz ten adres URL, ponieważ będzie on potrzebny później.Następnie skonfigurujemy ustawienia połączenia z bazą danych serwera elastycznego usługi Azure Database for MySQL w aplikacji internetowej.
Plik
config.php
w przykładowej aplikacji PHP pobiera informacje o połączeniu z bazą danych (nazwę serwera, nazwę bazy danych, nazwę serwera i hasło) ze zmiennych środowiskowych przy użyciugetenv()
funkcji . W usłudze App Service, aby ustawić zmienne środowiskowe jako Ustawienia aplikacji (appsettings), uruchom następujące polecenie:az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DB_HOST="<your-server-name>.mysql.database.azure.com" \ DB_DATABASE="sampledb" \ DB_USERNAME="<your-mysql-admin-username>" \ DB_PASSWORD="<your-mysql-admin-password>" \ MYSQL_SSL="true"
Alternatywnie możesz użyć łącznika usługi, aby nawiązać połączenie między aplikacją usługi App Service i wystąpieniem serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji, zobacz Integrowanie elastycznego serwera usługi Azure Database for MySQL z łącznikiem usługi.
Wdrażanie aplikacji przy użyciu lokalnego narzędzia Git
Teraz wdrożymy przykładową aplikację PHP w usłudze aplikacja systemu Azure przy użyciu opcji lokalnego wdrożenia git.
Ponieważ wdrażasz gałąź główną, musisz ustawić domyślną gałąź wdrożenia dla aplikacji usługi App Service na główną. Aby ustawić DEPLOYMENT_BRANCH w obszarze Ustawienia aplikacji, uruchom następujące polecenie:
az webapp config appsettings set \ --name <your-app-name> \ --resource-group rg-php-demo \ --settings DEPLOYMENT_BRANCH='main'
Sprawdź, czy jesteś w katalogu głównym repozytorium aplikacji.
Aby dodać zdalną platformę Azure do lokalnego repozytorium Git, uruchom następujące polecenie. Zastąp
<deploymentLocalGitUrl>
ciąg adresem URL zdalnego narzędzia Git zapisanym w kroku Tworzenie aplikacji internetowej usługi App Service.git remote add azure <deploymentLocalGitUrl>
Aby wdrożyć aplikację, wykonując polecenie na
git push
platformie Azure zdalnie, uruchom następujące polecenie. Gdy menedżer poświadczeń usługi Git wyświetli monit o podanie poświadczeń, wprowadź poświadczenia wdrożenia utworzone w kroku Konfigurowanie użytkownika wdrożenia.git push azure main
Wdrożenie może potrwać kilka minut.
Testowanie aplikacji
Na koniec przetestuj aplikację, przechodząc do https://<app-name>.azurewebsites.net
, a następnie dodaj, wyświetl, zaktualizuj lub usuń elementy z katalogu produktów.
Gratulacje! Pomyślnie wdrożono przykładową aplikację PHP w usłudze aplikacja systemu Azure i zintegrowano ją z usługą Azure Database for MySQL — elastyczny serwer na zapleczu.
Aktualizowanie i ponowne wdrażanie aplikacji
Aby zaktualizować aplikację platformy Azure, wprowadź niezbędne zmiany kodu, zatwierdź wszystkie zmiany w usłudze Git, a następnie wypchnij zmiany kodu na platformę Azure.
git add .
git commit -m "Update Azure app"
git push azure main
Po zakończeniu git push
przejdź do aplikacji platformy Azure lub odśwież ją, aby przetestować nowe funkcje.
Czyszczenie zasobów
W tym samouczku utworzono wszystkie zasoby platformy Azure w grupie zasobów. Jeśli te zasoby nie będą raczej potrzebne w przyszłości, usuń grupę zasobów, uruchamiając następujące polecenie w usłudze Cloud Shell:
az group delete --name rg-php-demo