docker 安装 nginx 部署Vue前端项目

devtools/2025/3/20 3:59:11/

1 安装 docker

安装docker详细步骤

安装docker报错解决方案

2 安装 nginx

2.1 拉取镜像

拉取1.18.0版本的镜像

docker pull nginx:1.18.0

查看镜像 

2.2 创建实例并启动 

创建并启动实例

# 随便启动一个nginx实例,只是为了复制出配置
docker run -p 80:80 --name nginx -d nginx:1.18.0
# 将容器内的配置文件拷贝到当前目录/root/docker   
docker container cp nginx:/etc/nginx .
# 修改文件名称 将 nginx 修改为 conf
mv nginx conf
# 将 conf 移动到/root/docker/nginx 下
mkdir nginx
mv conf nginx/
# 将容器中的html文件夹复制到当前目录/root/docker/nginx/   
docker cp nginx:/usr/share/nginx/html /root/docker/nginx/
# 删除随便创建的nginx实例
docker stop nginx
docker rm 容器ID
# 进入 /root/docker/nginx下创建文件夹logs和html
mkdir logs
# 创建nginx实例并运行
docker run --net=host  --name nginx --restart=always --privileged=true \
-v /root/xyd/docker/nginx/html:/usr/share/nginx/html \
-v /root/xyd/docker/nginx/logs:/var/log/nginx \
-v /root/xyd/docker/nginx/conf:/etc/nginx \
-d nginx:1.18.0

注意: 这里使用 --net=host 表示容器和宿主主机共享Network namespace,不在使用 -p 80:80做端口映射,因为设置端口映射,则只有该映射端口起作用,nginx配置的其他端口无效。

命令解释,如下:

命令解释
-p 81:80端口映射,容器的80端口映射至虚拟主机的81端口
--net=host容器和宿主主机共享Network namespace
--name nginx容器名称
--restart=always开启启动
--privileged=true允许容器以超级用户(root)权限运行
-v /root/xyd/docker/nginx/html:/usr/share/nginx/html卷轴映射,挂载nginx内容目录
-v /root/xyd/docker/nginx/logs:/var/log/nginx卷轴映射,挂载nginx日志文件
-v /root/xyd/docker/nginx/conf:/etc/nginx卷轴映射,挂载niginx相关配置
-d后端运行
\换行

2.3 测试访问

使用浏览器访问虚拟机地址

3 部署前端项目

3.1 上传前端的 dist 文件挂在/usr/share/nginx/html/下

3.3 修改 nginx 配置

编写相关项目的配置文件test.conf,放在conf.d文件夹下,具体内容如下:

注意nginx.conf中配置包含conf.d文件夹下所有的.conf文件)

server {listen       88;server_name  localhost;#charset koi8-r;#access_log  /var/log/nginx/host.access.log  main;location / {# root指令指定了请求资源的根目录root   /usr/share/nginx/html/dist;# index指令指定了默认的索引文件index  index.html index.htm;# try_files指令用于按顺序检查文件或目录是否存在# 首先尝试按照请求的URI去寻找对应的文件,如果找不到,再尝试将请求作为目录处理,如果还是找不到,最后就返回/index.html文件try_files $uri $uri/ /index.html;}location /dev-api/ {proxy_pass http://localhost:89;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_set_header X-Forwarded-Proto $scheme;rewrite ^/dev-api/(.*)$ /$1 break;}}

3.3 重启 nginx

docker restart nginx

3.4 访问测试

浏览器访问 http://虚拟机ip:88,测试:

4 部署后端项目

后端部署详细步骤

 


http://www.ppmy.cn/devtools/168524.html

相关文章

linux环境下快速输出电脑的系统/硬件/显卡/网络/已安装软件等信息

在Linux环境下,可以通过以下命令快速获取系统和硬件信息。最后将这些命令整合成一个脚本(如 sysinfo.sh),一键输出所有信息。 1. 系统信息 # 内核信息 uname -a# 发行版信息 lsb_release -a 2>/dev/null || cat /etc/*release…

【在数轴上找最优位置,使移动距离最短】

L1-4 破碎的心,无法挽回的距离 题目描述: YFffffff 最近在感情上遭受了失败,他的心也破碎成了n块碎片,散落在了数轴上的 n 个位置。 你是一个情感修复师,作为 YFffffff 的好友,你试图将这些破碎的心重新聚集到一个位…

matlab 控制系统GUI设计-PID控制超前滞后控制

1、内容简介 matlab164-控制系统GUI设计-PID控制超前滞后控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略

Matlab 风力发电机磁悬浮轴承模型pid控制

1、内容简介 略 Matlab 174-风力发电机磁悬浮轴承模型pid控制 可以交流、咨询、答疑 2、内容说明 磁悬浮轴承具有无接触、无摩擦、高速度、高精度、能耗低、不需要需润滑无油污染、可靠性高、寿命长和密封等一系列显著的优点。将磁悬浮技术应用于风力发电机中可以降低风机切入…

`FisherTrainer` 的自定义 `Trainer` 类:累积梯度的平方并求平均来近似计算 Fisher 信息矩阵

FisherTrainer 的自定义 Trainer 类:累积梯度的平方并求平均来近似计算 Fisher 信息矩阵 用于计算模型参数的 Fisher 信息矩阵的近似值 整体目标 Fisher 信息矩阵用于衡量模型参数的不确定性,其在优化问题中可以帮助我们更准确地更新模型参数,避免陷入局部最优。在代码中,…

玩转ChatGPT:Claude 3.7 Sonnet进行数据分析(ARIMA)

一、写在前面 上一期,我们测试了Claude 3.7 Sonnet在机器学习分类建模的能力。 这一期,我们来测试一下它的数据回归的潜力。 首先试一试最经典的ARIMA模型。 二、开测 (1)Project功能 Claude 的 Project 功能是一个很有用的工…

矩阵期望 E 的含义:概率

矩阵期望 E 的含义:概率 期望的含义 在概率论和统计学中,数学期望(或均值,简称期望)是试验中每次可能结果的概率乘以其结果的总和,是最基本的数学特征之一,它反映随机变量平均取值的大小。用公式表示,如果离散型随机变量 X X X 可能取值为 x i x_

ETL中的实用功能以及数据集成方式

在企业数字化转型的进程中,数据集成扮演着至关重要的角色。它不仅是实现信息流动和系统协同的关键步骤,更是提升企业运营效率和决策能力的核心驱动力。ETL(Extract,Transform,Load)作为数据集成的重要工具&…