首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >全栈开发笔记2:项目部署上线的三种方式

全栈开发笔记2:项目部署上线的三种方式

作者头像
张拭心 shixinzhang
发布于 2023-10-05 00:24:42
发布于 2023-10-05 00:24:42
1.1K00
代码可运行
举报
运行总次数:0
代码可运行

项目部署的三种方式:

  1. 最原始方式✅
    1. yum 手动安装 jdk mysql tomcat nginx
    2. 打包前端项目,放到某个目录,修改 nginx 配置
    3. 修改线上的 mysql 配置,打包 jar,放到某个目录,执行
  2. 宝塔✅
    1. 是一个系统
    2. 可以通过软件商店安装环境,更方便
    3. 「网站」里上传前端项目和新建 Java 项目
  3. 容器✅
    1. Dockerfile
      1. 写一次就好,后面可以复制
      2. 前端项目尤其是,就是写好 nginx 配置和拷贝 dist 即可
    2. 镜像的构建和获取:有哪些现成的镜像

最原始的方式

手动安装环境、上传文件、启动服务。

实用命令:

  1. ``find . -name “*nginx*”``
    1. Ngnix 在 ./etc/nginx
  2. ``history`` 可以查看之前输入的命令
  3. netstat -ntlp查看端口使用情况
  4. mv * …/ 把所有文件移动到上一层
  5. 解压
    1. zip 文件:unzip xx
    2. tar 文件:tar -zxvf apache-maven-3.9.4-bin.tar.gz
    3. /root/frontend/user_info/dist
    4. 之前的:/root/frontend/build
  6. nginx -s reload 修改配置文件 (nginx.conf) 后,刷新
  7. 找出使用 80 端口的进程并关闭:fuser -k 80/tcp

nginx user:

服务器后端环境配置:

  1. 安装 jdk: yum install java-17-openjdk
    1. yum 安装完环境变量也配置好了
  2. 安装 mysql: curl -o xxx {url}
    1. yum install mysql
    2. yum install mysql-server
    3. yum install mysql-devel
    4. 设置 mysql 开机启动:systemctl enable mysqld
  3. 服务端 mvn 构建:mvn package -DskipTests

mysql 配置:

  1. 设置密码
    1. mysql -u root -p
    2. mysql -u shixin -p
    3. 8.0 以后:alter user’root’@‘localhost’ identified with mysql_native_password by ‘xxx’ ;
  2. 创建新用户
    1. create user ‘shixin’@‘%’ identified with mysql_native_password by ‘新密码’;
    2. 赋予权限:grant all privileges on *.* to shixin@‘%’ with grant option;
      1. 所有数据库的所有表,给在任意 IP 的 shixin
  3. 重启:systemctl restart mysqld

防火墙开放 3306 端口:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@VM-16-15-centos lighthouse]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
FirewallD is not running
[root@VM-16-15-centos lighthouse]# systemctl start firewalld.service
[root@VM-16-15-centos lighthouse]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@VM-16-15-centos lighthouse]# firewall-cmd --reload
success
[root@VM-16-15-centos lighthouse]# firewall-cmd --list-ports
3306/tcp

启动服务: java -jar UserCenter-0.0.3-SNAPSHOT.jar --spring.profiles.active=prod &

& 表示后台运行 文件上传默认上传到:./home/lighthouse

宝塔

通过界面的方式安装环境、上传文件。

用老婆的小号买了一年服务器,用于测试宝塔系统。

  1. 防火墙里放开 8888 端口,设置仅自己的 IP 可以访问
  2. 宝塔报错提示:您的请求在Web服务器中没有找到对应的站点
    1. 清除浏览器缓存,刷新
  3. 部署前端项目好简单:
    1. 网站->添加站点->上传文件,完成!
  4. 升级 JDK 到 17:
    1. https://blog.csdn.net/qq_35760825/article/details/128655513
  5. 如果 8080 访问不了,就去宝塔-安全里「放行」端口

Docker 部署

容器:把项目的代码和环境一起打包成镜像,后面换机器只要下载镜像、运行即可。

