鍍金池/ 問答/Linux  HTML/ docker部署nginx反向代理wordpress后,加一層/wp訪問路徑,訪

docker部署nginx反向代理wordpress后,加一層/wp訪問路徑,訪問不到。

現(xiàn)在nginx在一個(gè)容器上運(yùn)行,wordpress在一個(gè)容器上運(yùn)行(wordpress是dockerhub上拖取的最新官方鏡像,是以apache服務(wù)器運(yùn)行的php程序),兩個(gè)容器相互獨(dú)立。想要以http://192.168.8.107/wp/ 這個(gè)地址訪問到wordpress(沒有做反向代理之前是以 http://192.168.8.107:8000訪問)。

nginx 部分代碼

server {
    #監(jiān)聽端口號(hào)
    listen  80;

    #服務(wù)名
    server_name  192.168.8.107;

    location /wp/ {
        root   html;

        index  index.html index.htm index.php;

        #反向代理路徑
        proxy_pass http://192.168.8.107:8000;

        #反向代理的超時(shí)時(shí)間
        proxy_connect_timeout 10;

     }
 }

wordpress在機(jī)器192.168.8.107的8000端口上以一個(gè)docker容器運(yùn)行

docker-compose中的wordpress服務(wù)這樣寫的(mysql是另一個(gè)容器,不用關(guān)注這個(gè))。

 wordpress:
  image: wordpress
  container_name: wordpress
  restart: always
  ports:
   - 8000:80
  depends_on:
   - mysql
  environment:
   WORDPRESS_DB_PASSWORD: root
   WORDPRESS_DB_HOST: mysql:3306

但是這樣訪問不到wordpress的頁(yè)面,下圖的172.17.30.225是一個(gè)跳板機(jī),不懂的話可以大致理解為它就是192.168.8.107這臺(tái)機(jī)器。

圖片描述

訪問172.17.30.225/wp后,地址欄會(huì)自動(dòng)定位到/wp-admin/install.php,但是頁(yè)面顯示不出來,顯示如下圖。

圖片描述

正常情況下是此頁(yè)面就對(duì)了(請(qǐng)忽略此端口號(hào),因?yàn)檫@個(gè)是另外開的服務(wù))。

圖片描述

回答
編輯回答
萌小萌

樓主,我也遇到了這個(gè)問題,請(qǐng)問最后是怎么解決的呢?

2017年8月18日 14:01
編輯回答
赱丅呿

請(qǐng)求192.168.8.107/wp的時(shí)候,反向代理的地址是 192.168.8.107:8000/wp,然后WordPress重定向到/wp-admin/install.php,然后nginx找不到對(duì)應(yīng)的location:/wp-admin
我沒用過wordpress 不清楚url配置,可以試下nginx location配置改成 /wp-admin/

2018年5月28日 21:23