在 Docker 利用 nginx 在同一個主機下部署多網站(Wordpress)

許聖泉 Michael Hsu
3 min readFeb 27, 2019

--

使用 Docker 在同一個主機完成多個網站的部署( wordpress 與靜態網站),並透過 DNS 設定在同一個 Domain 底下。

網站一:wordpress-wordpress.example.com

網站二:靜態網站-test.example.com

事前準備:安裝三個需要使用到的 Docker( wordpressmysqlnginx),至於安裝方法本篇文章不在多贅述。

特別注意的是,安裝 nginx 時,記得將本地設定檔資料夾映射至 Docker 容器

docker run -p 80:80 --name nginx \ 
-v /www:/usr/share/nginx/html \
-v /nginx/conf.d:/etc/nginx/conf.d \
--restart=always \
--privileged=true \
-d nginx

wordpress 設定檔,注意須將 127.0.0.1 改成虛擬機的 ip 位置

server {  
listen 80;
server_name wordpress.example.com;
root /usr/share/nginx/html/wordpress/;
location / {
index index.html index.htm index.php;
autoindex off;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
}

靜態網站設定檔

server {  
listen 80;
server_name test.example.com;
root /usr/share/nginx/html/test/;
location / {
index index.html index.htm index.php;
autoindex off;
}
}

最後重新啟動 nginx

docker restart nginx

Github

--

--

許聖泉 Michael Hsu
許聖泉 Michael Hsu

No responses yet