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

Menggunakan 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 pun di lingkungan lokal Anda.

Untuk memulai Azure Cloud Shell:

Opsi Contoh/Tautan
Pilih Coba di sudut kanan atas blok kode. Memilih Coba tidak secara otomatis menyalin kode 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. Screenshot that shows how to launch Cloud Shell in a new window.
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 menjalankan kode dalam artikel ini di Azure Cloud Shell:

  1. Mulai Cloud Shell.

  2. Pilih tombol Salin pada blok kode untuk menyalin kode.

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

  4. Pilih Enter untuk menjalankan kode.

Konfigurasi pengguna 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 setidaknya harus 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 kesalahan 'Bad Request'. Details: 400, 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 umumnya 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 rencana 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 bahasa umum yang didukung, jalankan az webapp list-runtimes.

    az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|7.4' --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 saat Anda membutuhkannya 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. Untuk menyebarkan cabang main, Anda perlu menetapkan cabang penyebaran default untuk aplikasi App Service Anda ke main (lihat Mengubah cabang penyebaran). Di Azure 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

Telusuri aplikasi yang digunakan 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.

Memperbarui secara lokal dan menyebarkan 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

Dalam langkah-langkah sebelumnya, Anda membuat sumber daya Azure dalam grup sumber daya. Jika Anda tidak ingin 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 satu menit untuk dijalankan.

Langkah berikutnya

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

Anda membuat dan menyebarkan aplikasi web menggunakan Azure CLI.

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. Akun Azure dengan langganan aktif. Buat akun gratis.
  2. Git
  3. PHP
  4. Azure CLI untuk menjalankan perintah di shell apa pun untuk menyediakan dan mengonfigurasi sumber daya Azure.

1 - Menyiapkan Aplikasi Sampel

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

    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 akan 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.0" --os-type=linux
  • Jika perintah az tidak dikenali, pastikan Anda telah menginstal Azure CLI.
  • Argumen --runtime "php|8.0" membuat aplikasi web dengan PHP versi 8.0.
  • 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 memberi nama, namanya akan dibuat secara otomatis.
  • Anda dapat secara opsional menyertakan argumen --location <location-name> dengan <location_name> sebagai 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 ini mungkin perlu waktu beberapa menit untuk diselesaikan. Saat berjalan, perintah ini memberikan pesan tentang membuat grup sumber daya, paket App Service dan aplikasi hosting, mengonfigurasi pengelogan, lalu 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.0",
  "runtime_version_detected": "0.0",
  "sku": "FREE",
  "src_path": "//home//msangapu//myPhpApp"
}

Catatan

Perintah az webapp up melakukan tindakan berikut:

3 - Menelusuri aplikasi

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

Empty web app page

4 - Menyebarkan kembali pembaruan

  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.0" --os-type=linux
    
  3. Setelah penyebaran diselesaikan, beralih kembali ke jendela browser yang dibuka di langkah Telusuri aplikasi, dan refresh halaman.

    Updated sample app running in Azure

5 - 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

Setelah selesai dengan aplikasi contoh, Anda dapat menghapus semua sumber daya untuk aplikasi dari Azure. Hal ini tidak akan dikenakan biaya tambahan dan membuat langganan Azure Anda tetap rapi. 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 mungkin perlu waktu satu menit untuk dijalankan.

Langkah berikutnya