目录
2.2.在远程服务器mysql数据库上执行创建数据库、表的脚本
1.什么是部署?
工作中涉及到的 "环境" :
- 开发环境:程序猿写代码用的机器。
- 测试环境:测试人员测试程序使用的机器,一般是退役的部署机器。
- 生产环境(线上环境):最终项目发布时所使用的机器,对稳定性要求很高。
把程序拷贝安装到生产环境上,这个过程称为"部署",也叫"上线"。
这个过程需要拷贝对应的 .class 文件和依赖的资源文件。(各种配置文件, html等)
一旦程序部署成功,那么这个程序就能被外网中千千万万的普通用户访问到。
换句话说,如果程序有 BUG,这个 BUG 也就被千千万万的用户看到了。
部署过程至关重要,属于程序开发中最重要的一环。一旦部署出现问题,极有可能导致严重的事故(服务器不可用之类的)。
为了防止部署出错,一般公司内部都有一些自动化部署工具(如 Jenkins 等)。当前我们先使用手工部署的方式来完成部署。
2.如何部署?
2.1.本机连接远程mysql服务器(可选项)
也可直接在服务器上操作。

2.2.在远程服务器mysql数据库上执行创建数据库、表的脚本
按照之前的数据库建表脚本,在服务器上运行,建立相同的表结构。

2.3.检查项目中连接mysql服务器的地址和密码是否正确
如果本地密码和服务器密码一致,此步骤可忽略。

- 这里可以写127.0.0.1,就是通过内网去连接的,最终程序要放到自己的远程服务器上,自己的远程服务器和mysql是在一台服务器上的,所以可以写127.0.0.1。
- 也可以写47.95.157.248自己的远程服务器外网ip,但是就多此一举了,因为在连接mysql时会先出去找这个外网,找到之后又回来了。
- 所以直接写内网127.0.0.1,其通信速度是会快很多的。
重点要检查密码是否一致。
2.4.使用Maven打包项目,生成一个xxx.war包



2.5.将war包上传到tomcat的webapps目录下

2.6.重启tomcat,使用url地址访问项目
先关闭tomcat:

检查:

再启动tomcat并检查:

在浏览器使用url地址访问项目:

2.7.测试功能
①如果出现500,后端sql报错:
将useSSL=true或false进行修改,重新打包,重启tomcat尝试。
PS:二次更新项目(第二次以上包含第二次)注意事项
要先停止tomcat,再更新程序,上传文件(war包),再启动tomcat,再次访问项目。
防止在更新时文件被占用,无法成功覆盖文件,导致更新失败。
②如果点击发布文章,页面没反应,报500错误:


500内部服务器异常,出错原因:程序代码写的有问题!

是mysql中文乱码问题:在创建数据库表时没有设置编码格式,且在Linux服务器上没有配置编码格式,导致不支持中文。
解决:
a.删除之前的数据库,重建一个。
b.修改某个表的编码格式(支持中文):
设置字符集在后,创建表在前,就会出现虽然设置了编码但还是插入中文失败的情况,此时可以通过修改某个表的字符集来将原来的表支持中文:
alter table 表名 convert to character set utf8mb4


PS:SpringBoot项目部署
- 打包项目(.jar包),在Linux服务器创建对应目录文件夹,将jar包放入其中。
- 进入到jar包所在目录下,使用命令java -jar xxx.jar(xxx是jar包名字),回车,直接可以运行。若想在关闭FinalShell窗口后,项目在后台依旧运行,则使用命令nohup java -jar xxx.jar。
注意:
- java -jar xxx.jar 和 nohup java -jar xxx.jar 是两个不同的命令,它们的功能和运行方式有一些区别。
- java -jar xxx.jar:该命令是在终端中直接运行Java可执行jar文件。它会在当前终端窗口中启动Java应用程序,并将控制台输出打印到该窗口。当关闭终端窗口时,Java程序也会随之终止。
- nohup java -jar xxx.jar:该命令使用了 nohup 命令,表示"no hang up",即在后台运行命令,并忽略SIGHUP(hangup)信号。这意味着即使关闭终端窗口,Java程序也会继续运行。nohup 命令还会将程序的输出定向到一个文件(默认名为nohup.out),而不是打印到终端窗口。这对于长时间运行的任务非常有用,因为你可以在后台运行程序,关闭终端窗口,然后稍后再回来查看输出日志。
总结:
java -jar xxx.jar是在前台运行Java程序并将输出打印到终端窗口,而nohup java -jar xxx.jar 是在后台运行Java程序并将输出重定向到文件。
本文详细介绍了Web应用的部署过程,包括连接远程MySQL服务器,创建数据库和表,检查数据库配置,使用Maven打包,将war包部署到Tomcat,以及处理部署后的测试和常见问题。特别提到了SpringBoot项目的部署方法,强调了正确配置和避免服务器错误的重要性。


3095

被折叠的 条评论
为什么被折叠?



