Samouczek: wdrażanie aplikacji PHP i Azure Database for MySQL — serwer elastyczny w usłudze aplikacja systemu Azure
DOTYCZY: Azure Database for MySQL — serwer elastyczny
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 elastycznym serwerem usługi Azure Database for MySQL 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 w celu nawiązania połączenia 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
- Połączenie aplikacji PHP do wystąpienia elastycznego serwera 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 Wypróbuj bezpłatnie usługę Azure Database for MySQL — serwer elastyczny.
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 Wypróbuj bezpłatnie usługę Azure Database for MySQL — serwer elastyczny.
Tworzenie usługi Azure Database for MySQL — serwer elastyczny
Najpierw aprowizujemy wystąpienie serwera elastycznego usługi Azure Database for MySQL z łącznością dostępu publicznego, skonfigurujemy 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: Połączenie aplikacji internetowej usługi App Services do wystąpienia elastycznego serwera usługi Azure Database for MySQL 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 elastycznego serwera 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 elastycznym wystąpieniem serwera 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 , produkcyjną bazę 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 Szybki start: Połączenie przy użyciu języka PHP.
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 elastycznej bazy danych serwera 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 application Ustawienia (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ć usługi Service Połączenie or do nawiązania połączenia między aplikacją App Service i wystąpieniem serwera elastycznego usługi Azure Database for MySQL. Aby uzyskać więcej informacji, zobacz Integrowanie serwera elastycznego usługi Azure Database for MySQL z usługą Połączenie or.
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 Application Ustawienia, 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 elastycznym serwerem usługi Azure Database for MySQL 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