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.
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
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
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 darimain
.
Menjalankan aplikasi secara lokal
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
Buka browser web, dan navigasikan ke aplikasi sampel di
http://localhost:8080
.Anda melihat pesan Halo Dunia! dari aplikasi sampel yang ditampilkan di halaman.
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. | ![]() |
Buka https://shell.azure.com, atau pilih tombol Luncurkan Cloud Shell untuk membuka Cloud Shell di browser Anda. | ![]() |
Pilih tombol Cloud Shell pada bilah menu di kanan atas di portal Microsoft Azure. | ![]() |
Untuk menjalankan kode dalam artikel ini di Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode untuk menyalin kode.
Tempelkan kode ke sesi Cloud Shell dengan memilih Ctrl+Shift+V di Windows dan Linux, atau dengan memilih Cmd+Shift+V di macOS.
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
Di Cloud Shell, buat aplikasi web di paket App Service
myAppServicePlan
dengan perintahaz webapp create
.Dalam contoh berikut, ganti
<app-name>
dengan nama aplikasi unik global (karakter yang valid adalaha-z
,0-9
, dan-
). Runtime diatur kePHP|7.4
. Untuk melihat semua runtime bahasa umum yang didukung, jalankanaz 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 formathttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Simpan URL ini saat Anda membutuhkannya nanti.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:
Mendorong ke Azure dari Git
Untuk menyebarkan cabang
main
, Anda perlu menetapkan cabang penyebaran default untuk aplikasi App Service Anda kemain
(lihat Mengubah cabang penyebaran). Di Azure Cloud Shell, tetapkan pengaturan aplikasiDEPLOYMENT_BRANCH
dengan perintahaz webapp config appsettings set
.az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
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>
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.
Selamat! Anda telah menyebarkan aplikasi PHP pertama Anda ke App Service.
Memperbarui secara lokal dan menyebarkan ulang kode
Menggunakan editor teks lokal, buka file
index.php
dalam aplikasi PHP, dan buat perubahan kecil pada teks dalam string di sampingecho
:echo "Hello Azure!";
Di jendela terminal lokal, terapkan perubahan Anda di Git, lalu dorong perubahan kode ke Azure.
git commit -am "updated output" git push azure main
Setelah penyebaran diselesaikan, beralih kembali ke jendela browser yang dibuka di langkah Telusuri aplikasi, dan refresh halaman.
Mengelola aplikasi Azure baru Anda
Buka portal Azure untuk mengelola aplikasi yang Anda buat. Cari dan pilih App Services.
Pilih nama aplikasi Azure Anda.
Halaman Gambaran Umum aplikasi web Anda akan ditampilkan. Di sini, Anda dapat melakukan tugas manajemen dasar seperti Telusuri, Berhenti, Hidupkan ulang, dan Hapus.
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.
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:
- Akun Azure dengan langganan aktif. Buat akun gratis.
- Git
- PHP
- Azure CLI untuk menjalankan perintah di shell apa pun untuk menyediakan dan mengonfigurasi sumber daya Azure.
1 - Menyiapkan Aplikasi Sampel
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
Untuk menjalankan aplikasi secara lokal, gunakan perintah
php
untuk meluncurkan server web PHP bawaan.php -S localhost:8080
Jelajahi aplikasi contoh di
http://localhost:8080
dalam browser web.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 perintahaz 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:
Membuat grup sumber daya default.
Membuat paket App Service default.
Membuat aplikasi dengan nama yang ditentukan.
Zip menyebarkan semua file dari direktori yang saat ini berjalan, dengan automasi build diaktifkan.
Cache parameter secara lokal di file .azure/config sehingga Anda tidak perlu menentukannya lagi saat menyebarkannya nanti dengan perintah
az webapp up
atauaz webapp
lainnya dari folder proyek. Nilai cache digunakan secara otomatis secara default.
3 - Menelusuri aplikasi
Lakukan penelusuran ke aplikasi yang disebarkan menggunakan browser web Anda di URL http://<app-name>.azurewebsites.net
.
4 - Menyebarkan kembali pembaruan
Menggunakan editor teks lokal, buka file
index.php
dalam aplikasi PHP, dan buat perubahan kecil pada teks dalam string di sampingecho
:echo "Hello Azure!";
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
Setelah penyebaran diselesaikan, beralih kembali ke jendela browser yang dibuka di langkah Telusuri aplikasi, dan refresh halaman.
5 - Mengelola aplikasi Azure baru Anda
Buka portal Azure untuk mengelola aplikasi yang Anda buat. Cari dan pilih App Services.
Pilih nama aplikasi Azure Anda.
Halaman Gambaran Umum aplikasi web Anda akan ditampilkan. Di sini, Anda dapat melakukan tugas manajemen dasar seperti Telusuri, Berhenti, Hidupkan ulang, dan Hapus.
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.