Bagikan melalui


Membuat aplikasi web PHP di Azure App Service

Peringatan

PHP di Windows mencapai akhir dukungan pada November 2022. PHP hanya didukung untuk App Service di Linux. Artikel ini hanya untuk referensi.

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.

Sampel aplikasi yang berjalan di 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 akun Azure, buat akun gratis sebelum memulai.

Prasyarat

Untuk menyelesaikan panduan memulai 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
    

    Tips

    Perubahan nama cabang tidak diharuskan oleh App Service. Namun, karena banyak repositori mengubah cabang defaultnya menjadi main, panduan cepat ini juga menunjukkan cara menerapkan 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.

    Aplikasi contoh berjalan secara lokal

  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. Cuplikan layar yang menunjukkan contoh Try It for Azure Cloud Shell.
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. Tombol untuk meluncurkan Azure Cloud Shell.
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. Cuplikan layar yang menunjukkan tombol Cloud Shell di portal Azure

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.

Mengonfigurasi pengguna penyebaran

FTP dan Git lokal dapat disebarkan ke aplikasi web Azure dengan menggunakan akun pengguna penyebaran. Setelah mengonfigurasikan pengguna penyebaran, Anda dapat menggunakannya untuk semua penyebaran Azure Anda. Nama pengguna dan kata sandi untuk penyebaran di tingkat akun Anda berbeda dari kredensial 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 dan sumber daya Anda di wilayah yang dekat dengan 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 -). Waktu proses 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 <URL>
     {
       "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 pengaktifan penyebaran git.

    Catatan

    URL jarak jauh Git ditampilkan pada deploymentLocalGitUrl properti. Simpan URL ini sesuai kebutuhan Anda nanti.

  2. Telusuri aplikasi web yang baru Anda buat.

    Berikut tampilan aplikasi web baru Anda:

    Halaman aplikasi web kosong

Mendorong ke Azure dari Git

  1. Karena Anda menerapkan cabang main, Anda perlu mengatur cabang penyebaran default untuk aplikasi App Service Anda menjadi main. (Lihat Mengubah cabang penyebaran.) Di Cloud Shell, mengeset 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 remote Azure guna menyebarkan aplikasi Anda. Saat Git Credential Manager meminta kredensial kepada Anda, pastikan Anda memasukkan kredensial yang Anda buat di Mengonfigurasi penyebaran git lokal, bukan kredensial yang Anda gunakan untuk masuk ke portal Azure.

    git push azure main
    

    Perintah ini mungkin perlu waktu beberapa menit untuk dijalankan. 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 <URL>
      cc39b1e..25f1805  main -> main
  

Telusuri ke aplikasi

Lakukan penelusuran ke aplikasi yang disebarkan menggunakan browser web Anda.

Kode sampel PHP berjalan di aplikasi web Azure App Service.

Sampel aplikasi yang berjalan di 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.

    Aplikasi sampel yang diperbarui berjalan di Azure

Mengelola aplikasi Azure baru Anda

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

    Mencari App Services, portal Azure, membuat aplikasi web PHP

  2. Pilih nama aplikasi Azure Anda.

    Navigasi portal ke aplikasi Azure

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

    Halaman App Service di portal Azure

    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 satu menit untuk dijalankan.

Azure App Service menyediakan layanan patching mandiri yang sangat dapat diskalakan untuk hosting web. Panduan memulai ini menunjukkan cara menerapkan aplikasi PHP ke Azure App Service di Linux.

Cuplikan layar aplikasi sampel yang berjalan di Azure.

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

Prasyarat

Unduh repositori contoh

Dalam langkah-langkah berikut, Anda membuat aplikasi web dengan menggunakan Azure CLI, lalu Anda menyebarkan kode PHP sampel ke aplikasi web.

Anda dapat menggunakan Azure Cloud Shell.

  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 dari contoh aplikasi yang berjalan secara lokal.

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

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 error Tidak dapat mendeteksi tumpukan runtime aplikasi secara otomatis, pastikan Anda menjalankan perintah di direktori kode. Untuk mempelajari selengkapnya, lihat Pemecahan 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 menyediakan 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 <directory-location> ...
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": "<directory-path>"
}

Catatan

Perintah az webapp up melakukan tindakan berikut:

Telusuri aplikasi yang disebarkan di browser web Anda di URL yang disediakan di terminal.

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

Cuplikan layar aplikasi sampel yang berjalan di Azure, menampilkan Hello World.

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

Memperbarui dan menyebarkan ulang aplikasi

  1. Temukan direktori php-docs-hello-world dan buka file index.php menggunakan editor teks lokal. Buat perubahan kecil pada teks dalam string di sebelah 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.

    Cuplikan layar aplikasi sampel yang diperbarui yang berjalan di Azure.

Mengelola aplikasi Azure baru Anda

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

    Cuplikan layar portal Microsoft Azure dengan layanan aplikasi yang diketik di kotak teks pencarian.

  2. Pilih aplikasi Azure Anda untuk membukanya.

    Cuplikan layar daftar App Services di Azure. Nama layanan aplikasi demo disorot.

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

    Cuplikan layar halaman gambaran umum App Service di portal Microsoft Azure. Di bilah tindakan, grup tombol Telusuri, Berhenti, Tukar, Mulai Ulang, dan Hapus disorot.

    Menu aplikasi web menyediakan opsi berbeda untuk mengonfigurasi aplikasi Anda.

Membersihkan sumber daya

Setelah selesai dengan aplikasi sampel, Anda dapat menghapus semua sumber daya untuk aplikasi dari Azure sehingga Anda dapat menghindari biaya tambahan dan menjaga 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 membutuhkan waktu satu menit untuk dijalankan.