Membuat aplikasi web PHP di Azure App Service

Azure App Service menyediakan layanan hosting web yang sangat dapat diskalakan dan dapat melakukan patch sendiri. Tutorial mulai cepat ini menunjukkan cara menyebarkan aplikasi PHP ke Azure App Service di Windows.

Anda membuat aplikasi web menggunakan Azure CLI di Cloud Shell, dan Anda menggunakan Git untuk menyebarkan sampel kode PHP ke aplikasi web.

Sample app running in Azure

Anda dapat mengikuti langkah-langkah di sini menggunakan mesin Mac, Windows, atau Linux. Setelah prasyarat diistal, dibutuhkan sekitar lima menit untuk menyelesaikan langkah-langkahnya.

Jika Anda tidak memiliki Langganan Azure, buat Akun gratis Azure sebelum memulai.

Prasyarat

Untuk menyelesaikan panduan mulai cepat ini:

Mengunduh sampel secara lokal

  1. Di jendela terminal, jalankan perintah berikut ini. Ini akan mengkloning aplikasi sampel ke mesin lokal Anda, dan mengarahkan ke direktori yang berisi kode sampel.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Pastikan cabang default adalah main.

    git branch -m main
    

    Tip

    Perubahan nama cabang tidak diharuskan oleh App Service. Namun, karena banyak repositori mengubah cabang defaultnya menjadi main, mulai cepat ini juga menunjukkan cara menyebarkan repositori dari main.

Menjalankan aplikasi secara lokal

  1. Jalankan aplikasi secara lokal sehingga Anda tahu bagaimana tampilannya saat Anda menyebarkannya ke Azure. Buka jendela terminal dan gunakan perintah php untuk meluncurkan server web PHP bawaan.

    php -S localhost:8080
    
  2. Buka browser web, dan navigasikan ke aplikasi sampel di http://localhost:8080.

    Anda melihat pesan Halo Dunia! dari aplikasi sampel yang ditampilkan di halaman.

    Sample app running locally

  3. Di jendela terminal Anda, tekan Ctrl+C untuk keluar dari server web.

Azure Cloud Shell

Azure meng-hosting Azure Cloud Shell, lingkungan shell interaktif yang dapat Anda gunakan melalui browser. Anda dapat menggunakan Bash atau PowerShell dengan Cloud Shell untuk bekerja dengan layanan Azure. Anda dapat menggunakan perintah Cloud Shell yang telah diinstal sebelumnya untuk menjalankan kode dalam artikel ini tanpa harus menginstal apa-apa di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di pojok kanan atas blok kode atau perintah. Memilih Coba tidak otomatis menyalin kode atau perintah ke Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Button to launch Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Untuk menggunakan Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.

  3. Tempel kode atau perintah ke dalam sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.

  4. Pilih Masukkan untuk menjalankan kode atau perintah.

Mengonfigurasikan manifes penyebaran

FTP dan Git lokal dapat disebarkan ke aplikasi web Azure dengan menggunakan pengguna penyebaran. Setelah mengonfigurasikan pengguna penyebaran, Anda dapat menggunakannya untuk semua penyebaran Azure Anda. Nama pengguna dan kata sandi penyebaran tingkat akun Anda berbeda dari info masuk langganan Azure Anda.

Untuk mengonfigurasikan pengguna penyebaran, jalankan perintah set pengguna penyebaran aplikasi web az di Azure Cloud Shell. Ganti <nama pengguna> serta <kata sandi> dengan nama pengguna dan kata sandi pengguna penyebaran.

  • Nama pengguna harus unik dalam Azure, dan untuk pendorongan Git lokal, tidak boleh berisi simbol '@'.
  • Kata sandi harus setidaknya delapan karakter, dengan dua dari tiga elemen berikut: huruf, angka, dan simbol.
az webapp deployment user set --user-name <username> --password <password>

Output JSON menunjukkan kata sandi sebagai null. Jika Anda mendapatkan kesalahan 'Conflict'. Details: 409, ubah nama pengguna. Jika Anda mendapatkan 'Bad Request'. Details: 400 kesalahan, gunakan kata sandi yang lebih kuat.

Rekam nama pengguna dan kata sandi Anda untuk digunakan guna menyebarkan aplikasi web Anda.

Buat grup sumber daya

Grup sumber daya Azure adalah kontainer logis tempat sumber daya Azure seperti aplikasi web, database, dan akun penyimpanan disebarkan dan dikelola. Misalnya, Anda dapat memilih untuk menghapus seluruh grup sumber daya dalam satu langkah sederhana nanti.

