【JavaEE】项目的部署-让网络上的人都能访问你的网站

文章介绍了如何在Linux环境中部署JavaEE项目,包括安装JDK,手动部署Tomcat,开启8080端口,处理MySQL数据库,修改代码以适应Linux,打包成war包并部署到Tomcat的webapps目录,以及解决访问问题和排查故障。
摘要由CSDN通过智能技术生成

项目的部署-让网络上的人都能访问你的网站

在这里插入图片描述

【JavaEE】项目的部署-让网络上的人都能访问你的网站

1. 搭建环境

我们的博客系统或者表白墙,需要依靠哪些软件/程序呢?

  1. IDEA?
    • 错误,java的特点就是兼容性高,一处编译到处运行~
    • 只要你有 jdk,就可以编译和运行~
  2. Tomcat
    • yes
  3. mysql
    • yes

其他的工具包/库/依赖,通过网络就行了,或者跟项目在一起,所以不必在意~

1.1 jdk

在yum里下载即可

  • ==yum > Linux的包管理器

注意网络通畅!

在这里插入图片描述

在这里插入图片描述

devel 代表 development,开发

yum install java-1.8.0-openjdk-devel.x86_64
  • 如果运行不了,可能是有另外一个yum进程在运行,得把对应的进程干掉/把提示的文件删掉

一段时间后,加载完会提示:

在这里插入图片描述

检查jdk是否安装好:javac
在这里插入图片描述

1.2 Tomcat

yum上安装Tomcat,存在一定的问题,Centos7默认是tomcat7,因为yum上默认的软件包可能比较老,而我们要的是8.5~

所以我们选择,Tomcat我们手动安装即可

Apache Tomcat® - Welcome!

1.2.1 上传tomcat程序

一定保证jdk装好后,再装Tomcat,Tomcat是个java程序,所以必须要有jdk!
在这里插入图片描述

在这里插入图片描述

部署压缩包所要的两个东西,要通过yum安装一下

  1. lrzsz,可以拖动到XShell命令行zmode功能进行安装
  2. unzip,解压缩
yum install lrzsz
yum install unzip

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

拖动到命令行就会在“当前目录”上传并且解压缩

  • 没有自动解压缩,就这样:
unzip 压缩包名.zip
  • 我创建了tomcat的目录,然后通过拖动到命令行的方式下载在这个目录里

在这里插入图片描述

1.2.2 给启动脚本加上可执行权限

进入Tomcat的bin目录里

.sh后缀的文件,就是给Linux使用的启动脚本,默认情况下这些启动脚本没有可执行权限,也就是说目前启动不了,我们需要赋予他们权限

chmod +x *.sh

在这里插入图片描述

在这里插入图片描述

  • 白色变成绿色,代表拥有可执行权限~
1.2.3 启动Tomcat
sh startup.sh

在这里插入图片描述

要保证Tomcat的端口有没有被占用~

用ps和netstat去查看~

  • 保证8080和8005没有被占用~

Tomcat启动后,自动配置环境变量~

可以用你的ip+:8080去访问Tomcat的欢迎页面:

在这里插入图片描述

  • 但是这里你可能没有访问到,这是正常的

不是因为你Tomcat没有启动成功,而是因为你的云服务器的防火墙不允许8080端口的流量通过!

1.2.4 让服务器运行8080端口的流量通过

每个云服务器的操作都比较类似,以阿里云为例:

  • 就不以图片演示了,怕混淆你,因为每个人的页面可能不一样
  • 是在不行你问一下客服小姐姐

要在阿里云中打开云服务器的防火墙并允许8080端口的流量通过,你可以按照以下步骤进行操作:

  1. 登录阿里云控制台(https://cn.aliyun.com/)。
  2. 导航到云服务器ECS的管理页面。
  3. 在左侧导航栏中选择"网络与安全",然后点击"安全组"。
  4. 找到需要修改的安全组,点击其名称进入安全组配置页面。
  5. 在安全组配置页面的"规则"选项卡中,点击"添加安全组规则"。
  6. 在弹出的窗口中,选择以下配置:
    • 方向:入方向(用于接收请求)
    • 规则:自定义TCP规则
    • 端口范围:8080/8080
    • 授权对象:0.0.0.0/0(表示允许任何IP访问)或指定特定IP范围
  7. 点击"确定"保存设置。
  8. 确认添加规则后,8080端口将在该安全组中打开,允许外部访问。

1.3 MySQL

大佬文章链接

重新启动数据库:

sudo systemctl restart mariadb
  • 强烈建议去看这一篇文章,很详细很详细!
  • 按照这些走就够了~

Maridb与MySQL是两个相关的数据库管理系统。 MariaDB是由MySQL的创始人之一开发的一个分支,它保留了与MySQL兼容的特性,并且在功能和性能上进行了增强。

在技术上,MariaDB与MySQL非常相似。 因此,大多数使用MySQL的应用程序可以无缝地迁移到MariaDB上。它们使用相同的SQL语法,并且具有类似的命令和函数。只需对代码进行一些微调,就可以在MariaDB上正常运行。

MariaDB的发展目标是成为一个开源、免费的替代MySQL。 尽管两者有一些不同之处,但MariaDB仍然兼容MySQL,并且可以轻松进行数据迁移。

总之,MariaDB是一个与MySQL兼容且具有增强功能和性能的数据库管理系统。如果您对MySQL熟悉,那么使用MariaDB应该是相对简单的。

我们的sql代码在这个里面也是能很好的运行的~

  • 只不过MariaDB对大小写比较敏感

在XShell中,输入:

mysql

或者

mysql -uroot

即可进入数据库,之后的操作就跟我们的数据库一致了~

在这里插入图片描述

这个none的位置会随着你use数据库而变化~

在这里插入图片描述

退出数据库操作页面的话,使用快捷键:Ctrl D

在这里插入图片描述

默认是没有密码的,想要设置密码的同学可以去查阅资料然后设置~

2. 代码修改

2.1 修改数据库密码

这一步很重要,要保证每一条数据库操作都要把密码修改成空字符串!

  • 不然程序会出错!

在这里插入图片描述

2.2 保证端口号在Linux上的mysql保持一致

这里3306跟之前查到的一致~
在这里插入图片描述

2.3 修改文件路径

所有文件路径有关的代码,都要检查路径在Linux上是否正确

表白墙代码中的保存文件操作,用到的代码就错误,得更改成这样:

在这里插入图片描述

  • 这是一个绝对路径的写法,因为我不能保证你的Linux设备Tomcat运行的时候的相对路径
  • 这个绝对路径要根据你的Linux的Tomcat位置而定,但是不变的是,要放在webapps的项目里面~

3. 数据库的建库建表

我们的数据库现在全空着,我们得让里面有我们代码所依赖的数据库和对应的表

  • 我们之前写的.sql文件,起作用了!
  • 不过可能有些代码不注意大小写区分,所以可能会在这里出错,要调整一下!

在这里插入图片描述

在这里插入图片描述

进入数据库操作页面,把代码复制进去就行了~

4. 打包部署

4.1 pom.xml的设置

在这里插入图片描述

  1. 打的包是jar包,我们要改为war包
  2. 设置打的包的名字

4.2 打包

在这里插入图片描述

  • 双击package

在这里插入图片描述

在文件管理器打开:

在这里插入图片描述

在这里插入图片描述

4.3 部署

进入webapps目录:

在这里插入图片描述

检查一下这个项目是否存在:

  • 存在一定要删除然后再导入

在这里插入图片描述

  • 存在,那么我就删除(Tomcat自动解压缩,所以不用自己解压缩了)

不删除就会这样

在这里插入图片描述

这样就相当于白上传了

在这里插入图片描述

然后直接把war包拖进去:

在这里插入图片描述

这样就大功告成了~

  • 记得保持网络通畅

4.4 访问网站

格式:外网ip地址:8080/项目名/页面名.html

在这里插入图片描述

在这里插入图片描述

  • 不保证我的网站可持续访问!

5. 问题探测

  1. 抓包,判断是前端还是后端的问题
  2. 修改代码后务必要重新打包和部署
    • 所以平时用IDEA开发比较方便
    • 并且我们的机器去Tomcat和云服务器不冲突,所以我们可以测完在重新上线~
  3. 如果是后端问题,那就要去看tomcat的日志:

在这里插入图片描述


文章到此结束!谢谢观看
可以叫我 小马,我可能写的不好或者有错误,但是一起加油鸭🦆

我们终于做成了网站了!

  1. 表白墙源码:showLove
  2. 博客系统源码:blog_system

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s:103

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值