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

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 .

  1. Otwórz wiersz polecenia.
  2. Zaloguj się do swojego konta platformy Azure.
    az login
    
  3. Wybierz subskrypcję platformy Azure.
    az account set -s <your-subscription-ID>
    
  4. 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

  1. 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.

  2. 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
    
  3. 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.

  1. 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
    
  2. 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ę.

  1. 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
    
  2. 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>
    
  3. 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.

  4. 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życiu getenv() 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.

  1. 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'
    
  2. Sprawdź, czy jesteś w katalogu głównym repozytorium aplikacji.

  3. 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>
    
  4. 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.

Screenshot showing the sample Product Catalog PHP Web App.

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

Następne kroki