Öğretici: Azure App Service'de PostgreSQL ile Django web uygulaması Azure App Service

Bu öğreticide, veri odaklı bir Python Django web uygulamasının Azure App Service ve Postgres için Azure Veritabanı veritabanına nasıl bağlanarak dağıtın. Yukarıdaki seçeneği kullanarak PostgresSQL Esnek Sunucu'ya da ebilirsiniz. Esnek Sunucu daha basit bir dağıtım mekanizması ve daha düşük sürekli maliyetler sağlar.

Bu öğreticide, aşağıdaki görevleri tamamlamak için Azure CLI'sini kullanırsınız:

  • Python ve Azure CLI ile ilk ortamınızı ayarlama
  • PostgreSQL için Azure Veritabanı oluşturma
  • PostgreSQL'Azure App Service bağlanmak için kod dağıtma
  • Kodunuzu güncelleştirme ve yeniden yükleme
  • Tanılama günlüklerini görüntüleme
  • Web uygulamasını Azure portal

Bu öğreticinin Azure portal sürümünü de kullanabilirsiniz.

Bu öğreticide, bir veri odaklı Python Django web uygulamasının Azure App Service esnek sunucu veritabanına PostgreSQL için Azure Veritabanı nasıl dağıtın? PostgreSQL Esnek Sunucu'ya sahip değilseniz yukarıdaki Tek Sunucu seçeneğini belirleyin.

Bu öğreticide, aşağıdaki görevleri tamamlamak için Azure CLI'sini kullanırsınız:

  • Python ve Azure CLI ile ilk ortamınızı ayarlama
  • Esnek PostgreSQL için Azure Veritabanı veritabanı oluşturma
  • PostgreSQL Esnek Azure App Service'a bağlanmak için kod dağıtma
  • Kodunuzu güncelleştirme ve yeniden yükleme
  • Tanılama günlüklerini görüntüleme
  • Web uygulamasını Azure portal

Bu öğreticinin Azure portal sürümünü de kullanabilirsiniz.

1. İlk ortamınızı ayarlama

  1. Etkin aboneliği olan bir Azure hesabına sahip olun. Ücretsiz bir hesap oluşturun.
  2. Python 3.6 veya üst sürümü yükleyin.
  3. Azure kaynaklarını sağlama ve yapılandırma için komutlarını herhangi bir kabukta çalıştırarak Azure CLI 2.18.0 veya üst sürümü yükleyin.

Bir terminal penceresi açın ve Python sürümü 3.6 veya daha yüksek olup ola bir kontrol edin:

python3 --version

Azure CLI sürümünün 2.18.0 veya daha yüksek olup olamay olduğunu kontrol edin:

az --version

Yükseltmeniz gerekirse komutunu deneyin az upgrade (sürüm 2.11+ gerekir) veya bkz. Azure CLI'sini yükleme.

Ardından CLI aracılığıyla Azure'da oturum açma:

az login

Bu komut, kimlik bilgilerinizi toplamak için bir tarayıcı açar. Komut tamamlansa, abonelikleriniz hakkında bilgi içeren JSON çıktısını gösterir.

Oturum başladıktan sonra, aboneliğinizin kaynaklarıyla çalışmak için Azure CLI ile Azure komutlarını çalıştırabilirsiniz.

Sorun mu var? Bize haber ver.

2. Örnek uygulamayı kopyalama veya indirme

Örnek depoyu kopyalama:

git clone https://github.com/Azure-Samples/djangoapp

Ardından şu klasöre gidin:

cd djangoapp

Esnek Sunucu için, veritabanı sunucusu URL'sinin nasıl ayar olduğu ve Azure PostgreSQL Esnek Sunucusu'nun gerektiğinde Django veritabanı yapılandırmasına eklemesi gibi birkaç gerekli değişikliği içeren örneğin esnek sunucu 'OPTIONS': {'sslmode': 'require'} dalı kullanın.

git checkout flexible-server

djangoapp örneği, Django belgelerinde ilk Django uygulamanızı yazarak elde edersiniz veri odaklı Django yoklama uygulamasını içerir. Tamamlanan uygulama size kolaylık sağlamak için burada sağlanmıştır.

