Azure Uygulaması Hizmetinde PHP web uygulaması oluşturma

Azure App Service, yüksek oranda ölçeklenebilen, kendi kendine düzeltme eki uygulayan bir web barındırma hizmeti sunar. Bu hızlı başlangıç öğreticisinde, Windows'ta Azure Uygulaması Hizmeti'ne php uygulamasının nasıl dağıtılacağı gösterilmektedir.

Cloud Shell’de Azure CLI kullanarak web uygulamasını oluşturabilir ve örnek PHP kodunu web uygulamasına dağıtmak için Git kullanabilirsiniz.

Sample app running in Azure

Mac, Windows veya Linux makinesi kullanarak buradaki adımları izleyebilirsiniz. Önkoşullar yüklendikten sonra adımların tamamlanması yaklaşık olarak beş dakika sürer.

Azure aboneliğiniz yoksa başlamadan önce birücretsiz Azure hesabı oluşturun.

Önkoşullar

Bu hızlı başlangıcı tamamlamak için:

Örnekleri yerel makineye indirme

  1. Bir terminal penceresinde aşağıdaki komutları çalıştırın. Örnek uygulamayı yerel makinenize kopyalar ve örnek kodu içeren dizine gider.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Varsayılan dalın olduğundan mainemin olun.

    git branch -m main
    

    İpucu

    Dal adı değişikliği App Service tarafından gerekli değildir. Ancak, birçok depo varsayılan dalını olarak maindeğiştirdiğinden, bu hızlı başlangıçta'dan mainbir deponun nasıl dağıtılacağı da gösterilir.

Uygulamayı yerel olarak çalıştırma

  1. Azure'a dağıttığınızda nasıl görüneceğini görmek için uygulamayı yerel olarak çalıştırın. Yerleşik PHP web sunucusunu başlatmak için bir terminal penceresi açın ve php komutunu kullanın.

    php -S localhost:8080
    
  2. Bir web tarayıcısı açın ve http://localhost:8080 konumundaki örnek uygulamaya gidin.

    Sayfada görüntülenen örnek uygulamadan Merhaba Dünya! iletisini görürsünüz.

    Sample app running locally

  3. Terminal pencerenizde Ctrl+C tuşlarına basarak web sunucusundan çıkın.

Azure Cloud Shell

Azure, tarayıcınız aracılığıyla kullanabileceğiniz etkileşimli bir kabuk ortamı olan Azure Cloud Shell'i barındırıyor. Azure hizmetleriyle çalışmak için Cloud Shell ile Bash veya PowerShell kullanabilirsiniz. Yerel ortamınıza herhangi bir şey yüklemek zorunda kalmadan bu makaledeki kodu çalıştırmak için Cloud Shell önceden yüklenmiş komutlarını kullanabilirsiniz.

Azure Cloud Shell'i başlatmak için:

Seçenek Örnek/Bağlantı
Kodun veya komut bloğunun sağ üst köşesindeki Deneyin'i seçin. Deneyin seçildiğinde kod veya komut otomatik olarak Cloud Shell'e kopyalanmaz. Screenshot that shows an example of Try It for Azure Cloud Shell.
https://shell.azure.comadresine gidin veya Cloud Shell'i tarayıcınızda açmak için Cloud Shell'i Başlat düğmesini seçin. Button to launch Azure Cloud Shell.
Azure portalının sağ üst kısmındaki menü çubuğunda Cloud Shell düğmesini seçin. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell'i kullanmak için:

  1. Cloud Shell'i başlatın.

  2. Kodu veya komutu kopyalamak için kod bloğundaki (veya komut bloğundaki) Kopyala düğmesini seçin.

  3. Windows ve Linux'ta Ctrl+Shift V'yi seçerek veya macOS üzerinde Cmd+Shift++V'yi seçerek kodu veya komutu Cloud Shell oturumuna yapıştırın.

  4. Kodu veya komutu çalıştırmak için Enter'ı seçin.

Dağıtım kullanıcısı yapılandırma

FTP ve yerel Git, dağıtım kullanıcısını kullanarak azure web uygulamasına dağıtabilir. Dağıtım kullanıcınızı yapılandırdıktan sonra, bunu tüm Azure dağıtımlarınız için kullanabilirsiniz. Hesap düzeyinde dağıtım kullanıcı adınız ve parolanız Azure aboneliği kimlik bilgilerinizden farklıdır.

