当前位置: 首页 > article >正文

Linux (ubunut) 环境 Docker 安装Nginx 运行Vue项目

条件: Docker 已经安装完成,并且Docker源已经配置完毕,可以正常下载镜像! ! !

1.下载Nginx (很简单的)

docker pull nginx

2. 挂载目录 (方便日后更新部署前端,最好把容器内的目录挂载到宿主机)

需要挂载三个 ( nginx.conf , conf.d , html )
需要先启动Nginx,把容器内的需要挂载的文件目录,复制出来,
然后再重新运行,下面开始操作

首先找个目录,创建你要挂载的文件,我是在 /home/文件夹下面创建

# 创建挂载目录
mkdir -p /home/nginx/conf
mkdir -p /home/nginx/log
mkdir -p /home/nginx/html

创建完毕之后开始复制,
docker cp nginx: / 容器内的位置 宿主机的位置(就是上面创建的)

`#生成容器
docker run --name nginx -p 80:80 -d nginx
#将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/nginx.conf
#将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/nginx/conf/conf.d
#将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /home/nginx/

OK 文件复制完毕之后,就结束了,开始启动Nginx吧!

-v 是挂载文件 , 前面是宿主机路径 后面是容器内的路径

``docker run \
-p 80:80 \
--name nginx \
-v /home/zxl/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/zxl/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /home/zxl/nginx/log:/var/log/nginx \
-v /home/zxl/nginx/html:/usr/share/nginx/html \
-d nginx:latest``

然后就启动了,可以通过IP访问了

打开Vue项目,打包之后,会在dist 目录下生成

把dist 下面的所有文件,全部上传到Linux 系统,
上传到 /home/nginx/html ( 上面创建的目录 )

配置 /home/nginx/conf 文件

打开之后,在Http里面 添加配置即可

server {
        listen       80;
        server_name  oa.xy.kedle.cn;
		charset utf-8;

	location / {
            root   /usr/share/nginx/html;
			try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }


		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_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
			proxy_pass http://192.168.90.24:8080/;
		}

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

注意 : root /usr/share/nginx/html; 这个路径是容器内的路径,不是你挂载宿主机的目录,别搞错了, 当初卡了 半天,就是因为这个!!!

try_files $uri $uri/ /index.html; 让Url访问的链接在静态目录 ( root )中查询,查询

/prod-api/ 是反向代理啊

结束了!!!


http://www.kler.cn/a/591464.html

相关文章:

  • navicat导出文件密码解密
  • React19源码系列之createRoot的执行流程是怎么的?
  • C语言动态内存管理(下)
  • 数据结构篇——线索二叉树
  • 手机蓝牙项目
  • redis三主三从集群部署
  • [K!nd4SUS 2025] Crypto
  • 再学:Solidity数据类型
  • CH347使用笔记:CH347结合STM32CubeIDE实现单片机下载与调试
  • Excel(函数进阶篇):Vlookup函数进阶、TAKE嵌套SORE函数、SUBTOTAL函数、INDIRECT函数
  • 【从零开始学习计算机科学】信息安全(十三)区块链
  • Android 应用开发:架构重构、性能优化与离线缓存系统实现
  • Androidstudio出现警告warning:意外的元素
  • 【JavaEE】-- SpringBoot快速上手
  • e2studio开发RA4L1(8)----GPT定时器频率与占空比的设置
  • 【嵌入式学习】如何利用gitee管理记录学习内容
  • 【GPT入门】第25课 掌握 LangChain:链式调用的奥秘、特性与使用示例
  • node-ddk, electron 组件, 操作窗口
  • 国产编辑器EverEdit - 语法着色文件的语法
  • MATLAB 控制系统设计与仿真 - 28