Di Cloud Shell, buat grup sumber daya dengan perintah az group create. Contoh berikut ini menampilkan grup sumber daya dengan nama myResourceGroup di lokasi Eropa Barat. Untuk melihat semua lokasi yang didukung untuk App Service pada tingkat Gratis, jalankan perintah az appservice list-locations --sku FREE.

az group create --name myResourceGroup --location "West Europe"

Anda biasanya membuat grup sumber daya dan sumber daya di wilayah sekitar Anda.

Saat perintah selesai, output JSON memperlihatkan kepada Anda properti grup sumber daya.

Membuat paket Azure App Service

Di Cloud Shell, buat paket App Service dengan perintah az appservice plan create.

Contoh berikut membuat paket App Service yang dinamai myAppServicePlan dalam tingkat harga Gratis:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux

Setelah paket App Service dibuat, Azure CLI memperlihatkan informasi yang mirip dengan contoh berikut:

{ 
  "freeOfferExpirationTime": null,
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Membuat aplikasi web

  1. Di Cloud Shell, buat aplikasi web di paket App Service myAppServicePlan dengan perintah az webapp create.

    Dalam contoh berikut, ganti <app-name> dengan nama aplikasi unik global (karakter yang valid adalah a-z, 0-9, dan -). Runtime diatur ke PHP|7.4. Untuk melihat semua runtime yang didukung, jalankan az webapp list-runtimes.

    az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
    

    Saat aplikasi web telah dibuat, Azure CLI menampilkan output yang mirip dengan contoh berikut:

     Local git is configured with url of 'https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git'
     {
       "availabilityState": "Normal",
       "clientAffinityEnabled": true,
       "clientCertEnabled": false,
       "cloningInfo": null,
       "containerSize": 0,
       "dailyMemoryTimeQuota": 0,
       "defaultHostName": "<app-name>.azurewebsites.net",
       "enabled": true,
       < JSON data removed for brevity. >
     }
     

    Anda telah membuat aplikasi web baru yang kosong, dengan penyebaran git diaktifkan.

    Catatan

    URL jarak jauh Git ditampilkan di properti deploymentLocalGitUrl, dalam format https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git. Simpan URL ini sesuai kebutuhan Anda nanti.

  2. Telusuri aplikasi web yang baru Anda buat. Ganti <nama-aplikasi> dengan nama aplikasi unik Anda yang dibuat pada langkah sebelumnya.

    http://<app-name>.azurewebsites.net
    

    Berikut tampilan aplikasi web baru Anda:

    Empty web app page

Mendorong ke Azure dari Git

  1. Karena Anda menyebarkan cabang main, Anda perlu menetapkan cabang penyebaran default untuk aplikasi App Service Anda ke main (lihat Mengubah penyebaran cabang). Di Cloud Shell, tetapkan pengaturan aplikasi DEPLOYMENT_BRANCH dengan perintah az webapp config appsettings set.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. Kembali ke jendela terminal lokal, tambahkan remote Azure ke repositori Git lokal Anda. Ganti <deploymentLocalGitUrl-from-create-step> dengan URL jarak jauh Git yang Anda simpan dari Buat aplikasi web.

    git remote add azure <deploymentLocalGitUrl-from-create-step>
    
  3. Gunakan perintah berikut untuk mendorong ke akses jarak jauh Azure untuk menyebarkan aplikasi Anda. Saat Git Credential Manager meminta info masuk kepada Anda, pastikan Anda memasukkan info masuk yang Anda buat di Mengonfigurasikan pengguna penyebaran, bukan info masuk yang Anda gunakan untuk masuk ke portal Microsoft Azure.

    git push azure main
    

    Perlu beberapa menit untuk menjalankan perintah ini. Saat dijalankan, perintah ini menampilkan informasi yang mirip dengan contoh berikut:

  Counting objects: 2, done.
  Delta compression using up to 4 threads.
  Compressing objects: 100% (2/2), done.
  Writing objects: 100% (2/2), 352 bytes | 0 bytes/s, done.
  Total 2 (delta 1), reused 0 (delta 0)
  remote: Updating branch 'main'.
  remote: Updating submodules.
  remote: Preparing deployment for commit id '25f18051e9'.
  remote: Generating deployment script.
  remote: Running deployment command...
  remote: Handling Basic Web Site deployment.
  remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
  remote: Copying file: '.gitignore'
  remote: Copying file: 'LICENSE'
  remote: Copying file: 'README.md'
  remote: Copying file: 'index.php'
  remote: Ignoring: .git
  remote: Finished successfully.
  remote: Running post deployment command(s)...
  remote: Deployment successful.
  To https://<app-name>.scm.azurewebsites.net/<app-name>.git
      cc39b1e..25f1805  main -> main
  

Menelusuri aplikasi

Lakukan penelusuran ke aplikasi yang disebarkan menggunakan browser web Anda.

http://<app-name>.azurewebsites.net

Kode sampel PHP berjalan di aplikasi web Azure App Service.

Sample app running in Azure

Selamat! Anda telah menyebarkan aplikasi PHP pertama Anda ke App Service.

Perbarui secara lokal dan sebarkan ulang kode

  1. Menggunakan editor teks lokal, buka file index.php dalam aplikasi PHP, dan buat perubahan kecil pada teks dalam string di samping echo:

    echo "Hello Azure!";
    
  2. Di jendela terminal lokal, terapkan perubahan Anda di Git, lalu dorong perubahan kode ke Azure.

    git commit -am "updated output"
    git push azure main
    
  3. Setelah penyebaran diselesaikan, beralih kembali ke jendela browser yang dibuka di langkah Telusuri aplikasi, dan refresh halaman.

    Updated sample app running in Azure

Mengelola aplikasi Azure baru Anda

  1. Buka portal Azure untuk mengelola aplikasi yang Anda buat. Cari dan pilih App Services.

    Search for App Services, Azure portal, create PHP web app

  2. Pilih nama aplikasi Azure Anda.

    Portal navigation to Azure app

    Halaman Gambaran Umum aplikasi web Anda akan ditampilkan. Di sini, Anda dapat melakukan tugas manajemen dasar seperti Telusuri, Berhenti, Hidupkan ulang, dan Hapus.

    App Service page in Azure portal

    Menu aplikasi web menyediakan opsi berbeda untuk mengonfigurasi aplikasi Anda.

Membersihkan sumber daya

Di langkah-langkah sebelumnya, Anda membuat sumber daya Azure dalam grup sumber daya. Jika Anda tidak membutuhkan sumber daya ini di masa mendatang, hapus grup sumber daya dengan menjalankan perintah berikut ini di Cloud Shell:

az group delete --name myResourceGroup

Perintah ini mungkin perlu waktu beberapa saat untuk dijalankan.

Azure App Service menyediakan layanan hosting web yang sangat dapat diskalakan dan dapat melakukan patch sendiri. Panduan memulai ini menunjukkan cara menerapkan aplikasi PHP ke Azure App Service di Linux.

Screenshot of the sample app running in Azure.

Anda dapat mengikuti langkah-langkah di sini menggunakan mesin Mac, Windows, atau Linux. Setelah prasyarat diistal, dibutuhkan sekitar lima menit untuk menyelesaikan langkah-langkahnya.

Untuk menyelesaikan mulai cepat ini, Anda memerlukan:

1 - Mendapatkan repositori sampel

Anda dapat membuat aplikasi web menggunakan Azure CLI di dalam Cloud Shell, dan Anda menggunakan Git untuk menyebarkan sampel kode PHP ke aplikasi web.

  1. Di jendela terminal, jalankan perintah berikut untuk mengkloning aplikasi sampel ke komputer lokal Anda dan navigasikan ke akar proyek.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Untuk menjalankan aplikasi secara lokal, gunakan perintah php untuk meluncurkan server web PHP bawaan.

    php -S localhost:8080
    
  3. Jelajahi aplikasi contoh di http://localhost:8080 dalam browser web.

    Screenshot of the sample app running locally.

  4. Di jendela terminal Anda, tekan Ctrl+C untuk keluar dari server web.

2 - Menyebarkan kode aplikasi Anda ke Azure

Azure CLI memiliki perintah az webapp up yang membuat sumber daya yang diperlukan dan menyebarkan aplikasi Anda dalam satu langkah.

Di terminal, sebarkan kode di folder lokal Anda menggunakan perintah az webapp up:

az webapp up --runtime "PHP:8.2" --os-type=linux
  • Jika perintah az tidak dikenali, pastikan Anda telah menginstal Azure CLI.
  • Argumen --runtime "PHP:8.2" membuat aplikasi web dengan PHP versi 8.2.
  • Argumen --os-type=linux membuat aplikasi web pada App Service di Linux.
  • Secara opsional, Anda dapat menentukan nama dengan argumen --name <app-name>. Jika Anda tidak menyediakannya, maka nama akan dibuat secara otomatis.
  • Anda dapat secara opsional menyertakan argumen --location <location-name> di mana <location_name> adalah wilayah Azure yang tersedia. Anda dapat mengambil daftar wilayah yang diizinkan untuk akun Azure Anda dengan menjalankan perintah az account list-locations.
  • Jika Anda melihat kesalahan, "Tidak dapat mendeteksi secara otomatis tumpukan waktu proses aplikasi Anda", pastikan Anda menjalankan perintah di direktori kode (Lihat Memecahkan masalah deteksi otomatis dengan az webapp up).

Perintah bisa memerlukan waktu beberapa menit untuk diselesaikan. Saat sedang berjalan, layanan ini menyediakan pesan tentang membuat grup sumber daya, paket App Service, dan sumber daya aplikasi, mengonfigurasi pengelogan, dan melakukan penyebaran ZIP. Kemudian perintah memberikan pesan, "Anda dapat meluncurkan aplikasi di http:// <nama aplikasi>.azurewebsites.net", yang merupakan URL aplikasi di Azure.

The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of dir /home/msangapu/myPhpApp ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
  "URL": "http://<app-name>.azurewebsites.net",
  "appserviceplan": "<app-service-plan-name>",
  "location": "centralus",
  "name": "<app-name>",
  "os": "linux",
  "resourcegroup": "<group-name>",
  "runtime_version": "php|8.2",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "//home//msangapu//myPhpApp"
}

