簡體   English   中英

帶有 Docker 的 Wordpress 和 Nginx:未加載靜態文件

[英]Wordpress & Nginx with Docker: Static files not loaded

我正在使用 Docker 為我的簡單 WordPress 網站提供服務。 一個 nginx 容器和一個 wordpress 容器。 簡單的設置:

upstream wordpress_english {
  server wordpress_en:80;
}

server {
  listen 80;
  server_name my_domain.com www.my_domain.com;

  location / {
        proxy_pass http://wordpress_english;
    }
}

問題:未加載靜態文件(css、js 和圖像)。

瀏覽器控制台的輸出顯示 404:

http://wordpress_english/wp-content/themes/twentyfifteen/genericons/genericons.css?ver=3.2

很容易發現問題:瀏覽器在 wordpress_english(nginx 上游名稱)而不是my_domain.com查找靜態文件

我該如何解決這個問題?

這不是nginx問題,而是 WordPress 的問題。

解決方案

wp-config.php ,添加以下兩行:

define('WP_HOME','http://my_domain.com');
define('WP_SITEURL','http://my_domain.com');

在 WordPress 安裝期間,WordPress 會自動將WP_HOME設置為nginx上游名稱。 上述解決方案覆蓋了默認設置。

似乎是您的 nginx 配置文件中的問題。

在聲明您的服務器my_domain您提供location /proxy_pass wordpress_english 我對 nginx 了解不多,但我在您的服務器my_domain沒有看到任何路徑聲明,並且根鏈接到wordpress_english 他在wordpress_english而不是在您的服務器中查找文件似乎很正常。 (實際上,我猜他正在查看您的服務器,但您的服務器告訴您查看 wordpress)。

不確定,因為我不太了解 nginx 和 proxy_pass 函數。

暫無
暫無

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

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