云服务器CentOS7.3+Tomcat部署JavaWeb项目

本文详述在CentOS7.3环境下,如何利用Tomcat和MySQL部署JavaWeb项目,包括Tomcat安装、Java环境变量配置、项目部署、数据库安装及SQL文件导入,解决防火墙与端口访问问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关键词:云服务器、centos、tomcat、mysql、javaweb

本文主要记录了在云服务器搭建环境,部署javaweb小项目的过程,希望对有需要的朋友有点参考价值。其实这方法跟在自己电脑上部署是一样的,只是操作系统不一样,操作命令也就不太一样。当然,在云服务器上部署可以外网访问;我的云服务器是centos7.3系统镜像,自行选择SSH客户端软件连接,如Putty、FinalShell等。Putty我觉得配置(参考《Putty配置说明》 )说得很麻烦很多,我用的后者。下面是具体步骤。

安装tomcat

我的程序是在tomcat上跑,所以首先安装一个tomcat,安装版本自己爱好了,去官网下载。

  1. 连接虚拟机,我在root/路径下新建一个叫tomcat的文件夹,用来存放和安装tomcat;
[root@lzy ~]# mkdir -p tomcat
  1. cd tomcat进入到tomcat目录下,接着下载tomcat的压缩包,去官网找链接。我用的是http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz,使用wget+下载地址 下载;
[root@lzy ~]# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.13/bin/apache-tomcat-9.0.13.tar.gz

lsls -lht(查看文件大小)检查一下压缩包有没有问题;

  1. 没有问题就解压压缩包,tar -zxvf+压缩包名字。
[root@lzy ~]# tar -zxvf apache-tomcat-9.0.13.tar.gz

解压完ls看一下会有一个文件夹;
在这里插入图片描述

  1. 进入文件夹bin目录下ls查看启动命令,如图:
    在这里插入图片描述
    shutdown.sh就是关闭了,startup.sh即是启动脚本了;
    我们试着用 ./startup.sh 启动看看,发现启动失败,那是因为还没配置Java环境变量。。。只能又去配置jdk。

配置java环境变量

配置环境变量有两个方法:方法1:yum在线安装:

浏览jdk版本  yum -y list java*
安装jdk  yum -y install java-1.8.0-openjdk*

yum安装命令网上有很多,具体怎样我没试过,可以自己看看。
方法2:官网下载压缩包安装,我用的是这个方法。

  1. 因为后面配置了变量和路径有关,方便起见我参考了网上的安装路径。我在usr/ 下新建了一个Java文件夹来存放。接着官网下载jdk;
wget https://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/jdk-8u191-linux-x64.tar.gz

在这里插入图片描述

  1. 接着解压jdk包;
tar -zxvf jdk-8u191-linux-x64.tar.gz

如果解压成功会得到jdk的文件夹。但是我到这里报错了
在这里插入图片描述
后来看了下文件大小才发现下载的压缩包有问题,怎么可能只有8k?
在这里插入图片描述
无奈,只能先下载到本地,再上传到虚拟机;重新查看文件大小
在这里插入图片描述
183M!这下应该对了吧。。再重新解压出来即可
在这里插入图片描述

  1. 接下来配置一下环境变量,编辑 /etc/profile文件;
vim /etc/profile

打开后是这样子的:
在这里插入图片描述
我们“键▼”或者“键PageDown”拉到文件最底部,使用“键i”进入插入编辑模式,在最后面加上三句话,添加的三句话网上也大同小异,但是第一句应该都是一样的,就是指明你的jdk安装路径。我的是在/usr/java/ 下的 jdk1.8.0_191文件夹。

export JAVA_HOME=/usr/java/jdk1.8.0_191
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

修改完使用“键Esc”,输入“:wq”保存并退出。
接着输入source /etc/profile使环境变量生效
检查环境是否配置成功,成功如下:
在这里插入图片描述

  1. 至此,我以为可以启动tomcat并通过IP+端口访问了。。没想到还是访问不了!心痛…又去百度找原因,原来是防火墙的和端口的原因,首先查看一下防火墙的状态;
方法1 firewall-cmd --state
方法2 sudo systemctl status firewalld

