主要参考链接:JAR部署方案 · JeecgBoot 开发文档 · 看云

web应用在服务器上线总体流程:​​​​​​​部署网站到服务器(完整版) - 知乎

步骤 公网 工具、方法
1、前提准备 购买服务器
购买域名
开发前后端项目
2、部署环境 远程连接服务器 向日葵远程
配置运行环境 数据库、java、nginx、redis、(tomcat)
3、部署项目 后端项目部署

redis

war包:tomacat

jar包:java -jar

前端项目部署 nginx
4、开启防火墙 服务器地址映射?
开放端口 windows防火墙高级设置
5、访问应用 公网域名/localhost:端口号

后端服务通过jar方式运行,前端项目build的dist,部署到nginx。

在部署发布前需要配置好相应运行环境:java、数据库(mysql)、nginx、redis(、tomcat),以及配置好服务器的网络,前后端都已经实现。

目录

一、jeecg-boot项目构建后端jar包

二、通过JAR方式启动后端(命令行启动)

三、前端项目构建(vue3)

四、前端项目发布

五、设置防火墙,开放端口号

六、应用无法正常启动的情况

七、将redis、nginx添加为服务


一、jeecg-boot项目构建后端jar包

        1、初始化数据库

执行Sql脚本: jeecg-boot/db/jeecgboot-mysql-5.7.sql

还需执行如下两个sql脚本:Vue3升级脚本_mysql.sql,V2_V3.sql,参考:

切换Vue3路由 · JeecgBoot Vue3前端文档 · 看云

       2、修改配置文件 application-prod.yml。文件路径如下:

jeecg-boot-master/jeecg-module-system/jeecg-system-biz/src/main/resources

修改数据库链接、缓存redis、上传附件等配置

# 数据库配置,密码自设,与本机数据库密码相同
datasource:master:url: jdbc:mysql://127.0.0.1:3306/jeecg-boot?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghaiusername: rootpassword: 12345678driver-class-name: com.mysql.cj.jdbc.Driver
#redis 配置
redis:database: 0host: 127.0.0.1 # 本地运行redisport: 6379#redis密码自设,在redis.conf文件中配置password: 12345678 

其余保持文件默认状态。

    3、切换Maven为生产模式

单击idea右侧maven处->Profiles->选择prod

解释:pro表示production,dev表示development

        4、打包生成jar包

maven下,jeecg boot3.4.0(root)文件夹->生命周期->install。

等程序执行完之后,会在以下目录生成jar包:

jeecg-module-system/jeecg-system-biz/target/jeecg-system-biz-3.4.0.jar

上述2、3、4为生产模式(prod)下的操作,单独运行后端时为开发模式(dev)。当为开发模式时,2处修改文件为application-dev.yml,3处选择为dev。4处不打包,而是在idea中运行java文件,路径如下。没有报错可以正常访问输出中的网址即可。

jeecg-module-system/jeecg-system-start/src/main/java/org/jeecg/JeecgSystemApplication.java

二、通过JAR方式启动后端(命令行启动)

        1、开启redis服务

开启前,对redis.conf进行如下配置:

注释掉network下的:bind 127.0.0.1 ::1 (#表示注释)

设置security下的requirepass:requirepass 12345678 (即redis密码)

# redis 默认不设密码,最好设置,application-prod.yml文件中redis配置与此保持一致

以下设置在redis老版本中可能没有,没有忽略即可。

设置general下的daemonize:daemonize yes (表示开启后台运行)

设置network下的protected-mode:protected-mode yes

当没有设置requirepass时,将protected-mode修改为no。

redis.conf文件路径

windows:redis安装包内,通过notepad++软件修改相关配置

mac:/opt/homebrew/etc/redis.conf,通过vim命令修改相关配置

redis未开启,或redis配置文件未修改,运行后端jar包,可能会报下面的错误:

error: o.s.d.redis.listener.RedisMessageListnerContainer:665

        2、cd进入jar包所在文件夹,也可将jar包路径写为完整绝对路径,而无需先进入文件夹下。

        3、执行如下命令运行jar包

windows: java -jar jar包路径

mac:sudo java -jar xxx.jar,不加sudo可能会报错。

开发模式只需要在idea中执行java文件即可,不需要这部分上述步骤。

三、前端项目构建(vue3)

1、在文件.env.production中配置后台接口地址

# 本机localhost配置
VITE_GLOB_API_URL=http://localhost:8080/jeecg-boot
VITE_GLOB_DOMAIN_URL=http://localhost:8080/jeecg-boot

公网发布时,将localhost:8080修改为自己的域名地址。开发模式则不需要修改。

在 .env.production 内,设置 VITE_LEGACY=true 即可打包出兼容旧版浏览器的代码

    VITE_LEGACY = true

2、 构建前端项目

在idea窗口下方的终端中执行以下命令:

# 执行命令下载依赖,第一次构建时需要
yarn install
# 构建前端项目包
npm run build

运行完成后,在jeecgboot-vue3-master根目录生成 dist 文件夹,即为打包好的文件。

上述流程为生产模式(production)下的做法。在开发者模式下,1中修改的文件为.env.development。2中将命令npm run build换为npm run serve即将前端项目运行起来。

四、前端项目发布

1、将生成的dist文件复制到nginx安装目录下的html文件中,路径如下:

windows:nginx安装目录下的html文件中

mac:/opt/homebrew/Cellar/nginx/1.23.1/html

dist文件夹名称可以自己修改,修改后需要在nginx配置文件中root处进行相应修改。

nginx.conf文件路径:/opt/homebrew/etc/nginx/nginx.conf

2、nginx正式部署,修改nginx配置文件

# 下列配置为官方给的,修改后的在下面代码块
upstream boot3.jeecg.com {server 127.0.0.1:80;}
server {listen       80;server_name  boot3.jeecg.com;root        /srv/www/project;location / {# 用于配合 browserHistory使用try_files $uri $uri/ /index.html;}location  /jeecgboot/ {proxy_pass         http://127.0.0.1:8080/;proxy_redirect off;#真实IPproxy_set_header  Host             $host;proxy_set_header  X-Real-IP        $remote_addr;set $my_proxy_add_x_forwarded_for $proxy_add_x_forwarded_for;if ($proxy_add_x_forwarded_for ~* "127.0.0.1"){set $my_proxy_add_x_forwarded_for $remote_addr;}proxy_set_header   X-Forwarded-For $my_proxy_add_x_forwarded_for;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

# 请把上面配置中的的boot3.jeecg.com换成自己的域名:localhost
# root修改为dist目录:html/dist

# 修改后的代码块示例,可以直接使用upstream localhost {server 127.0.0.1:80;}server {listen       80;server_name  localhost;root html/dist;#charset koi8-r;location / {# 用于配合 browserHistory使用try_files $uri $uri/ /index.html;}#access_log  logs/host.access.log  main;location  /jeecg-boot {proxy_pass         http://localhost:8080/jeecg-boot;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

编辑完之后,需要在cmd中执行一下命令,nginx配置才能生效:

nginx -s reload

需要先运行nginx之后,才可以执行上述命令,否则会报错,命令行运行nginx方法如下:

windows:单击安装包下的nginx.exe

mac:直接输入nginx即可

在开发者模式下,不需要该部分上述步骤  。

至此,前后端基本部署完成。在开发模式下,通过访问前端项目输出的网址验证。默认用户名/密码为jeecg/123456。

五、设置防火墙,开放端口号

windows系统:控制面板->系统和安全->windows防火墙->高级设置->入站规则->新建规则->端口->TCP,特定本地端口->输入端口号->允许连接->域、专用、公用->输入名称->完成

进入高级设置还可以通过:“win+r”组合键打开运行框,输入命令:firewall.cpl,确定

开放的端口号为80和8080,与nginx配置中保持一致。分别创建两个新的入站规则即可。

在公网访问前,还需要将购买域名与本地地址(localhost:8080)建立映射。

至此,可以直接通过公网网址访问。

六、应用无法正常启动的情况

1、网页显示浏览器找不到服务器,原因可能是后台没有正常启动。查看是否启动redis。

2、出现登录页面,但验证码无法正常显示,原因可能有两个:

nginx网址配置有误

服务器防火墙未开放端口​​​​​​​​​​​​​​

七、将redis、nginx添加为服务

目前redis、nginx需要人工进行启动,添加到系统服务则会开机自启动。 方法如下:

windows下:

redis:redis-server.exe --service-install redis.windows.conf

nginx:???

web应用上线发布详细流程(jeecg-boot,vue3)相关推荐

  1. 小程序发布上线流程_微信小程序提交审核并发布详细流程

    微信小程序提交审核并发布详细流程 审核在1小时到N天不等 官方7天,一般3天内 提交审核?如何发布?审核过程中注意事项? 服务器: 域名只支持 https (request.uploadFile.do ...

  2. 开发提交审核流程_小游戏上线发布全流程详解?

    5G时代小游戏群雄并起 5G时代到来,各大超级App都推出了小游戏模式来把流量变现,如微信小游戏,QQ小游戏,抖音小游等. 之前个人开发者在国内上线游戏需要版号,到国外上线又不熟悉.现在微信/QQ/抖 ...

  3. 微信小程序开发(1)—— 微信小程序申请注册提交审核并发布详细流程

    一.微信小程序注册申请 作为开发者可以用测试版.也可以申请测试号.https://developers.weixin.qq.com/miniprogram/dev/devtools/sandbox.h ...

  4. 微信小程序提交审核并发布详细流程

    微信小程序提交审核并发布详细流程 审核在1小时到N天不等 官方7天,一般3天内 提交审核?如何发布?审核过程中注意事项? 服务器: 域名只支持 https (request.uploadFile.do ...

  5. IOS应用开发-发布详细流程

    IOS应用开发-发布详细流程 申请成为IOS开发者(1天) https://connect.apple.com/cgi-bin/WebObjects/register.woa/wa/default?u ...

  6. 微信小程序提交审核并发布详细流程(一)

    流程介绍 微信开发者工具使用教程 如何上传.发布.审核等 2020年3月31日录 - 微信开发者工具使用教程 01-微信开发者工具的下载和安装 02-微信小程序账号的注册.登录.appid的获取 03 ...

  7. 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...

    阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...

  8. app上线发布流程_APP上线发布流程

    上线流程 上线流程的主要步骤 在上线之前对程序进行内存动态和静态分析,注意启动图的屏幕适配,不然会自动拉升屏幕,使得屏幕自动适配失效 生成cer证书:cer是一个跟电脑相关联的证书文件,让电脑具备真机 ...

  9. 从零开始实现微信小程序上线发布流程

    微信小程序上线发布流程 第一步:运行项目用微信开发者工具打开 第二步:确认一下是否是线上地址,appId是否有误,文件大小有无超出 2M(2048KB) 超出需要分包处理,或者查看是否存在大量本地图片 ...

最新文章

  1. jdbc获取mysql 列信息_JDBC获取数据库信息:获取表中各列的信息
  2. 2013校作息时间表暂存
  3. 这几天惨遭Delphi类型转换折磨,请问怎么把double转成int类型
  4. BZOJ_2179_FFT快速傅立叶_(FFT)
  5. 面向对象7:package、MVC设计模式、import
  6. 供应链服务产业数据知多少
  7. python自动化系列之使用win32com操作Excel
  8. 在线定时任务表达式生成连接
  9. R语言中混合线性模型的实现以及参数解析
  10. xp系统计算机远程桌面连接不上,在XP系统中远程桌面连接不上的解决方式
  11. C函数篇(recv函数)
  12. oracle 亿级数据存储方案
  13. Linux 必学的几个命令
  14. 关于微擎模块,点击上传图片无反映问题。
  15. 微生物和微生物组的定义以及发展史
  16. 关于Topic设计的思考
  17. STM32c8t6驱动激光雷达(一)
  18. cnpm install 与 npm install
  19. 区块链技术系列(3)- Fabric基础架构原理
  20. 理解yolov3的anchor、置信度

热门文章

  1. 全球与中国龙涎酮行业调查与未来发展趋势研究报告
  2. 网店版重生系列:因为webwork.configuration.xml.reload遭遇Web应用性能测试瓶颈
  3. Field II 超声相控阵成像系列2——聚焦成像
  4. 【SIXUN】思迅软件软锁更换硬锁
  5. 【ASP.NET Web】项目实践—网上宠物店3:创建主页、主题
  6. Guava Predicate
  7. springboot使用qq邮箱进行注册登录
  8. “箭”指智能家居,卫浴龙头企业箭牌家居即将登陆A股
  9. Matlab利用距平变量对温度场进行主成分分析
  10. 当我们谈论光波导时,我们在谈论什么(上)