Azure Stack Hub'da bir VM'ye Python web uygulaması dağıtma

Python web uygulamanızı Azure Stack Hub'da barındırmak için bir VM oluşturabilirsiniz. Bu makalede bir sunucu ayarladınız, sunucuyu Python web uygulamanızı barındıracak şekilde yapılandıracak ve ardından uygulamayı Azure Stack Hub'a dağıtacaksınız.

Bu makalede, Nginx sunucusundaki bir sanal ortamda Flask çalıştıran Python 3.x kullanılır. Azure Stack Hub Marketi'nden Ubuntu Server 18.04 LTS kullanın.

VM oluşturma

  1. Azure Stack Hub'da bir web uygulaması barındırmak için Linux VM dağıtma başlığı altındaki yönergeleri izleyerek AZURE Stack Hub'da VM'nizi ayarlayın. Azure Stack Hub Marketi'nden Ubuntu Server 18.04 LTS kullanın.

  2. VM ağ bölmesinde aşağıdaki bağlantı noktalarının erişilebilir olduğundan emin olun:

    Bağlantı noktası Protokol Description
    80 HTTP Köprü Metni Aktarım Protokolü (HTTP), sunuculardan web sayfaları teslim etmek için kullanılan protokoldür. İstemciler BIR DNS adı veya IP adresiyle HTTP üzerinden bağlanır.
    443 HTTPS Köprü Metni Aktarım Protokolü Güvenli (HTTPS), http'nin güvenlik sertifikası gerektiren ve bilgilerin şifrelenmesini sağlayan güvenli bir sürümüdür.
    22 SSH Secure Shell (SSH), güvenli iletişimler için şifrelenmiş bir ağ protokolüdür. Vm'yi yapılandırmak ve uygulamayı dağıtmak için bu bağlantıyı bir SSH istemcisiyle kullanırsınız.
    3389 RDP İsteğe bağlı. Uzak Masaüstü Protokolü (RDP), uzak masaüstü bağlantısının makinenizde grafik kullanıcı arabirimi kullanmasına izin verir.
    5000, 8000 Özel Geliştirme aşamasında Flask web çerçevesi tarafından kullanılan bağlantı noktaları. Üretim sunucusu için trafiğinizi 80 ve 443 arasında yönlendirirsiniz.
  3. Genel Bakış bölmesinde DNS adı'nın altında Yapılandır'ı seçin.

  4. Statik'i seçin ve ardından makineye bir DNS adı olacak şekilde adlandırın: <yourmachine>.<local>.cloudapp.azurestack.contoso.com.

Python'ı Yükleme

  1. SSH istemcinizi kullanarak VM'nize bağlanın. Yönergeler için bkz. PuTTy ile SSH aracılığıyla bağlanma.

  2. VM'nizdeki bash isteminde aşağıdaki komutu girin:

    sudo apt-get update
    sudo apt-get -y install python3 python3-dev
    sudo apt install python3-pip
    
  3. Yüklemenizi doğrulayın. SSH oturumunuzda VM'nize hala bağlıyken Python'ı açmak için aşağıdaki komutu girin ve sürüm numarasını not edin. Ardından Python REPL'sinde çıkmak için yazın quit() .

    python3
    quit()
    
  4. Basit bir web sunucusu olan Nginx'i yükleyin. SSH oturumunuzda VM'nize hala bağlıyken aşağıdaki komutu girin:

    sudo apt-get -y install nginx
    
  5. Yaygın olarak dağıtılmış bir sürüm denetimi ve kaynak kodu yönetimi (SCM) sistemi olan Git'i yükleyin. SSH oturumunuzda VM'nize hala bağlıyken aşağıdaki komutu girin:

    sudo apt-get -y install git
    

Uygulamayı dağıtma ve çalıştırma

  1. VM'de Git deponuzu ayarlayın. SSH oturumunuzda vm'nize hala bağlıyken aşağıdaki komutları girin:

       git clone https://github.com/Azure-Samples/azure-stack-hub-flask-hello-world.git
    
       cd azure-stack-hub-flask-hello-world
    
  2. SSH oturumunuzda vm'nize hala bağlıyken bağımlılıkları yüklemek için aşağıdaki komutları girin. Flask'i apt kullanarak yükleyin ve ardından pip ile modüllerini yükleyin requirements.txt.

    sudo apt install python3-flask
    pip3 install -r requirements.txt
    
    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    
  3. Yeni sunucunuza gidin. Çalışan web uygulamanızı görmeniz gerekir.

    <yourmachine>.<local>.cloudapp.azurestack.contoso.com:5000
    

Sunucunuzu güncelleştirme

  1. SSH oturumunuzda VM'nize bağlanın. Ctrl+C tuşlarına basarak sunucuyu durdurun.

  2. Aşağıdaki komutları girin:

    cd azure-stack-hub-flask-hello-world
    git pull
    
  3. Sanal ortamı etkinleştirin ve uygulamayı başlatın:

    export FLASK_APP=application.py
    flask run -h 0.0.0.0
    

Sonraki adımlar