通过配置文件,把依赖的内容和要执行的脚本都写好,到时候只要执行就好了。

Dockerfile:指定构建 Docker 镜像的方法

相关命令:

  1. docker build -t user-center-frontend:v0.0.1 . (最后这个点别漏了) 基于当前文件夹的 Dockerfile 构建一个镜像
  2. docker images 可以查看本地的镜像(包括刚才构建出来的)
  3. 启动
    1. docker run -p 80:80 -d user-center-frontend:v0.0.1
    2. -d 表示后台运行
  4. docker ps 查看正在运行的容器
  5. docker exec -i -t {容器id} /bin/bash 进入某个容器
  6. docker kill (容器 id)
  7. docker logs -f e3afd19b7502 查看某个容器的日志
  8. docker rmi -f hello-world 删除某个镜像
  9. 如何优化
  10. size 和构建时长
  1. docker run xxx ,会现在本地找,找不到的话会去远端仓库下载
  2. 执行流程
    1. docker client(客户端)会发送消息给 docker daemon(守护进程)
    2. docker dameon 会去 Docker 仓库拉取需要的镜像;
    3. 然后创建一个新的容器,运行镜像
    4. 最后 daemon 把输出发送给 client,client 把结果发送给你的命令行

其他

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//获取环境
process.env.NODE_ENV

