作者
:学Java的冬瓜
博客主页
:☀冬瓜的主页🌙
专栏
:【Linux】
分享
: 屋檐如悬崖 风铃如沧海 我等燕归来
时间被安排 演一场意外 你悄然走开
故事在城外 浓雾散不开 看不清对白
你听不出来 风声不存在 是我在感慨
梦想来是谁在窗台 把结局打开
那薄如蝉翼的未来 经不起谁来拆
——《千里之外》
主要内容
:Linux上安装jdk1.8,安装tomcat9,MySQL 5.5。将javaweb项目部署到云服务器上并访问:在云服务器的MySQL中建库建表;确认本地项目的数据库、端口号、用户名、密码相同;使用maven打包,部署;启动tomcat服务器;地址栏上输入地址 访问云服务器项目。
文章目录
- 一、环境准备
- 1)安装JDK 1.8
- 2)安装Tomcat 9
- 3)安装MySql
- 二、部署项目
- 1)在云服务器的MySQL中建库建表
- 2)确认本地项目的数据库、端口号、用户名、密码相同
- 3)使用maven打包,部署
- 4)启动tomcat服务器
- 5)地址栏上输入地址 访问云服务器项目
一、环境准备
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可以访问)就会拒绝访问。这需要修改防火墙。修改后即可正常访问。
如何修改?看下图!
防火墙->添加规则,填写端口,备注可加可不加,然后后确定。操作和结果图如下: