此时静态页面网站已经部署上了,但是还是会显示一个端口8080出来,就十分不美观!
ps: 怎么把端口干掉呢?换成XXXXX.com/demo1 或者 XXXXX.com/demo2这种效果呢?
eg: 可以使用 Nginx的反向代理实现!
1.开始反向代理:增加文件夹,达到下面的效果
/home
|---mutou
|----nginx
|----conf.d
|----html
|----conf.d2
mkdir conf.d2
cd conf.d2/
我们在conf.d2中配置另一个Nginx容器的配置文件,文件内容如下:
ps: 把本机的 80 端口与 Nginx 的 80 端口关联对应起来
创建 vdefault.conf 文件;写入内容如下
vi default.conf
server {
listen 80;
server_name localhost;
location /demo1 {
# 在该位置配置反向代理,将ip/demo1请求拦截,发送给8080端口,如果不是本机请使用公网ip
proxy_pass http://你的刚才的ip地址:8080/;
}
}
2. 再启动一个nginx(80),专门作为反向代理映射,将本机80端口代理到nginx的80端口上,并映射两端的配置文件地址;
docker run -d -p 80:80
-v /home/mutou/nginx/html:/usr/share/nginx/html
-v /home/mutou/nginx/conf.d2:/etc/nginx/conf.d
nginx
3. 准备目标代理。
/home/mutou/nginx/conf.d 文件夹下, 修改 default.conf 文件; 内容如下:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index-test.html index.htm;
}
location /demo {
try_files $uri $uri/ /index-test.html;
}
}
9. 重启 Nginx 镜像
此时 访问 ip/demo 即可映射到了ip:8080上,成功完成反向代理。