簡體   English   中英

如何在沒有公共端點的 azure 和 Laravel 8 和 PHP 8 中部署應用服務?

[英]How to Deploy an App Service in azure with Laravel 8 and PHP 8 without public endpoint?

我正在 azure 中使用 Laravel 8 和 PHP 8 部署應用程序服務,但我無法從 URL 中刪除/public。

通常我們解決這個問題

  1. 將域定向到公用文件夾和公用文件夾中的 .htaccess/web.config 文件

  2. 將 .htaccess/web.config 文件放在根目錄中

但在這里它不起作用。

我正在為未來的用戶回答這個問題,因為我花了大約 7-8 個小時來修復它。

我從schaako.decristopherazureossd那里得到了幫助,並將它寫在這里。

開通SSH

通過Azure Portal導航到您的App Service Development Tools section下,select SSH

默認站點配置

現有配置的副本並使用此命令將文件放在/home/site目錄中

cp /etc/nginx/sites-available/default /home/site/default

現在編輯/home/site/default文件並更新,如laravel 文檔服務器配置設置中所述

location / {
    index  index.php index.html index.htm hostingstart.html;
    try_files $uri $uri/ /index.php?$query_string;
}

自定義啟動腳本

您現在需要創建自定義啟動腳本並將文件另存為/home/site/startupscriptbymoon.sh

在上面的文件中添加以下命令

cp /home/site/default /etc/nginx/sites-available/default
service nginx reload

啟動命令和測試

現在通過Azure Portal導航回您的App Service Settings section下,select Configuration ,然后是General Settings

Startup Command文本框中輸入以下內容:

/home/site/startupscriptbymoon.sh

導航回您的應用程序並重新加載。 請享用!

我經歷了同樣的斗爭,並在我的博客https://www.azurephp.dev/2021/09/php-8-on-azure-app-service/中記錄了我的發現。

移動到 Linux 只有容器,從 Apache 到 Nginx 增加了我在文章中報告的一系列問題。 查看更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM