Nginx

Nginx 自己使用預設配置

  • February 27, 2015

我已經在 Ubuntu 伺服器 14.04 上設置了 Nginx 我想配置一個非常簡單的伺服器塊來偵聽 /app 路徑並將流量重定向到本地正在執行的 nodejs 實例。

我已經使用 proxy_pass 和其他代理設置做到了這一點。

我的問題是節點應用程序中的所有靜態內容(img、js 等)都試圖從 /var/www/html 提供,這是在 Nginx 安裝時創建的預設站點配置中定義的根目標!我已經從啟用站點文件夾中刪除了符號連結,甚至從站點可用文件夾中刪除了預設文件,但沒有任何結果!即便如此,根路徑仍在為預設的 Nginx 歡迎頁面提供服務,該頁面在此站點配置中定義,其他任何地方都沒有!

Nginx 預設值是否在其他任何地方定義?只要我創建一個簡單的站點配置,就像server {} 歡迎頁面一樣簡單,靜態內容就按照我已刪除的預設文件中的定義提供!!!!我該如何解決?

更新:我發現提供的預設文件不是來自 /var/www/html,因為我認為它是在站點可用/預設中定義的。相反,它是從/usr/share/nginx/html ….. 但是配置中的任何地方都沒有提到這個路徑?它如何從那裡得到它?

/usr/share/nginx/html目錄被編譯為內置的預設文件根目錄。

您可以使用配置文件覆蓋內置預設值,但其中的值可能是包的預設值(如在您安裝 nginx 的分發包中),但不一定與預設編譯的值相同。

您可以通過執行來檢查編譯時間值是否存在nginx -V

請注意,nginx 的建構方式基本上可以在沒有任何配置的情況下工作,而 apache 需要配置文件來告訴它要做什麼,因為 apache 基本上沒有預設編譯的任何內容(可能除了配置文件的位置)。也許這就是產生混亂的地方。

引用自:https://unix.stackexchange.com/questions/187068