Catatan

Perintah az webapp up melakukan tindakan berikut:

Lakukan penelusuran ke aplikasi yang disebarkan menggunakan browser web Anda di URL http://<app-name>.azurewebsites.net.

Kode sampel PHP berjalan di dalam aplikasi web Azure App Service.

Screenshot of the sample app running in Azure, showing 'Hello World!'.

Selamat! Anda menyebarkan aplikasi PHP pertama Anda ke App Service menggunakan portal Azure.

3 - Memperbarui dan menyebarkan ulang aplikasi

  1. Menggunakan editor teks lokal, buka file index.php dalam aplikasi PHP, dan buat perubahan kecil pada teks dalam string di samping echo:

    echo "Hello Azure!";
    
  2. Simpan perubahan Anda, lalu sebarkan ulang aplikasi menggunakan perintah az webapp up lagi dengan argumen berikut:

    az webapp up --runtime "PHP:8.2" --os-type=linux
    
  3. Setelah penyebaran selesai, kembali ke jendela browser yang dibuka selama langkah Telusuri ke aplikasi , dan refresh halaman.

    Screenshot of the updated sample app running in Azure.

4 - Mengelola aplikasi Azure Anda yang baru

  1. Buka portal Azure untuk mengelola aplikasi yang Anda buat. Cari dan pilih App Services.

    Screenshot of the Azure portal with 'app services' typed in the search text box. In the results, the App Services option under Services is highlighted.

  2. Pilih nama aplikasi Azure Anda.

    Screenshot of the App Services list in Azure. The name of the demo app service is highlighted.

    Halaman Gambaran Umum aplikasi web Anda harus ditampilkan. Di sini, Anda dapat melakukan tugas manajemen dasar seperti Telusuri, Berhenti, Hidupkan ulang, dan Hapus.

    Screenshot of the App Service overview page in Azure portal. In the action bar, the Browse, Stop, Swap (disabled), Restart, and Delete button group is highlighted.

    Menu aplikasi web menyediakan opsi berbeda untuk mengonfigurasi aplikasi Anda.

5 - Membersihkan sumber daya

Setelah selesai dengan aplikasi contoh, Anda dapat menghapus semua sumber daya untuk aplikasi dari Azure. Ini membantu Anda menghindari biaya tambahan dan membuat langganan Azure Anda tidak berantakan. Menghapus grup sumber daya juga menghapus semua sumber daya dalam grup sumber daya dan merupakan cara tercepat untuk menghapus semua sumber daya Azure untuk aplikasi Anda.

Hapus grup sumber daya dengan menggunakan perintah az group delete.

az group delete --name myResourceGroup

Perintah ini membutuhkan waktu satu menit untuk dijalankan.

Langkah berikutnya