当前位置:   article > 正文

21-部署 Web 项目到 Linux_将项目部署到linux服务器

将项目部署到linux服务器

目录

1.什么是部署?

2.如何部署?

2.1.本机连接远程mysql服务器(可选项)

2.2.在远程服务器mysql数据库上执行创建数据库、表的脚本

2.3.检查项目中连接mysql服务器的地址和密码是否正确

2.4.使用Maven打包项目,生成一个xxx.war包

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

2.6.重启tomcat,使用url地址访问项目

2.7.测试功能

PS:二次更新项目(第二次以上包含第二次)注意事项

PS:SpringBoot项目部署


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项目部署

  1. 打包项目(.jar包),在Linux服务器创建对应目录文件夹,将jar包放入其中。
  2. 进入到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程序并将输出重定向到文件。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/715432
推荐阅读
相关标签
  

闽ICP备14008679号