Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dalam panduan cepat ini, Anda akan menyebarkan aplikasi web Python (Django, Flask, atau FastAPI) ke Azure App Service. Azure App Service adalah layanan hosting web terkelola penuh yang mendukung aplikasi Python yang dihosting di lingkungan server Linux.
Untuk menyelesaikan panduan cepat ini, Anda memerlukan:
- Akun Azure dengan langganan aktif. Buat akun secara gratis.
- Python 3.14 atau lebih tinggi diinstal secara lokal.
Catatan
Artikel ini berisi instruksi saat ini tentang menyebarkan aplikasi web Python menggunakan Azure App Service. Python pada Windows tidak lagi didukung.
Lewati ke akhir
Anda dapat dengan cepat menyebarkan aplikasi sampel dalam tutorial ini menggunakan Azure Developer CLI dan melihatnya berjalan di Azure. Cukup jalankan perintah berikut di Azure Cloud Shellinginkan, dan ikuti perintahnya:
mkdir flask-quickstart
cd flask-quickstart
azd init --template https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
azd up
Dan, untuk menghapus sumber daya:
azd down
Aplikasi sampel
Panduan cepat ini dapat diselesaikan menggunakan Flask, Django, atau FastAPI. Aplikasi contoh di setiap kerangka kerja disediakan untuk membantu Anda mengikuti panduan cepat ini. Unduh atau klon aplikasi contoh ke stasiun kerja lokal Anda.
git clone https://github.com/Azure-Samples/msdocs-python-flask-webapp-quickstart
Untuk menjalankan aplikasi secara lokal:
Buka folder aplikasi:
cd msdocs-python-flask-webapp-quickstartBuat lingkungan virtual untuk aplikasi:
py -m venv .venv .venv\scripts\activatePasang dependensi:
pip install -r requirements.txtJalankan aplikasi:
flask runJelajahi aplikasi contoh di
http://localhost:5000dalam browser web.
Mengalami masalah? Beri tahu kami.
Membuat aplikasi web di Azure
Untuk menghosting aplikasi Anda di Azure, Anda perlu membuat aplikasi web Azure App Service di Azure. Anda dapat membuat aplikasi web menggunakan Azure CLI, VS Code, paket ekstensi Azure Tools, atau portal Azure.
Perintah Azure CLI dapat dijalankan di komputer yang telah memasang Azure CLI.
Buat sumber daya Azure, lalu terapkan aplikasi Anda dengan menggunakan perintah Azure CLI terpisah.
Jika perlu, masuk ke Azure menggunakan az login.
az login
Ganti <app-name> dengan nama yang unik secara global. Buat grup sumber daya dan rencana App Service, lalu buat aplikasi web menggunakan az webapp create.
az group create --name myResourceGroup --location eastus
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku P0v3 --is-linux
az webapp create --name <app-name> --resource-group myResourceGroup --plan myAppServicePlan --runtime "PYTHON:3.14"
az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true
- Gunakan parameter
--runtimeuntuk menentukan versi Python yang dijalankan aplikasi Anda. Contoh ini menggunakan Python 3.14. Untuk mencantumkan runtime Python yang didukung, gunakanaz webapp list-runtimes --os-type linux --runtime python --output table. - Gunakan parameter
--skuuntuk menentukan ukuran (CPU dan memori) serta biaya paket App Service. Contoh ini menggunakan paket layanan P0v3 (Premium v3), yang menimbulkan biaya pada langganan Azure Anda. Untuk daftar lengkap paket App Service, lihat Harga App Service. - Ganti
eastusdengan region pilihan Anda. Untuk menampilkan daftar wilayah yang tersedia, jalankanaz account list-locationsdengan--output table. - Pengaturan
SCM_DO_BUILD_DURING_DEPLOYMENTini mengaktifkan build Oryx, termasuk instalasi dependensi di requirements.txt, saat Anda menerapkan arsip sumber.
Buat file ZIP dengan file aplikasi, termasuk requirements.txt, di akar arsip. Kecualikan file lokal seperti .venv, .git, dan .env. Untuk instruksi khusus platform, lihat Buat file ZIP aplikasi Anda di tab Deploy using a ZIP file . Kemudian deploy arsip menggunakan az webapp deploy:
az webapp deploy --name <app-name> --resource-group myResourceGroup --src-path <zip-file-path> --type zip
Deployment bisa memakan waktu beberapa menit. Buka https://<app-name>.azurewebsites.net untuk melihat aplikasi Anda. Untuk streaming log, aktifkan dengan menjalankan az webapp log config --name <app-name> --resource-group myResourceGroup --docker-container-logging filesystem, lalu jalankan az webapp log tail --name <app-name> --resource-group myResourceGroup.
Mengalami masalah? Beri tahu kami.
Menyebarkan kode aplikasi Anda ke Azure
Azure App Service mendukung beberapa metode untuk menyebarkan kode aplikasi Anda ke Azure, termasuk GitHub Actions dan semua alat CI/CD utama. Artikel ini berfokus pada cara menyebarkan kode Anda dari stasiun kerja lokal Anda ke Azure.
- Menyebarkan menggunakan Azure CLI
- Menyebarkan dengan menggunakan Visual Studio Code
- Menyebarkan menggunakan file ZIP
Perintah Azure CLI pada langkah sebelumnya membuat sumber daya dan men-deploy aplikasi Anda. Anda bisa lanjut ke langkah berikutnya.
Mengalami masalah? Lihat terlebih dahulu panduan Pemecahan Masalah. Jika itu tidak membantu, beri tahu kami.
Mengonfigurasi skrip memulai
Berdasarkan keberadaan file tertentu dalam penyebaran, App Service secara otomatis mendeteksi apakah aplikasi adalah aplikasi Django atau Flask dan melakukan langkah-langkah default untuk menjalankan aplikasi Anda. Untuk aplikasi yang berbasis pada framework web lain seperti FastAPI, Anda mungkin perlu mengonfigurasi skrip startup agar App Service menjalankan aplikasi Anda. Jika tidak, App Service menjalankan aplikasi baca-saja bawaan yang terletak di folder opt/defaultsite.
- Python 3.14 dan versi lebih baru: App Service secara otomatis mendeteksi dan menjalankan aplikasi FastAPI. Tidak diperlukan perintah startup.
- Python 3.13 dan sebelumnya: Anda harus mengonfigurasi perintah startup khusus.
Untuk mempelajari selengkapnya tentang cara App Service menjalankan aplikasi Python dan bagaimana Anda dapat mengonfigurasi dan menyesuaikan perilakunya dengan aplikasi Anda, lihat Mengonfigurasi aplikasi Linux Python untuk Azure App Service.
App Service secara otomatis mendeteksi keberadaan aplikasi Flask. Tidak diperlukan konfigurasi tambahan untuk panduan memulai cepat ini.
Menelusuri ke aplikasi
Buka aplikasi yang telah di-deploy di browser web Anda. Anda dapat mengikuti tautan dari portal Microsoft Azure. Buka halaman Gambaran Umum dan pilih Domain Default. Jika Anda melihat halaman aplikasi default, tunggu sebentar dan refresh browser.
Kode sampel Python menjalankan kontainer Linux di App Service menggunakan citra bawaan.
Selamat! Anda telah menyebarkan aplikasi Phyton Anda ke App Service.
Mengalami masalah? Lihat terlebih dahulu panduan Pemecahan Masalah. Jika itu tidak membantu, beri tahu kami.
Log aliran
Azure App Service mengambil semua output pesan ke konsol untuk membantu Anda mendiagnosis masalah dengan aplikasi Anda. Aplikasi contoh menyertakan pernyataan print() untuk menunjukkan kemampuan ini.
@app.route('/')
def index():
print('Request for index page received')
return render_template('index.html')
@app.route('/favicon.ico')
def favicon():
return send_from_directory(os.path.join(app.root_path, 'static'),
'favicon.ico', mimetype='image/vnd.microsoft.icon')
@app.route('/hello', methods=['POST'])
def hello():
name = request.form.get('name')
if name:
print('Request for hello page received with name=%s' % name)
return render_template('hello.html', name = name)
else:
print('Request for hello page received with no name or blank name -- redirecting')
return redirect(url_for('index'))
Anda dapat meninjau konten log diagnostik App Service dengan menggunakan Azure CLI, VS Code, atau portal Azure.
Pertama, Anda perlu mengonfigurasi Azure App Service untuk menghasilkan log ke sistem file App Service dengan menggunakan perintah az webapp log config.
az webapp log config \
--web-server-logging filesystem \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Untuk mengalirkan log, gunakan perintah az webapp log tail.
az webapp log tail \
--name $APP_SERVICE_NAME \
--resource-group $RESOURCE_GROUP_NAME
Segarkan beranda dalam aplikasi atau coba permintaan lainnya untuk menghasilkan beberapa pesan log. Hasilnya akan terlihat seperti berikut.
Starting Live Log Stream ---
2021-12-23T02:15:52.740703322Z Request for index page received
2021-12-23T02:15:52.740740222Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET / HTTP/1.1" 200 1360 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.841043070Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:52.884541951Z 169.254.130.1 - - [23/Dec/2021:02:15:52 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 200 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:15:53.043211176Z 169.254.130.1 - - [23/Dec/2021:02:15:53 +0000] "GET /favicon.ico HTTP/1.1" 404 232 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.304306845Z Request for hello page received with name=David
2021-12-23T02:16:01.304335945Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "POST /hello HTTP/1.1" 200 695 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.398399251Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/bootstrap/css/bootstrap.min.css HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
2021-12-23T02:16:01.430740060Z 169.254.130.1 - - [23/Dec/2021:02:16:01 +0000] "GET /static/images/azure-icon.svg HTTP/1.1" 304 0 "https://msdocs-python-webapp-quickstart-123.azurewebsites.net/hello" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:95.0) Gecko/20100101 Firefox/95.0"
Mengalami masalah? Lihat terlebih dahulu panduan Pemecahan Masalah. Jika itu tidak membantu, beri tahu kami.
Membersihkan sumber daya
Setelah selesai dengan aplikasi contoh, Anda dapat menghapus semua sumber daya untuk aplikasi dari Azure. Menghapus grup sumber daya memastikan bahwa Anda tidak dikenakan biaya tambahan dan membantu menjaga langganan Azure Anda tetap 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 msdocs-python-webapp-quickstart \
--no-wait
Argumen --no-wait memungkinkan perintah untuk kembali sebelum operasi selesai.
Mengalami masalah? Beri tahu kami.