Nginx
使用 nginx 和 mariadb 在子目錄中設置 wordpress 容器
好的,問題是:我的網路伺服器使用這樣的子目錄方法為網站、cms 和移動應用程序 api 提供服務
- 本地主機-> 站點
- 本地主機/cms
- 本地主機/api
一切都是使用 docker compose 建構的
services: server: build: ./docker/nginx links: - fpm ports: - 80:80 - 443:443 fpm: build: ./docker/php links: - database - smtp database: build: ./docker/mariadb volumes: - dbdata:/var/lib/mysql volumes: dbdata:
**我想做的是添加2個新容器:**一個用於wordpress,一個用於wordpress db ,以便代理將每個請求傳遞給mydomain.dom/blog到wordpress容器。 我能夠使用如下所示的 nginx 配置傳遞請求,但不幸的是,我正在與不斷將所有內容重定向到 localhost 而不是 localhost/blog 的容器進行鬥爭,我想我在 wordpress 中缺少一些配置。
location /blog/ { proxy_http_version 1.1; proxy_buffering off; proxy_read_timeout 90; proxy_connect_timeout 90; proxy_redirect off; proxy_pass http://blog:80; # the wordpress container name proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $proxy_connection; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $proxy_x_forwarded_proto; proxy_set_header X-Forwarded-Ssl $proxy_x_forwarded_ssl; proxy_set_header X-Forwarded-Port $proxy_x_forwarded_port; # Mitigate httpoxy attack (see README for details) proxy_set_header Proxy ""; } # Cms stuff location /cms/ { try_files $uri $uri/ /staff/index.php?$args; include _php.conf; # php-fpm setup } # Site stuff location / { try_files $uri $uri/ /index.php?$args; include _php.conf; # php-fpm setup }
您需要告訴 WordPress 要使用的新基本 url。最簡單的方法是將以下兩行添加到 wordpress 基本目錄中的 wp-config.php 中:
define('WP_HOME','http://example.com/blog'); define('WP_SITEURL','http://example.com/blog');