docker nginx 部署 vue项目

简介: docker nginx 部署 vue项目

一、vue项目编译打包


1、更新node更新库

image.png

2、编译打包

npm run build

image.png

该问题的原因是 之前项目代码是在windows环境编译的 现在是在mac环境编译 所以需要下载相应操作系统的编译库

image.png


image.png

编译成功之后 会生成一个dist文件夹

image.png

里面的内容就是即将部署到nginx的静态资源

3、如果想直接启动vue项目

image.png

启动的时候 如果报webpack-dev-server: Permission denied错误

处理方式

a、获取nodejs模块安装目录访问权限 (必须执行)

image.png

b、安装 淘宝镜像 (cnpm)

image.png

c、cnpm -v 如果报sudo: cnpm: command not found

说明此时需要配置下cnpm的环境变量

vim  ~/.bash_profile

export PATH=/Users/mengfanxiao/nodejs/npm_global/bin:$PATH

source ~/.bash_profile

d、sudo cnpm install webpack-dev-server -g

image.png

e、安装相关依赖

e-1、安装vue脚手架

sudo cnpm install -g vue-cli

image.png

e-2、安装项目依赖

cnpm install 

image.png

e-3、安装 vue 路由模块vue-router和网络请求模块vue-resource

cnpm install vue-router vue-resource --save

image.png

e-4、启动项目

npm run devcnpm rundev



二、将vue项目部署到docker nginx并实现访问


1、安装最新的nginx

image.png

2、先简单nginx运行起来,方便后面我们拷贝容器内部的nginx配置文件

image.png

3、将容器中的配置文件复制到宿主机上 普通方式搭建的nginx只需要关注nginx.conf配置文件 docker方式搭建的 需要关注2个配置文件 nginx.conf和default.conf

image.png

docker cp ed2f9784a0eb:/etc/nginx/nginx.conf ~/nginx/conf/

docker cp ed2f9784a0eb:/etc/nginx/conf.d/default.conf ~/nginx/conf.d/

4先停止容易 再删除容器 重新启动 (防止端口冲突 修改了下默认端口为7000)

image.png

5、将静态文件放在location指定的目录下

image.png


6、启动容器

docker run -d --name nginx1 -p 7000:7000 -v /Users/mengfanxiao/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /Users/mengfanxiao/nginx/html:/Users/mengfanxiao/nginx/html -v /Users/mengfanxiao/nginx/logs:/var/log/nginx -v /Users/mengfanxiao/nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf nginx


-d 后台启动

-name 容器名称

-p宿主机端口7000 指向容器中端口7000

第一个-v表示将宿主机中的nginx.conf替换调容器中的nginx.conf

第二个-v表示将宿主机中的静态资源文件替换调宿主机中的静态资源文件

第三个-v表示容器中的日志也写到宿主机上方便查看日志

第四个-v表示宿主机上的default.conf配置替换掉容器中的default.conf配置


image.png

6、查看启动结果

image.png


7、访问静态资源

image.png

相关文章
|
12天前
|
前端开发
vue3+ts项目中使用mockjs
vue3+ts项目中使用mockjs
219 58
|
19天前
|
应用服务中间件 Linux nginx
Docker镜像-手动制作yum版nginx镜像
这篇文章介绍了如何手动制作一个基于CentOS 7.6的Docker镜像,其中包括下载指定版本的CentOS镜像,创建容器,配置阿里云软件源,安装并配置nginx,自定义nginx日志格式和web页面,最后提交镜像并基于该镜像启动新容器的详细步骤。
79 21
Docker镜像-手动制作yum版nginx镜像
|
19天前
|
应用服务中间件 nginx Docker
Docker镜像-基于DockerFile制作编译版nginx镜像
这篇文章介绍了如何基于Dockerfile制作一个编译版的nginx镜像,并提供了详细的步骤和命令。
95 17
Docker镜像-基于DockerFile制作编译版nginx镜像
|
18天前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3天前
|
JavaScript 前端开发
Vue项目使用px2rem
Vue项目使用px2rem
|
19天前
|
应用服务中间件 Linux nginx
Docker镜像-基于DockerFile制作yum版nginx镜像
本文介绍了如何使用Dockerfile制作一个基于CentOS 7.6.1810的yum版nginx镜像,并提供了详细的步骤和命令。
60 20
|
7天前
|
JavaScript 前端开发
Vue项目使用px2rem
Vue项目使用px2rem
|
9天前
|
JavaScript 前端开发 UED
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
让 HTML 向 Vue.js 华丽转身:如何把 `wangEditor` 仿腾讯文档项目整合进 Vue.js
|
15天前
|
数据采集 JavaScript 搜索推荐
我们一起聊聊如何对Vue项目进行搜索引擎优化
【9月更文挑战第4天】Vue 项目的搜索引擎优化(SEO)较为复杂,因其内容默认由 JavaScript 渲染,部分搜索引擎难以索引。为提升 SEO 效果,可采用服务器端渲染(SSR)或预渲染,使用 Nuxt.js 或 Vue Server Renderer 实现 SSR,或利用 Prerender SPA Plugin 预渲染静态 HTML。此外,动态管理 Meta 标签、优化静态内容与 Sitemap、懒加载、图片优化、提升页面速度、设置正确的路由模式、使用结构化数据及构建良好外链均有益于 SEO。
43 11
|
16天前
|
负载均衡 网络协议 应用服务中间件
web群集--rocky9.2源码部署nginx1.24的详细过程
Nginx 是一款由 Igor Sysoev 开发的开源高性能 HTTP 服务器和反向代理服务器,自 2004 年发布以来,以其高效、稳定和灵活的特点迅速成为许多网站和应用的首选。本文详细介绍了 Nginx 的核心概念、工作原理及常见使用场景,涵盖高并发处理、反向代理、负载均衡、低内存占用等特点,并提供了安装配置教程,适合开发者参考学习。