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 panduan 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 diharuskan 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.
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. | |
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 menggunakan Azure Cloud Shell:
Mulai Cloud Shell.
Pilih tombol Salin pada blok kode (atau blok perintah) untuk menyalin kode atau perintah.
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.
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
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 yang didukung, jalankanaz 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 formathttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Simpan URL ini sesuai kebutuhan Anda 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
Karena Anda menyebarkan cabang
main
, Anda perlu menetapkan cabang penyebaran default untuk aplikasi App Service Anda kemain
(lihat Mengubah penyebaran cabang). Di 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 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 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.
Selamat! Anda telah menyebarkan aplikasi PHP pertama Anda ke App Service.
Perbarui secara lokal dan sebarkan 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
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.
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 secara gratis.
- Git
- PHP
- Azure CLI untuk menjalankan perintah di shell apa pun untuk membuat dan mengonfigurasi sumber daya Azure.
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.
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
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 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 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 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:
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 menerapkan nanti dengan perintah
az webapp up
atauaz webapp
lainnya dari folder proyek. Nilai cache digunakan secara otomatis secara default.
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.
Selamat! Anda menyebarkan aplikasi PHP pertama Anda ke App Service menggunakan portal Azure.
3 - Memperbarui dan menyebarkan ulang aplikasi
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.2" --os-type=linux
Setelah penyebaran selesai, kembali ke jendela browser yang dibuka selama langkah Telusuri ke aplikasi , dan refresh halaman.
4 - Mengelola aplikasi Azure Anda yang baru
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 harus 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.
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.