Dağıtım kullanıcısını yapılandırmak için Azure Cloud Shell'de az webapp deployment user set komutunu çalıştırın. Kullanıcı adını> ve <parolayı> dağıtım kullanıcı adı ve parolasıyla değiştirin<.

  • Kullanıcı adı Azure içinde benzersiz olmalı ve yerel Git gönderimleri için '@' simgesini içermemelidir.
  • Parola en az sekiz karakter uzunluğunda olmalı ve şu üç öğeden ikisi olmalıdır: harfler, sayılar ve simgeler.
az webapp deployment user set --user-name <username> --password <password>

JSON çıktısı parolayı olarak nullgösterir. 'Conflict'. Details: 409 hatası alırsanız kullanıcı adını değiştirin. 'Bad Request'. Details: 400 hatası alırsanız daha güçlü bir parola kullanın.

Web uygulamalarınızı dağıtmak için kullanmak üzere kullanıcı adınızı ve parolanızı kaydedin.

Kaynak grubu oluşturma

Kaynak grubu, web uygulamaları, veritabanları ve depolama hesapları gibi Azure kaynaklarının dağıtıldığı ve yönetildiği mantıksal bir kapsayıcıdır. Örneğin, daha sonra tek bir basit adımda kaynak grubun tamamını silmeyi seçebilirsiniz.

Cloud Shell içinde az group create komutuyla bir kaynak grubu oluşturun. Aşağıdaki örnek Batı Avrupa konumunda myResourceGroup adlı bir kaynak grubu oluşturur. Ücretsiz katmanda App Service için desteklenen tüm konumları görüntülemek için az appservice list-locations --sku FREE komutunu çalıştırın.

az group create --name myResourceGroup --location "West Europe"

Genellikle kaynak grubunuzu ve kaynakları kendinize yakın bir bölgede oluşturursunuz.

Komut tamamlandığında, bir JSON çıkışı size kaynak grubu özelliklerini gösterir.

Azure App Service planı oluşturma

Cloud Shell’de, az appservice plan create komutuyla bir App Service planı oluşturun.

Aşağıdaki örnekte, Ücretsiz fiyatlandırma katmanı kullanılarak myAppServicePlan adlı bir App Service planı oluşturulmaktadır:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux

App Service planı oluşturulduğunda Azure CLI, aşağıdaki örneğe benzer bilgiler gösterir:

{ 
  "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
} 

Web uygulaması oluşturma

  1. Cloud Shell’de, az webapp create komutuyla myAppServicePlan App Service planında bir web uygulaması oluşturun.

    Aşağıdaki örnekte <app-name> kısmını genel olarak benzersiz bir uygulama adıyla değiştirin (geçerli karakterler a-z, 0-9 ve - şeklindedir). Çalışma zamanı PHP|7.4 olarak ayarlanmıştır. Desteklenen tüm çalışma zamanları görmek için az webapp list-runtimes komutunu çalıştırın.

    az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
    

    Web uygulaması oluşturulduğunda Azure CLI aşağıda yer alan çıktıdaki gibi bilgiler gösterir:

     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. >
     }
     

    Git dağıtımının etkinleştirildiği boş bir yeni web uygulaması oluşturdunuz.

    Not

    Git uzak URL’si deploymentLocalGitUrl özelliği içinde https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git biçiminde gösterilir. Bu URL’ye daha sonra ihtiyacınız olacağı için URL’yi kaydedin.

  2. Yeni oluşturduğunuz web uygulamasına göz atın. app-name değerini önceki adımda oluşturulan benzersiz uygulama adınız ile değiştirin<.>

    http://<app-name>.azurewebsites.net
    

    Yeni web uygulamanızın şu şekilde görünmesi gerekir:

    Empty web app page

Git üzerinden Azure'a gönderme

  1. Dalı dağıttığınızdan main App Service uygulamanız main için varsayılan dağıtım dalını olarak ayarlamanız gerekir (bkz . Dağıtım dalını değiştirme). Cloud Shell'de, komutuyla az webapp config appsettings set uygulama ayarını ayarlayınDEPLOYMENT_BRANCH.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. Yerel terminal penceresine dönüp yerel Git deponuza bir Azure uzak deposu ekleyin. deploymentLocalGitUrl-from-create-step değerini, Web uygulaması oluştur'dan kaydettiğiniz Git uzak penceresinin URL'si ile değiştirin<.>

    git remote add azure <deploymentLocalGitUrl-from-create-step>
    
  3. Aşağıdaki komutla uygulamanızı dağıtmak için Azure uzak deposuna gönderin. Git Kimlik Bilgileri Yöneticisi sizden kimlik bilgilerini istedikten sonra, Azure portalında oturum açmak için kullandığınız kimlik bilgilerini değil Dağıtım kullanıcısını yapılandırma bölümüne oluşturduğunuz kimlik bilgilerini girdiğinizden emin olun.

    git push azure main
    

    Bu komutun çalıştırılması birkaç dakika sürebilir. Çalıştırıldığında, aşağıdaki örneğe benzer bilgiler görüntüler:

  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
  

Uygulamaya göz atma

Web tarayıcınızı kullanarak, dağıtılan uygulamanın konumuna gidin.

http://<app-name>.azurewebsites.net

PHP örnek kodu bir Azure App Service web uygulamasında çalışıyor.

Sample app running in Azure

Tebrikler! App Service’e ilk PHP uygulamanızı dağıttınız.

Kodu yerel makinede güncelleştirme ve yeniden dağıtma

  1. Bir yerel metin düzenleyicisi kullanarak index.php dosyasını PHP uygulaması içinde açın ve echo öğesinin yanındaki dizenin içinde bulunan metinde küçük bir değişiklik yapın:

    echo "Hello Azure!";
    
  2. Yerel terminal penceresinde, değişikliklerinizi Git’e işleyin ve ardından kod değişikliklerini Azure’a gönderin.

    git commit -am "updated output"
    git push azure main
    
  3. Dağıtım tamamlandıktan sonra Uygulamaya göz atma adımında açılan tarayıcı penceresine dönüp sayfayı yenileyin.

    Updated sample app running in Azure

Yeni Azure uygulamanızı yönetme

  1. Oluşturduğunuz web uygulamasını yönetmek için Azure portalına gidin. App Services'ı arayın ve seçin.

    Search for App Services, Azure portal, create PHP web app

  2. Azure uygulamanızın adını seçin.

    Portal navigation to Azure app

    Web uygulamanızın Genel Bakış sayfası görüntülenir. Burada Gözat, Durdur, Yeniden Başlat ve Sil gibi temel yönetim görevlerini gerçekleştirebilirsiniz.

    App Service page in Azure portal

    Web uygulaması menüsü, uygulamanızı yapılandırmak için farklı seçenekler sağlar.

Kaynakları temizleme

Önceki adımlarda, bir kaynak grubunda Azure kaynakları oluşturdunuz. Bu kaynakların gelecekte gerekli olacağını düşünmüyorsanız, Cloud Shell’de aşağıdaki komutu çalıştırarak kaynak grubunu silin:

az group delete --name myResourceGroup

Bu komutun çalıştırılması bir dakika sürebilir.

Azure App Service, yüksek oranda ölçeklenebilen, kendi kendine düzeltme eki uygulayan bir web barındırma hizmeti sunar. Bu hızlı başlangıçta, Linux üzerinde Azure Uygulaması Hizmeti'ne php uygulamasının nasıl dağıtılacağı gösterilmektedir.

Screenshot of the sample app running in Azure.

Mac, Windows veya Linux makinesi kullanarak buradaki adımları izleyebilirsiniz. Önkoşullar yüklendikten sonra adımların tamamlanması yaklaşık olarak beş dakika sürer.

Bu hızlı başlangıcı tamamlamak için şunlar gerekir:

1 - Örnek depoyu alma

Cloud Shell'de Azure CLI kullanarak web uygulaması oluşturabilir ve örnek PHP kodunu web uygulamasına dağıtmak için Git'i kullanabilirsiniz.

  1. Terminal penceresinde aşağıdaki komutları çalıştırarak örnek uygulamayı yerel makinenize kopyalayın ve proje köküne gidin.

    git clone https://github.com/Azure-Samples/php-docs-hello-world
    cd php-docs-hello-world
    
  2. Uygulamayı yerel olarak çalıştırmak için komutunu kullanarak php yerleşik PHP web sunucusunu başlatın.

    php -S localhost:8080
    
  3. Web tarayıcısında konumundaki http://localhost:8080 örnek uygulamaya göz atın.

    Screenshot of the sample app running locally.

  4. Terminal pencerenizde Ctrl+C tuşlarına basarak web sunucusundan çıkın.

2 - Uygulama kodunuzu Azure'a dağıtma

Azure CLI,gerekli kaynakları oluşturan ve uygulamanızı tek bir adımda dağıtan bir komuta az webapp up sahiptir.

Terminalde, komutunu kullanarak kodu yerel klasörünüzde dağıtın az webapp up :