如果看到是running的话说明开着,如果是not running或者dead说明关闭了。这里写得很详细了,参考防火墙命令
查看防火墙打开的端口

[root@lzy bin]# firewall-cmd --zone=public --list-ports
8080/tcp
我本来是没有的,这是添加上才有的,没有可以添加一个端口
[root@lzy bin]# firewall-cmd --zone=public --add-port=8080/tcp --permanent

之后重启一下防火墙。1.如果不启用防火墙,只要在服务器控制台添加一个8080端口就可以了;2.如果启用了防火墙,就还要执行上面的步骤在防火墙打开一个8080端口,所以我还在服务器控制台添加8080端口
在这里插入图片描述
重启服务器,重启tomcat,再次使用IP+端口发现终于可以访问了!如果还不行,允许外网访问8080端口

[root@lzy bin]# /sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

在这里插入图片描述
至此,终于完成tomcat的外网访问了,只要把javaweb项目放进去就可以看到了。

部署项目war包

这一步很简单,像在本地机器一样部署就可以了,把war包上传到tomcat的webapps目录下,再重新启动tomcat;使用IP:端口/war包名字即可访问
在这里插入图片描述

安装数据库

如果没有数据库的话可以省略我这一步,我这里有就顺便装一下,并把sql文件导进去。

  1. 我在tomcat的父级目录新建一个mysql文件夹存放数据库的压缩包和sql文件,进入mysql目录下下载,现在官网已经有8.0版本的数据库了,但是我没用过,所以先下了5.7的使用,复制下载链接
    在这里插入图片描述
    mysql安装这里也有其他方法安装,可以参考
    (1).Centos6.4下Yum命令安装Mysql数据库及配置
    (2).CentOS 7 下使用yum安装MySQL5.7.20 最简单 图文详解
    (3).MySQL安装之yum安装
[root@lzy bin]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-community-5.7.24-1.el7.src.rpm
安装mysql
[root@lzy bin]# rpm -ivh mysql-community-5.7.24-1.el7.src.rpm
安装服务端
[root@lzy bin]# yum -y install mysql-server
  1. 安装完检查一下 mysql -V 如下说明成功
    在这里插入图片描述

  2. 启动mysql重置密码

关闭
service mysqld stop
启动
service mysqld start

使用 mysql -u root -p 进入数据库发现报错(我这里重置了不报错截不了图)需要重置密码;如下重置密码:

alter user 'root'@'localhost' identified by "Sql.123456";

如果没改过配置文件,密码要求有大小写字母、符号和数字才能通过。最后刷新权限flush privileges,用新密码登录。

  1. 登录成功使用**show databases;**查看数据库
    在这里插入图片描述

  2. 导入数据库,首先把自己的sql文件上传,我上传到了上面说的mysql文件夹下。
    在这里插入图片描述
    进入数据库创建一个跟你的sql文件同名的数据库
    create database petmanagement;
    打开这个数据库使用
    use petmanagement;
    设置编码格式
    set names utf8;
    最后导入sql文件,source 后面跟你的sql文件路径
    source /root/mysql/petmanagement.sql

如图导图成功
在这里插入图片描述

  1. 最后使用ip+端口/项目名 就可以成功访问你的东西了,并且有后台数据的
  2. 最后我发现包含中文关键字搜索不出来,而且修改后文字变“????”,原来是数据库编码有点问题,使用show variables like ‘%character%’;查看编码。
    在这里插入图片描述
    看到 character_set_server这一句的编码是latin1,服务端编码是拉丁???赶紧改过来。退出mysql,修改配置文件
    vim /etc/my.cnf

    在这里插入图片描述
    在[mysqld]的下面加上一句character-set-server=utf8
    保存退出,重启mysql service mysqld restart
  3. 重新登录mysql查看show variables like ‘%character%’;
    在这里插入图片描述
    发现已经改成utf8,这就没问题了。

总结

这是我第一次写博客,有些操作也是第一次使用,难免会有错误和不对的地方,欢迎指出批评,欢迎评论提问。
参考文章
centos7+tomcat部署JavaWeb项目超详细步骤
CentOS7 防火墙(firewall)的操作命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值