docker配置nginx,并部署多个项目

前言

基于开发需要需要使用Docker安装nginx,并部署多个前端项目。

1、docker安装nginx容器

shell 复制代码
docker pull nginx

# 挂载项目静态资源和配置文件
docker run --name nginx -p 8088:8088 \
-v /ruoyi/nginx/html:/usr/share/nginx/html \ 
-v /ruoyi/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /ruoyi//nginx/conf.d:/etc/nginx/conf.d 
-d nginx

2、配置nginx.conf

shell 复制代码
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8080;
        server_name  192.168.31.131;
		root   /usr/share/nginx/html;

        location /one {
	        alias /usr/share/nginx/html/one/;
            try_files $uri $uri/ /one/index.html;
            index  index.html index.htm;
        }
		
		location /two {
	        alias /usr/share/nginx/html/two/;
            try_files $uri $uri/ /two/index.html;
            index index.html index.htm;
        }
		
		# 解决刷新浏览器 404问题
		location @router {
			rewrite ^.* /one/index.html last;
		} 

		location /prod-api/{
			proxy_set_header Host $http_host;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_set_header REMOTE-HOST $remote_addr;
			proxy_pass http://192.168.31.131:8081/;
		}

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

此时访问 192.168.31.131:8080/one或者192.168.31.131:8080/tow,就可以访问各自的项目了。

3、其中可能会出现的问题

例如:nginx反向代理到one项目后,在刷新页面突然出现404的问题时,可以通过配置nginx.conf来处理(笔者使用的Vue项目,路由是Router)。

shell 复制代码
# 解决刷新浏览器 404问题
location @router {
	rewrite ^.* /one/index.html last;
} 

至于如何兼顾 two项目,暂时尚未清楚,大神路过可以留言。

相关推荐
putItInYourHand14 分钟前
Docker Compose 部署 Mosquitto MQTT Broker 完整实战指南
运维·docker·容器
Larru-Sun29 分钟前
Nginx + Vue Router 基础:SPA History 部署、反向代理与请求分流
运维·vue.js·nginx
生活爱好者!9 小时前
哇!影视新玩法!docker部署NEOWATCH NAS
运维·docker·容器
迷途呀10 小时前
CI/CD 自动化部署实践:让代码提交后自动上线
linux·运维·nginx·ci/cd·自动化
cpolar技术支持12 小时前
Docker 容器启动失败怎么查?端口、日志、权限与网络排障完整教程
linux·docker·容器·cpolar·网络排障
一技安身15 小时前
【大模型】Win11 部署 DeepSeek+ RAGFlow0.27.2 (Ollama方案,断网可用)
docker·ai·语言模型
新时代牛马15 小时前
docker run 起不来?从dockerd、containerd 到runc 一条线讲透
运维·docker·容器
JavaPub-rodert15 小时前
Docker 安装 MySQL 完整教程:从零部署数据库,到生产环境持久化配置
数据库·mysql·docker
努力努力再努力wz17 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
JavaPub-rodert18 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器