Örnek, aşağıdakiler gibi bir üretim ortamında çalıştıracak App Service:

  • Üretim ayarları azuresite/production.py dosyasındadır. Geliştirme ayarları azuresite/settings.py içindedir.
  • Ortam değişkeni ayarlanırken uygulama WEBSITE_HOSTNAME üretim ayarlarını kullanır. Azure App Service değişkeni otomatik olarak web uygulamasının URL'sine ayarlar, msdocs-django.azurewebsites.net örneğin: .

Üretim ayarları, Django'nun herhangi bir üretim ortamında çalıştıracak şekilde yapılandırılması için özeldir ve herhangi bir App Service. Daha fazla bilgi için bkz. Django dağıtım denetim listesi. Ayrıca bazı değişiklikler hakkında ayrıntılı bilgi için bkz. Azure'da Django için üretim ayarları.

Sorun mu var? Bize haber ver.

3. Azure'da Postgres veritabanı oluşturma

Azure db-up CLI için uzantıyı yükleyin:

az extension add --name db-up

Komut az tanınmıyorsa, İlk ortamınızı ayarlama konusunda açıklandığı gibi Azure CLI'nin yüklü olduğundan emin olun.

Ardından komutuyla Azure'da Postgres veritabanını az postgres up oluşturun:

az postgres up --resource-group DjangoPostgres-tutorial-rg --location centralus --sku-name B_Gen5_1 --server-name <postgres-server-name> --database-name pollsdb --admin-user <admin-username> --admin-password <admin-password> --ssl-enforcement Enabled
  • Değiştirmek <postgres-server-name> tüm Azure'da benzersiz bir adla (sunucu uç noktası https://<postgres-server-name>.postgres.database.azure.com olur). İyi bir desen, şirket adınızla başka bir benzersiz değerin birleşimini kullanmaktır.
  • ve <admin-username> <admin-password> için, bu Postgres sunucusu için yönetici kullanıcı oluşturmak için kimlik bilgilerini belirtin. Yönetici kullanıcı adı , azure_superuser , azure_pg_admin, yönetici, kök, konuk veya genel olarak silinenin. bu, ile pg_. Parola şu kategorilerin üçünden 8 ile 128 karakter arasında olmalıdır: İngilizce büyük harfler, İngilizce küçük harfler, sayılar (0-9) ve alfasayısal olmayan karakterler (örneğin, !, #, %). Parolada kullanıcı adı bulunamaz.
  • Kullanıcı adı veya $ parolada karakterini kullanma. Daha sonra, karakterinin Python uygulamalarını çalıştırmak için kullanılan Linux kapsayıcısı içinde özel bir anlamı olduğu $ bu değerlerle ortam değişkenleri oluşturabilirsiniz.
  • Burada B_Gen5_1 (Temel, 5. Nesil, 1 çekirdek) fiyatlandırma katmanı en düşük maliyetli katmandır. Üretim veritabanları için bağımsız değişkenlerini atarak --sku-name GP_Gen5_2 (Genel Amaçlı, 5. Nesil, 2 çekirdek) katmanını kullanın.

Bu komut aşağıdaki eylemleri gerçekleştirir ve bu işlem birkaç dakika sürebilir:

  • Henüz yoksa DjangoPostgres-tutorial-rg adlı bir kaynak grubu oluşturun.
  • bağımsız değişkeniyle adlı bir Postgres sunucusu --server-name oluşturun.
  • ve bağımsız değişkenlerini kullanarak bir --admin-user yönetici --admin-password hesabı oluşturun. Komutun sizin için benzersiz kimlik bilgileri oluşturmasına izin vermek için bu bağımsız değişkenleri atabilirsiniz.
  • bağımsız değişkeni pollsdb tarafından adlı bir veritabanı --database-name oluşturun.
  • Yerel IP adresinizden erişimi etkinleştirin.
  • Azure hizmetlerinden erişimi etkinleştirme.
  • Veritabanına erişimi olan bir veritabanı kullanıcısı pollsdb oluşturun.

Tüm adımları diğer ve komutlarıyla ayrı ayrı az postgres psql yapabilirsiniz, ancak az postgres up tüm adımları birlikte yapar.

Komut tamamlandığında, sunucu URL'si, oluşturulan bir kullanıcı adı (örneğin, " " ) ve guid parolası ile birlikte veritabanı için farklı bağlantı dizeleri içeren bir JSON joyfulKoala@msdocs-djangodb-12345 nesnesi çıkışını verir. Kullanıcı adını ve parolayı, bu öğreticinin sonraki adımlarında ihtiyacınız olacak şekilde geçici bir metin dosyasına kopyalayın.

İpucu

-l <location-name>, Azure bölgelerinden herhangi biri olarak ayarlanmış olabilir. komutunu kullanarak aboneliğinizin kullanılabilir bölgelerini az account list-locations edinebilirsiniz. Üretim uygulamaları için veritabanınızı ve uygulamalarınızı aynı konuma koyabilirsiniz.

  1. Azure CLI ile parametreleri önbelleğe almayı etkinleştirerek bu parametreleri her komutla birlikte sağlamanız gerekebilirsiniz. (Önbelleğe alınan değerler .azure klasörüne kaydedilir.)

    az config param-persist on 
    
  2. Bir kaynak grubu oluşturun ( istenirse adı değiştirebilirsiniz). Kaynak grubu adı önbelleğe alınmış ve sonraki komutlara otomatik olarak uygulanmıştır.

    az group create --name Python-Django-PGFlex-rg --location centralus
    
  3. Veritabanı sunucusunu oluşturun (işlem birkaç dakika sürer):

    az postgres flexible-server create --sku-name Standard_B1ms --public-access all
    

    azKomut tanınmazsa, Ilk ortamınızı ayarlamabölümünde AÇıKLANDıĞı gibi Azure CLI 'nin yüklü olduğundan emin olun.

    Az Postgres esnek-sunucu oluştur komutu, birkaç dakika sürecek olan aşağıdaki eylemleri gerçekleştirir:

    • Zaten önbelleğe alınmış bir ad yoksa, varsayılan bir kaynak grubu oluşturun.
    • Bir PostgreSQL esnek sunucusu oluşturun:
      • Varsayılan olarak, komut gibi oluşturulmuş bir ad kullanır server383813186 . Parametresiyle kendi adınızı belirtebilirsiniz --name . Bu ad Azure genelinde benzersiz olmalıdır.
      • Komut en düşük maliyetli Standard_B1ms fiyatlandırma katmanını kullanır. --sku-nameVarsayılan katmanı kullanmak için bağımsız değişkenini atlayın Standard_D2s_v3 .
      • Bu komut, önceki komuttan önbelleğe alınmış olan kaynak grubunu ve konumu kullanır az group create . Bu örnekte, bölgedeki kaynak grubudur Python-Django-PGFlex-rg centralus .
    • Kullanıcı adı ve parola ile bir yönetici hesabı oluşturun. Bu değerleri, --admin-user ve parametreleriyle doğrudan belirtebilirsiniz --admin-password .
    • Varsayılan olarak adlı bir veritabanı oluşturun flexibleserverdb . Parametresiyle bir veritabanı adı belirtebilirsiniz --database-name .
    • , Parametresini kullanarak denetleyebilmeniz için tüm genel erişimi mümkün bir şekilde sunar --public-access .
  4. Komut tamamlandığında, bu öğreticide daha sonra gelen çıkışın, özellikle de ana bilgisayar, Kullanıcı adı ve parola gibi veritabanı adıyla birlikte Bu öğreticinin ilerleyen kısımlarında yer alırken komutun JSON çıkışını bir dosyaya kopyalayın .

Sorun mu yaşıyorsunuz? Bize bilgi verin.

4. kodu Azure App Service dağıtın

Bu bölümde App Service uygulamasında uygulama konağı oluşturur, bu uygulamayı Postgres veritabanına bağlayın ve ardından kodunuzu bu konağa dağıtın.

4,1 App Service uygulaması oluşturma

Terminalde, uygulama kodunu içeren docgoapp depo klasöründe olduğunuzdan emin olun.

Komutuyla bir App Service uygulaması (ana bilgisayar işlemi) oluşturun az webapp up :

az webapp up --resource-group DjangoPostgres-tutorial-rg --location centralus --plan DjangoPostgres-tutorial-plan --sku B1 --name <app-name>
  • --locationBağımsız değişkeni için, önceki bölümde veritabanıyla aynı konumu kullanın.
  • Değiştir <app-name> Tüm Azure genelinde benzersiz bir adla (sunucu uç noktası https://<app-name>.azurewebsites.net ). <app-name> A - Z , 0 - 9 Ve - için izin verilen karakterler. İyi bir model, şirketinizin adının ve uygulama tanımlayıcısının bir birleşimini kullanmaktır.

Bu komut, birkaç dakika sürebilen aşağıdaki eylemleri gerçekleştirir:

  • Zaten mevcut değilse kaynak grubunu oluşturun. (Bu komutta veritabanını daha önce oluşturduğunuz kaynak grubunu kullanırsınız.)
  • Mevcut değilse, temel fiyatlandırma katmanında (B1) docgopostgres-öğretici-plan App Service planını oluşturun. --plan ve --sku isteğe bağlıdır.
  • Yoksa App Service uygulamasını oluşturun.
  • Zaten etkinleştirilmemişse, uygulama için varsayılan günlüğü etkinleştirin.
  • derleme otomasyonu etkinken zıp dağıtımını kullanarak depoyu Upload.
  • Kaynak grubunun adı ve App Service planı gibi ortak parametreleri dosyaya . Azure/config dosyasına ekleyin. Sonuç olarak, sonraki komutlarla aynı parametreyi belirtmeniz gerekmez. Örneğin, değişiklikleri yaptıktan sonra uygulamayı yeniden dağıtmak için az webapp up herhangi bir parametre olmadan yalnızca tekrar çalıştırabilirsiniz. Bununla birlikte, CLı uzantılarından gelen komutlar az postgres up mevcut değildir. bu nedenle, kaynak grubunu ve konumu ilk kullanımı ile burada belirtmeniz gerekli değildir az webapp up .
  1. Terminalde, uygulama kodunu içeren docgoapp depo klasöründe olduğunuzdan emin olun.

  2. Örnek uygulamanın flexible-server dalına geçin. Bu dal, PostgreSQL için gereken belirli yapılandırmayı içerir esnek sunucu:

    git checkout flexible-server
    
  3. az webapp upUygulamanın App Service konağını oluşturmak için aşağıdaki komutu çalıştırın:

    az webapp up --name <app-name> --sku B1 
    

    Bu komut, önceki az group create komuttan ( Python-Django-PGFlex-rg Bu örnekteki bölgedeki grup) önbelleğe alınmış kaynak grubunu ve konumu kullanarak birkaç dakika sürebilen aşağıdaki eylemleri gerçekleştirir centralus .

    • Temel fiyatlandırma katmanında bir App Service planı oluşturun (B1). --skuVarsayılan değerleri kullanmak için atlayabilirsiniz.
    • App Service uygulamasını oluşturun.
    • Uygulama için varsayılan günlük kaydını etkinleştirin.
    • derleme otomasyonu etkinken zıp dağıtımını kullanarak depoyu Upload.

Dağıtım başarılı olduğunda, komut aşağıdaki örnekte olduğu gibi JSON çıktısı üretir:

Örnek az WebApp Command Output

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

4,2 ortam değişkenlerini veritabanına bağlanacak şekilde yapılandırma

Kod artık App Service dağıtılır ve sonraki adım, uygulamayı Azure 'daki Postgres veritabanına bağlayabilmektedir.

Uygulama kodu,,, ve adlı dört ortam değişkeni içinde veritabanı bilgilerini bulmayı bekler DBHOST DBNAME DBUSER DBPASS .

App Service ortam değişkenlerini ayarlamak için, aşağıdaki az WebApp config appSettings set komutuyla "uygulama ayarları" oluşturun.

az webapp config appsettings set --settings DBHOST="<postgres-server-name>" DBUSER="<username>" DBPASS="<password>" DBNAME="pollsdb" 
  • <postgres-server-name> Daha önce komutuyla kullandığınız adla değiştirin az postgres up . Azuresite/Production. kay içindeki kod, .postgres.database.azure.com tam Postgres sunucu URL 'sini oluşturmak için otomatik olarak ekler.
  • <username> Ve <password> ' yi önceki komutla kullandığınız yönetici kimlik bilgileriyle az postgres up veya az postgres up sizin için oluşturulan yöneticilerle değiştirin. Azuresite/Production. kay içindeki kod, ve ' deki tam Postgres Kullanıcı adını otomatik olarak oluşturur DBUSER , bu DBHOST nedenle @server bölümü içermez. (Ayrıca, daha önce belirtildiği gibi, $ Linux ortam değişkenleri için özel bir anlam içerdiğinden, karakteri her iki değerde de kullanmamalısınız.)
  • Kaynak grubu ve uygulama adları, . Azure/config dosyasındaki önbelleğe alınmış değerlerden çizilir.
az webapp config appsettings set --settings DBHOST="<host>" DBUSER="<username>" DBPASS="<password>" DBNAME="flexibleserverdb" 

Ana bilgisayar, Kullanıcı adı ve parola değerlerini az postgres flexible-server create daha önce kullanılan komutun çıktılarından olanlarla değiştirin. Konak, gibi bir URL olmalıdır server383813186.postgres.database.azure.com .

Ayrıca, flexibleserverdb komutunu komutuyla değiştirdiyseniz veritabanı adıyla değiştirin az postgres flexible-server create .

Python kodunuzda bu ayarlara, gibi deyimlerle ortam değişkenleri olarak erişirsiniz os.environ.get('DBHOST') . Daha fazla bilgi için bkz. ortam değişkenlerine erişin.

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

4,3 Docgo veritabanı geçişlerini Çalıştır

Docgo veritabanı geçişleri, Azure veritabanı 'ndaki PostgreSQL içindeki şemanın kodunuzda açıklananlarla eşleştiğinden emin olun.

  1. az webpp sshTarayıcıda Web uygulaması için BIR SSH oturumu açmak üzere Çalıştır:

    az webapp ssh
    

    SSH oturumuna bağlanamıyorsanız, uygulamanın kendisi başlatılamadı. Ayrıntılar için Tanılama günlüklerine bakın . Örneğin, önceki bölümde gerekli uygulama ayarlarını oluşturmadıysanız Günlükler gösterilir KeyError: 'DBNAME' .

  2. SSH oturumunda aşağıdaki komutları çalıştırın ( CTRL + SHIFT + V kullanarak komutları yapıştırabilirsiniz):

    # Run database migrations
    python manage.py migrate
    
    # Create the super user (follow prompts)
    python manage.py createsuperuser
    

    Veritabanına bağlanma ile ilgili herhangi bir hatayla karşılaşırsanız, önceki bölümde oluşturulan uygulama ayarlarının değerlerini denetleyin.

  3. Bu createsuperuser komut sizden süper kullanıcı kimlik bilgilerini ister. Bu öğreticinin amaçları doğrultusunda, varsayılan kullanıcı adını kullanın root , e-posta adresi Için ENTER tuşuna basarak boş bırakın ve Pollsdb1 parola girin.

  4. Veritabanının kilitlendiğini belirten bir hata görürseniz, az webapp settings önceki bölümde komutunu çalıştırdığınızdan emin olun. Bu ayarlar olmadan, geçiş komutu veritabanıyla iletişim kuramaz ve hataya neden olur.

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

4,4 uygulamada bir yoklama sorusu oluşturma

  1. Uygulama Web sitesini açın. Veritabanında henüz belirli bir yoklamalar bulunmadığından, uygulamanın "uygulamayı yokladığı" ve "hiçbir yoklama yok" iletisini görüntülemesi gerekir.

    az webapp browse
    

    "Uygulama hatası" görürseniz, önceki adımda gerekli ayarları oluşturmadınız, veritabanı bağlamak için ortam değişkenlerini yapılandırmadanveya bu değerde hata içereceksinizdir olabilir. az webapp config appsettings listAyarları denetlemek için komutunu çalıştırın. Uygulama başlatma sırasında belirli hataları görmek için tanılama günlüklerini de denetleyebilirsiniz . Örneğin, ayarları oluşturmadıysanız günlüklerde hata gösterilir KeyError: 'DBNAME' .

    Hataları düzeltmek için ayarları güncelleştirdikten sonra, uygulamayı yeniden başlatmak için bir dakika verin ve ardından Tarayıcıyı yenileyin.

  2. URL 'ye ekleyerek Web uygulamasının yönetim sayfasına gidin /admin , örneğin, http://<app-name>.azurewebsites.net/admin . Önceki bölümde docgo Süper Kullanıcı kimlik bilgilerini kullanarak oturum açın ( root ve Pollsdb1 ). Yoklamalar altında, sorular ' ın yanındaki Ekle ' yi seçin ve bazı seçeneklerle bir yoklama sorusu oluşturun.

  3. http://<app-name>.azurewebsites.netSoruların artık kullanıcıya sunulduğunu onaylamak için ana Web sitesine () dönün. Bu soruları yanıtlayın, ancak veritabanında bazı veriler oluşturmak istersiniz.

Tebrikler! Linux için Azure App Service, etkin bir Postgres veritabanıyla bir Python Docgo Web uygulaması çalıştırıyorsunuz.

Sorun mu yaşıyorsunuz? Bize bilgi verin.

Not

App Service, varsayılan olarak oluşturulan her alt klasörde bir wsgi.py dosyası arayarak bir Docgo projesi algılar manage.py startproject . App Service bu dosyayı bulduğunda, Docgo Web uygulamasını yükler. Daha fazla bilgi için bkz. yerleşik Python görüntüsünü yapılandırma.

5. kod değişiklikleri yapın ve yeniden dağıtın

Bu bölümde, uygulamada yerel değişiklikler yapar ve kodu App Service yeniden dağıtabilirsiniz. İşleminde, devam eden işleri destekleyen bir Python sanal ortamı ayarlarsınız.

5,1 uygulamayı yerel olarak çalıştırma

Bir terminal penceresinde aşağıdaki komutları çalıştırın. Süper Kullanıcı oluştururken istemleri izlediğinizden emin olun:

# Configure the Python virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt
# Run Django migrations
python manage.py migrate
# Create Django superuser (follow prompts)
python manage.py createsuperuser
# Run the dev server
python manage.py runserver

Web uygulaması tam olarak yüklendikten sonra, Dmongo geliştirme sunucusu, "geliştirme sunucusu başlatılıyor" iletisinde yerel uygulama URL 'sini sağlar http://127.0.0.1:8000/ . CTRL-BREAK ile sunucudan çıkın.

Örnek Docgo geliştirme sunucusu çıkışı

Uygulamayı aşağıdaki adımlarla yerel olarak test edin:

  1. http://localhost:8000"Hiçbir yoklama yok" iletisini görüntülemesi gereken bir tarayıcıda adresine gidin.

  2. http://localhost:8000/adminDaha önce oluşturduğunuz yönetici kullanıcıyı kullanarak adresine gidin ve oturum açın. Yoklamalar' ın altında, sorular ' ın yanındaki Ekle ' yi seçin ve bazı seçeneklerle bir yoklama sorusu oluşturun.

  3. Yeniden gidin http://localhost:8000 ve uygulamayı test etmek için soruyu yanıtlayın.

  4. CTRL C tuşlarına basarak Docgo sunucusunu durdurun + .

Yerel olarak çalıştırılırken, uygulama yerel bir SQLite3 veritabanı kullanıyor ve üretim veritabanınızı engellemez. İsterseniz üretim ortamınızın benzetimini yapmak için bir yerel PostgreSQL veritabanı da kullanabilirsiniz.

Sorun mu yaşıyorsunuz? Bize bilgi verin.

5,2 uygulamayı güncelleştirme

İçinde polls/models.py , ile başlayan satırı bulun choice_text ve max_length parametreyi 100 olarak değiştirin:

# Find this line of code and set max_length to 100 instead of 200
choice_text = models.CharField(max_length=100)

Veri modelini değiştirdiğiniz için yeni bir Docgo geçişi oluşturun ve veritabanını geçirin:

python manage.py makemigrations
python manage.py migrate

Geliştirme sunucusunu ile yeniden çalıştırın python manage.py runserver ve uygulamayı http: / /localhost: 8000/admin konumunda test edin:

Docgo Web sunucusunu CTRL + C ile yeniden durdurun.

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

5,3 kodu Azure 'a yeniden dağıtın

Depo kökünde aşağıdaki komutu çalıştırın:

az webapp up

Bu komut . Azure/config dosyasında önbelleğe alınan parametreleri kullanır. App Service, uygulamanın zaten var olduğunu algıladığında kodu yeniden dağıtır.

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

5,4 Azure 'da geçişleri yeniden çalıştırın

Veri modelinde değişiklikler yaptığınız için, App Service veritabanı geçişlerini yeniden çalıştırmanız gerekir.

' A giderek tarayıcıda bir SSH oturumu açın https://<app-name>.scm.azurewebsites.net/webssh/host . Sonra şu komutu çalıştırın:

python manage.py migrate

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

5,5 üretim ortamında uygulamayı gözden geçirin

Uygulamayı yeniden inceleyin ( az webapp browse veya http://<app-name>.azurewebsites.net ' i kullanarak) ve uygulamayı üretimde yeniden test edin. (Yalnızca bir veritabanı alanının uzunluğunu değiştirdiğiniz için, değişiklik yalnızca bir soru oluştururken daha uzun bir yanıt girmeyi denerseniz fark edilir.)

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

6. akış tanılama günlükleri

Azure 'da uygulamayı barındıran kapsayıcının içinden oluşturulan konsol günlüklerine erişebilirsiniz.

Günlük akışını görmek için aşağıdaki Azure CLı komutunu çalıştırın. Bu komut . Azure/config dosyasında önbelleğe alınmış parametreleri kullanır.

az webapp log tail

Konsol günlüklerini hemen görmüyorsanız, 30 saniye içinde yeniden kontrol edin.

Günlük akışını istediğiniz zaman durdurmak için CTRL + C yazın.

Sorun mu yaşıyorsunuz? Bize bilgi verin.

Not

Ayrıca, tarayıcıdan https://<app-name>.scm.azurewebsites.net/api/logs/docker adresine giderek günlük dosyalarını inceleyebilirsiniz.

az webapp up Varsayılan günlük kaydını etkinleştirir. Performans nedenleriyle, bu günlüğe kaydetme bir süre sonra devre dışı bırakır, ancak yeniden çalıştırdığınızda her seferinde geri döner az webapp up . El ile açmak için aşağıdaki komutu çalıştırın:

az webapp log config --docker-container-logging filesystem

7. Azure portal uygulamanızı yönetin

Azure Portal, uygulama adını arayın ve sonuçlarda uygulamayı seçin.

Azure portal Python Docgo uygulamanıza gidin

Varsayılan olarak, portal genel bir performans görünümü sağlayan uygulamanızın genel bakış sayfasını gösterir. Burada, gezinme, durdurma, yeniden başlatma ve silme gibi temel yönetim görevlerini de gerçekleştirebilirsiniz. Sayfanın sol tarafındaki sekmeler, açabileceğiniz farklı yapılandırma sayfalarını gösterir.

Python Docgo uygulamanızı Azure portal genel bakış sayfasında yönetin

Sorun mu yaşıyorsunuz? İlk olarak sorun giderme kılavuzunabaşvurun, aksi takdirde bize bilgi verin.

8. Kaynakları Temizleme

Uygulamayı sürdürmek veya ek öğreticilere devam etmek isterseniz, sonraki adımlaraatlayın. Aksi takdirde, devam eden ücretleri önlemek için bu öğreticide oluşturulan kaynak grubunu silebilirsiniz:

az group delete --name Python-Django-PGFlex-rg --no-wait

Kaynak grubunu silerek, içinde yer alan tüm kaynakları serbest bırakabilir ve silebilirsiniz. Komutunu kullanmadan önce gruptaki kaynaklara artık ihtiyacınız olmadığından emin olun.

Tüm kaynakların silinmesi biraz zaman alabilir. --no-waitBağımsız değişkeni, komutun hemen dönmesini sağlar.

Sorun mu yaşıyorsunuz? Bize bilgi verin.

Sonraki adımlar

Uygulamanıza özel bir DNS adı eşlemeyi öğrenin:

App Service bir Python uygulamasını nasıl yürüttüğinizi öğrenin: