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

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

文章目录

  • 【JavaEE】项目的部署-让网络上的人都能访问你的网站
    • 1. 搭建环境
      • 1.1 jdk
      • 1.2 Tomcat
        • 1.2.1 上传tomcat程序
        • 1.2.2 给启动脚本加上可执行权限
        • 1.2.3 启动Tomcat
        • 1.2.4 让服务器运行8080端口的流量通过
      • 1.3 MySQL
    • 2. 代码修改
      • 2.1 修改数据库密码
      • 2.2 保证端口号在Linux上的mysql保持一致
      • 2.3 修改文件路径
    • 3. 数据库的建库建表
    • 4. 打包部署
      • 4.1 pom.xml的设置
      • 4.2 打包
      • 4.3 部署
      • 4.4 访问网站
    • 5. 问题探测

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

1. 搭建环境

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

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

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

1.1 jdk

在yum里下载即可

  • ==yum > Linux的包管理器

注意网络通畅!

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第1张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第2张图片

devel 代表 development,开发

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第3张图片

检查jdk是否安装好:javac
【JavaEE】项目的部署-让网络上的人都能访问你的网站_第4张图片

1.2 Tomcat

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

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

Apache Tomcat® - Welcome!

1.2.1 上传tomcat程序

一定保证jdk装好后,再装Tomcat,Tomcat是个java程序,所以必须要有jdk!
【JavaEE】项目的部署-让网络上的人都能访问你的网站_第5张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第6张图片

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第7张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第8张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第9张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第10张图片

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第11张图片

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

进入Tomcat的bin目录里

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

chmod +x *.sh

在这里插入图片描述

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第12张图片

  • 白色变成绿色,代表拥有可执行权限~

1.2.3 启动Tomcat

sh startup.sh

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第13张图片

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

用ps和netstat去查看~

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

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第14张图片

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

不是因为你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

大佬文章链接

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

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第15张图片

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第16张图片

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

在这里插入图片描述

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

2. 代码修改

2.1 修改数据库密码

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

  • 不然程序会出错!

在这里插入图片描述

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

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

2.3 修改文件路径

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第17张图片

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

3. 数据库的建库建表

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第18张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第19张图片

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

4. 打包部署

4.1 pom.xml的设置

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第20张图片

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

4.2 打包

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第21张图片

  • 双击package

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第22张图片

在文件管理器打开:

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第23张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第24张图片

4.3 部署

进入webapps目录:

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第25张图片

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

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第26张图片

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

不删除就会这样

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第27张图片

这样就相当于白上传了

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第28张图片

然后直接把war包拖进去:

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第29张图片

这样就大功告成了~

  • 记得保持网络通畅

4.4 访问网站

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

我的两个项目:

  1. 表白墙:登录页
  2. 博客系统:登录页

欢迎光临✿✿ヽ(°▽°)ノ✿

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第30张图片

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第31张图片

5. 问题探测

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

【JavaEE】项目的部署-让网络上的人都能访问你的网站_第32张图片


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

我们终于做成了网站了!

  1. 表白墙源码:showLove · 游离态/马拉圈2023年7月 - 码云 - 开源中国 (gitee.com)
  2. 博客系统源码:blog_system · 游离态/马拉圈2023年7月 - 码云 - 开源中国 (gitee.com)

你可能感兴趣的:(JavaEE,java-ee,网络,java)