【Linux】-Linux部署Javaweb项目

作者:学Java的冬瓜
博客主页:☀冬瓜的主页🌙
专栏【Linux】
分享: 屋檐如悬崖 风铃如沧海 我等燕归来
时间被安排 演一场意外 你悄然走开
故事在城外 浓雾散不开 看不清对白
你听不出来 风声不存在 是我在感慨
梦想来是谁在窗台 把结局打开
那薄如蝉翼的未来 经不起谁来拆
——《千里之外》

主要内容:Linux上安装jdk1.8,安装tomcat9,MySQL 5.5。将javaweb项目部署到云服务器上并访问:在云服务器的MySQL中建库建表;确认本地项目的数据库、端口号、用户名、密码相同;使用maven打包,部署;启动tomcat服务器;地址栏上输入地址 访问云服务器项目。

在这里插入图片描述

一、环境准备

1)安装JDK 1.8

1.yum list | grep jdk:yum相当于手机的应用商店,|叫做管道(把第一个命令的输出作为第二个命令的输入),grep则是在搜索字符串。这段语句就是在应用商店找jdk的意思。把下面选择的文件名复制下来。
注意:下载需要联网。

在这里插入图片描述

2.yum install java-1.8.0-openjdk-devel.x86_64,注意:安装需要管理员权限。这条命令输入后,弹出确认按y再按enter键。安装完后,输入javac验证是否安装成功。成功则显示如下图:

在这里插入图片描述

2)安装Tomcat 9

由于项目中tomcat使用的是tomcat9,项目中的tomcat和servlet的版本要对应,因此在Linux中也使用该版本。
此时我们像安装jdk那样,在yum中搜索时发现没有tomcat9,因此我们可以自己去tomcat官网下载tar.gz包,直接拖进xshell(如果这步报错,先输入yum install lrzsz,是Linux的rz命令),然后解压。具体操作如下:
1> 下载tar.gz压缩包
2>把下载的tomcat的 文件名.tar.gz 压缩包拖进xshell
3> 使用 tar -zxvf 文件名.tar.gz解压缩,如果报错command,代表tar还未下载,使用 yum install tar下载(或者你使用zip包,则使用unzip 文件名.zip解压缩,如果报错则输入yum install unzip下载unzip指令)。
4> 给启动脚本相关内容赋予可执行权限:进入tomcat的bin目录,使用 chmod + x *.sh.sh 文件赋予可执行权限。执行完这一步后,.sh文件变绿了。
5> 启动 tomcat,使用:sh startup.sh

3)安装MySql

此处使用Maria DB,因为它可以兼容MySQL,且开源免费。按照以下链接安装即可:【CentOS 7通过 yum 安装 MariaDB】。最后输入:mysql -u root -p,云服务器的数据库默认没有密码,直接按enter键即可。

在这里插入图片描述

二、部署项目

1)在云服务器的MySQL中建库建表

先登录云服务器数据库 MySql -u root -p,不需要输入密码直接enter(云服务器数据库默认没有密码),将项目中的预先准备的 db.sql,复制粘贴到Linux上即可。

2)确认本地项目的数据库、端口号、用户名、密码相同

云服务器默认无密码,需要修改项目中的本地数据库密码为字符串空。
netstat -anp | grep MySQL:使用netstat -anp来显示所有的网络信息,grep MySql查询关于MySQL的网络信息。可以发现访问的MySQL的服务器端的端口是3306。

在这里插入图片描述

如果你的端口号不是3306,怎么修改?可以直接修改代码,把代码中的3306端口改为你的MySQL服务器端的端口
在这里插入图片描述

3)使用maven打包,部署

1> 在pom.xml文件中添加一下代码,固定打war包,名字叫blog_system。

在这里插入图片描述

2> 双击package,,打包。打包完成后,左边的target目录下就出现了war包。

在这里插入图片描述
在这里插入图片描述

3> 将war包拖到 Linux的 webapp目录下。右键->open in->Exploer。然后把项目移动到指定目录下。成功后如图。

在这里插入图片描述
在这里插入图片描述

4)启动tomcat服务器

在tomcat的bin目录下,sh startup.sh启动tomcat服务器,如下表示成功启动。搜索8080端口已经处于 LISTEN状态。

在这里插入图片描述


问题:

1> 启动错误,怎么办?
查看日志。
在这里插入图片描述

2> 如果tomcat的8080端口被占用?该怎么修改tomcat端口?或者怎么关闭占用8080端口的进程?

注意:一般需要8080和8005都空出来,如果有一个被占用就无法启动。
比如下面就是8005被占用:1700Java进程占用了8005端口。netstat -anp | grep 8005 查看端口。

在这里插入图片描述

ps aux | grep 进程号 可以定位到该进程。

解决:
修改端口:切换到conf目录中,grep 8005 *,可以看到在server.xml里面,使用vim打开并修改即可。
杀掉进程:kill PID


5)地址栏上输入地址 访问云服务器项目

复制你的云服务器的ip,在地址栏访问。
比如:外网ip:8080/blog_system/static/blog_login.html。但是此时如果你的云服务器没有打开8080端口的访问权限(默认只有22可以访问)就会拒绝访问。这需要修改防火墙。修改后即可正常访问。

如何修改?看下图!

防火墙->添加规则,填写端口,备注可加可不加,然后后确定。操作和结果图如下:

在这里插入图片描述

在这里插入图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

学Java的冬瓜

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

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

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

打赏作者

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

抵扣说明:

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

余额充值