静态化:umi config.ts 里加 exportStatic,可以给每个路由生成 html 静态文件,这样的好处是在某个页面刷新时不会报错。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker命令大总结,主要微服务项目部署
3.5 给MySQL挂载本地目录容器不仅仅可以挂载数据卷,也可以直接挂载到宿主机目录上。关联关系如下:
叫我阿杰好了
2022/11/07
1.8K0
Docker命令大总结,主要微服务项目部署
Docker快速入门到项目部署
run 就是子命令。docker下面有很多子命令,run是其中一个。创建并运行一个容器。
用户11288958
2025/01/17
3390
Docker快速入门到项目部署
mall在Linux环境下的部署(基于Docker容器)
mall在Linux环境下的部署(基于Docker容器) 本文主要以图文的形式讲解mall在Linux环境下的部署,涉及在Docker容器中安装Mysql、Redis、Nginx、RabbitMQ、Elasticsearch、Mongodb,以及SpringBoot应用部署,基于CenterOS7.6。 Docker环境安装 安装yum-utils: yum install -y yum-utils device-mapper-persistent-data lvm2 为yum源添加docker仓库位置:
macrozheng
2019/07/22
1.6K0
mall在Linux环境下的部署(基于Docker容器)
内网环境如何配置运行环境
目前很多国企或者单位对保密性有要求,不允许宿主机环境连接外部网络,也不提供跳板机搭建代理访问,所以很多环境都需要自己手动编译安装调试,现在将自己的完整的环境部署流程记录下来,以做后续参考,本文操作时的操作系统如下。
Kindear
2023/09/26
9860
【Docker篇】vue前端项目部署
出现结果则应用镜像 frontend 成功创建,然后我们基于该镜像启动一个Docker容器
树酱
2020/07/03
2.3K0
Docker学习笔记
Docker学习笔记安装# 1、yum 包更新到最新 yum update# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2# 3、 设置yum源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce
Karos
2023/01/23
9380
Docker学习笔记
docker项目经验_如何培育与指导部署
1、准备nginx.conf.template、Dockerfile、dist(前端项目build后的包)
全栈程序员站长
2022/11/04
6900
docker项目经验_如何培育与指导部署
SpringBoot 多模块项目打包部署保姆级教程
docker pull mysql:8.0.16 ==> docker pull 镜像名称:镜像版本
木字楠
2022/11/15
2.4K0
SpringBoot 多模块项目打包部署保姆级教程
【愚公系列】2023年11月 Java教学课程 172-项目部署(CentOS的软件安装)
由于上述在进行文件上传时,选择的上传目录为根目录 /,上传完毕后,我们执行指令 cd / 切换到根目录下,查看上传的安装包。
愚公搬代码
2025/06/02
1880
【愚公系列】2023年11月 Java教学课程 172-项目部署(CentOS的软件安装)
Docker Compose 项目打包部署
参考官方:https://docs.docker.com/compose/compose-file/
IT茂茂
2020/03/19
5.5K0
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、lo
Docker是一种流行的容器化平台,它允许开发人员在独立、可移植的环境中构建、打包和部署应用程序。在使用Docker时,常常需要在Docker容器和主机之间进行文件的复制和共享。Docker提供了一个名为docker cp的命令,可以轻松地在容器和主机之间复制文件和目录。
寻求出路的程序媛
2024/09/03
8660
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、lo
微服务之Docker知识点总结
说是初识,但我其实已经不是初识了。因为我在学习微服务之前,就学过docker了。当时写过一篇Docker入门的博客,但是由于我当时并没有微服务的概念,所以学习得并不深入,并没有真正的用起来,只是学习了一些概念性的东西。所以我这篇博客决定与微服务结合起来学习,会把Docker给用起来。
害恶细君
2022/11/22
5860
微服务之Docker知识点总结
使用docker在CentOS7上搭建WordPress
首先你得知道什么叫做WordPress, 它是一个基于PHP和MySQL的开源的博客管理工具,用于管理你的写作内容。由于它十分容易部署,而且有很多好看的主题可以供你选择,因此被许多人使用。
wo.
2021/06/15
1.2K0
使用docker在CentOS7上搭建WordPress
项目部署 docker 记录
将连接名改为需要连接的依赖名 (在 docker-compose.yml 中配置);
子润先生
2021/06/11
5820
本地项目部署到服务器——docker-nginx
作为web端开发er,几乎从未接触过后端及服务端相关知识。但有些场景下又需要将自己的一些东西从公网(域名)上展示出来,比如自己的可开源项目、博客、简历、demo等。有时候我们可以麻烦后台或者运维同事来帮我们搞一搞,但终究授之以鱼不如授之以渔,在同事的帮助下,我也成功的通过一条简单的途径实现了本地文件上传至服务器并从域名访问。本片博客记录下实现过程。 本实现途径是在linux服务器中安装docker,然后启用docker-nginx代理实现的,希望对与我面对同样困境的小白有所帮助。 第一次接触服务端知识,有错敬请指教,感谢! 那么,开始吧~
流眸
2020/06/15
8.2K2
本地项目部署到服务器——docker-nginx
微服务项目部署--docker
忆愿
2024/07/23
1760
微服务项目部署--docker
Docker分离环境搭建LNMP并部署Discuz
1、配置YUM源 vi /etc/yum.repos.d/CentOS-Base.repo 末行添加 [docker-repo] name=Docker Repository baseurl=https://yum.dockerproject.org/repo/main/centos/7/ enabled=1 gpgcheck=1 gpgkey=https://yum.dockerproject.org/gpg 2、安装docker引擎
星哥玩云
2022/07/26
1.2K0
Docker分离环境搭建LNMP并部署Discuz
JavaWeb项目的部署以及远程调试
1. 查看当前Linux系统是否已经安装java,输入 rpm -qa | grep -i java
程序员波特
2024/01/19
2930
JavaWeb项目的部署以及远程调试
云原生时代必须具备的核心技能之Docker高级篇(Docker实战之SpringBoot项目部署)
  上篇文章介绍了如何搭建MySQL的高可以集群,那么本文就继续在这个基础上我们实现一个具体的SpringBoot项目部署。话不多说,直接开干!!!
用户4919348
2022/01/06
3730
云原生时代必须具备的核心技能之Docker高级篇(Docker实战之SpringBoot项目部署)
使用 Docker-compose 一键打包部署项目!真心不错啊
我们常常见到很多比较棒的开源项目,但在本地安装运行的话就会很复杂,要配置不同的环境,安装不同的依赖,好一点的会用docker直接拉取,或者打包好。
民工哥
2022/10/27
5.2K0
使用 Docker-compose 一键打包部署项目!真心不错啊
推荐阅读
相关推荐
Docker命令大总结,主要微服务项目部署
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档