az webapp up --runtime "PHP:8.2" --os-type=linux
  • Komut tanınmıyorsa az Azure CLI'nın yüklü olduğundan emin olun.
  • --runtime "PHP:8.2" bağımsız değişkeni, PHP sürüm 8.2 ile web uygulamasını oluşturur.
  • bağımsız --os-type=linux değişkeni web uygulamasını Linux üzerinde App Service'da oluşturur.
  • İsteğe bağlı olarak bağımsız değişkeniyle --name <app-name>bir ad belirtebilirsiniz. Sağlamazsanız, otomatik olarak bir ad oluşturulur.
  • İsteğe bağlı olarak bağımsız değişkeni --location <location-name> kullanılabilir bir Azure bölgesi olan yere <location_name> ekleyebilirsiniz. komutunu çalıştırarak Azure hesabınız için izin verilebilen bölgelerin az account list-locations listesini alabilirsiniz.
  • "Uygulamanızın çalışma zamanı yığını otomatik olarak algılanamadı" hatasını görürseniz, komutu kod dizininde çalıştırdığınızdan emin olun (bkz . az webapp up ile ilgili otomatik algılama sorunlarını giderme).

Komutun tamamlanması birkaç dakika sürebilir. Çalışırken kaynak grubunu, App Service planını ve uygulama kaynağını oluşturma, günlüğe kaydetmeyi yapılandırma ve ZIP dağıtımı yapma hakkında iletiler sağlar. Ardından uygulamanın Azure'daki URL'si olan "Uygulamayı http://< app-name.azurewebsites.net> adresinde başlatabilirsiniz" iletisini verir.

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"
}

Not

az webapp up komutu şu eylemleri gerçekleştirir:

URL'sinde http://<app-name>.azurewebsites.netweb tarayıcınızda dağıtılan uygulamaya göz atın.

PHP örnek kodu bir Azure Uygulaması Hizmetinde çalışıyor.

Screenshot of the sample app running in Azure, showing 'Hello World!'.

Tebrikler! Azure portalını kullanarak app service'e ilk PHP uygulamanızı dağıttınız.

3 - Uygulamayı güncelleştirme ve yeniden dağıtma

  1. Bir yerel metin düzenleyicisi kullanarak index.php dosyasını PHP uygulaması içinde açın ve echo öğesinin yanındaki dizenin içinde bulunan metinde küçük bir değişiklik yapın:

    echo "Hello Azure!";
    
  2. Değişikliklerinizi kaydedin, ardından aşağıdaki bağımsız değişkenlerle az webapp up komutunu kullanarak uygulamayı yeniden dağıtın:

    az webapp up --runtime "PHP:8.2" --os-type=linux
    
  3. Dağıtım tamamlandıktan sonra Uygulamaya gözat adımı sırasında açılan tarayıcı penceresine dönün ve sayfayı yenileyin.

    Screenshot of the updated sample app running in Azure.

4 - Yeni Azure uygulamanızı yönetme

  1. Oluşturduğunuz web uygulamasını yönetmek için Azure portalına gidin. App Services'ı arayın ve seçin.

    Screenshot of the Azure portal with 'app services' typed in the search text box. In the results, the App Services option under Services is highlighted.

  2. Azure uygulamanızın adını seçin.

    Screenshot of the App Services list in Azure. The name of the demo app service is highlighted.

    Web uygulamanızın Genel Bakış sayfası görüntülenmelidir. Burada Gözat, Durdur, Yeniden Başlat ve Sil gibi temel yönetim görevlerini gerçekleştirebilirsiniz.

    Screenshot of the App Service overview page in Azure portal. In the action bar, the Browse, Stop, Swap (disabled), Restart, and Delete button group is highlighted.

    Web uygulaması menüsü, uygulamanızı yapılandırmak için farklı seçenekler sağlar.

5 - Kaynakları temizleme

Örnek uygulamayla işiniz bittiğinde, uygulamanın tüm kaynaklarını Azure'dan kaldırabilirsiniz. Ek ücretlerden kaçınmanıza yardımcı olur ve Azure aboneliğinizi dağınık tutar. Kaynak grubunu kaldırmak, kaynak grubundaki tüm kaynakları da kaldırır ve uygulamanız için tüm Azure kaynaklarını kaldırmanın en hızlı yoludur.

az group delete komutunu kullanarak kaynak grubunu silin .

az group delete --name myResourceGroup

Bu komutun çalıştırılması bir dakika sürer.

Sonraki adımlar