Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署

简介: Docker实战 | 第三篇:Docker安装Nginx,实现基于vue-element-admin框架构建的项目线上部署

一. 前言

在上一文中 点击跳转 通过IDEA集成Docker插件实现微服务的一键部署,但 youlai-mall

是前后端分离的项目,除了后端微服务的部署之外,当然还少不了前端工程的部署。所以本篇讲述如何通过Docker安装Nginx实现前端Vue项目工程的部署。


二. Docker安装Nginx

1. 创建目录


mkdir -p /usr/share/nginx/conf

mkdir -p /usr/share/nginx/html

1

2

2. 创建配置文件


touch /usr/share/nginx/conf/nginx.conf

1

在nginx.conf文件添加如下配置


worker_processes  1;

events {

   worker_connections  1024;

}



http {

   include       mime.types;

   default_type  application/octet-stream;

   sendfile        on;

   keepalive_timeout  65;

   server {

       listen     80;

       server_name  localhost;

       location / {

           root /usr/share/nginx/html;

           index index.html index.htm;

    }

       # 代理转发请求至网关,prod-api标识解决跨域问题

    location /prod-api/ {

           proxy_pass http://www.youlai.store:9999/;

    }

   }

}


3. 拉取镜像


docker pull nginx

1

查看镜像


docker images

1

4. 创建容器并启动


docker run -it -d \

--name nginx \

-p 80:80 \

-v /usr/share/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

-v /usr/share/nginx/html:/usr/share/nginx/html \

nginx


两个-v 分别表示配置文件和nginx工作空间目录的映射,冒号左边是宿主机,右边是容器的,这样修改宿主机的配置文件和工作空间就可以同步到容器


5. 查看容器


docker ps -a

1

6. 查看nginx启动日志


docker logs nginx

1

7. 启动、关闭、重启nginx


docker start nginx

docker stop nginx

docker restart nginx


三. vue-element-admin落地项目线上部署

完成上面的Nginx安装和相关配置后,接下来开始部署前端项目。


youlai-mall-admin 是开源项目有来商城 分离的管理前端,基于 vue-element-admin基础框架构建的。这里讲述如何将其部署到线上环境。


1. 项目打包


执行npm run build:prod打包项目,打包生成的文件在项目根目录下的dist文件夹。

微信图片_20230709230321.png微信图片_20230709230325.png





2. 项目上传


使用FTP工具上传dist文件夹下的所有文件至服务器/usr/share/nginx/html目录下

微信图片_20230709230344.png



3. 项目测试


重启nginx


docker restart nginx

1

访问 www.youlai.store, 使用账号/密码:admin/123456 登录系统


微信图片_20230709230346.png


访问成功!!


4. 其他说明


在Nginx配置文件中其中有下面这一段配置


location /prod-api/ {

   proxy_pass http://www.youlai.store:9999/;

}


至于为什么会拦截 prod-api 这段标识进行代理转发,看下浏览器的一个完整请求路径你应该就会明白。


微信图片_20230709230404.png


无论是本地的dev-api还是线上的prod-api的标识本质上都是解决前后端分离项目的跨域问题,只不过本地使用的vue的proxyTable代理,线上使用的是nginx的代理,手段则是统一的替换标识为真正的后端地址。


四. 结语

至此 youlai-mall 后端和前端都已部署完毕,线上网址 www.youlai.store,目前上线的功能有系统管理模块和OAuth2统一认证授权,商城业务功能和小程序正在开发阶段,所以有兴趣的朋友一起开发的项目欢迎您的关注和联系我(微信号:haoxianrui)。


相关文章
|
5天前
|
前端开发 应用服务中间件 nginx
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
47 25
|
1月前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
61 3
实战~如何组织一个多容器项目docker-compose
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
161 7
|
2月前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
124 0
|
2月前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
49 0
|
2月前
|
存储 安全 Docker
Docker 的实战应用与优化策略
Docker 的实战应用与优化策略
46 0
|
2月前
|
JavaScript Linux 持续交付
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
63 0
|
4月前
|
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
|
5月前
|
应用服务中间件 Linux nginx
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
这篇文章讨论了Linux虚拟机磁盘扩容的方法,包括外部配置、具体扩容步骤和扩容后的效果验证。同时,文章还涉及了Docker容器磁盘满的问题及其解决方法,如删除不必要的镜像和容器,以及调整Docker的安装路径。此外,还提到了意外情况的处理,例如误删除停止的容器后的应对措施。最后,文章还提供了使用Docker安装nginx的步骤和成功访问的截图。
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
|
5月前
|
应用服务中间件 nginx Docker
Docker 安装 Nginx
Docker 安装 Nginx
134 0