412A-A1F-DEPLOY-云服务器部署JavaWeb项目

134 阅读6分钟

云服务器部署JavaWeb项目

进入bilibili观看

零、服务器、域名购买

进入Bilibili观看

0.1 服务器购买

进入腾讯云
f-01.png

找到"云 + 校园" 模块(在校学生,第一次购买) 不是的话去活动中心看看有没有优惠的服务器购买
f-02.png

选择够用的服务器就行,我这里选的是最便宜的,够用了
f-03.png

服务器的类型建议选择Linux系统,这里选择Centos7.6 f-04.png

02.域名购买

进入腾讯的产品,搜索"域名注册"
y-01.png

输入自己想要注册的域名
y-02.png

购买想要的域名,建议一次性购买多年的比较划算
y-03.png

y-04.png

下单购买后即可,点击导航栏的备案即可进行备案,按照引导进行备案即可,注意:

  • 备案个人域名时,网站的名称有要求,查看腾讯的建议
  • 填写的应急联系方式(电话)一定是知情"你在备案"这件事的,腾讯会打电话进行核对
  • 网站的功能信息描述要尽可能的详细
  • 备案期间不能对"正在备案的域名"进行解析,如果解析过了,需要对解析记录进行删除
  • 腾讯云会打电话进行信息核对,注意电话接听
  • 工信部会发送短信,需要在24小时内进行验证,注意查看

一、准备工作

本教程使用的是腾讯云服务器(其他云服务器也行,原理一样),需要提前购买哟,此处不做演示。

1.1 所需工具软件环境

项目说明
CentOS7.6系统环境版本
finalshell远程连接linux并传输文件的工具,其他软件也行
navicat远程连接访问数据库的工具,其他软件也行
jdk1.8jdk-8u251-linux-x64.tar.gz
tomcat8.5apache-tomcat-8.5.66.tar.gz
MySQL5.7在线下载安装

==对于初学者,建议跟本教程一样的软件版本,成功率会比较高哦!==

1.2 finalshell远程连接云服务器

点击finalshell软件,点击SSH连接(Linux),输入名称、主机名、用户名、密码。

image-20221018230208984

image-20221018225924105 image-20221018230050566 image-20221018230355217

出现如下所示界面,证明连接成功!

image-20221018230411222

1.3 新建目录结构及说明

准备在根目录下的usr下,新建一个专门的目录myapp来存放环境所需的软件。

/usr/myapp
		  /java
		  /tomcat
		  /mysql

==具体步骤如下:==

进入根目录下的usr,新建myapp目录(用于存放本教程使用的软件)

cd /
cd usr
mk myapp

之后,在myapp内新建三个目录分别是java、tomcat、mysql

cd /usr/myapp
mk java
mk tomcat
mk mysql

当然,上述操作也可以直接在finalshell内==可视化==完成,如下:

进入/usr

image-20221018205804693

usr下新建myapp目录

image-20221018205858144 image-20221018210004023

myapp目录下新建java、tomcat、mysql

image-20221018210644448

1.4 上传tomcat及jdk解压包到对应目录

image-20221018210510230image-20221018211038655

image-20221018211811674

至此,准备工作完毕!

二、jdk安装及环境配置

2.1 安装

进入 /usr/myapp/java 目录,并安装jdk解压包(一定要解压到当前文件夹)

cd /usr/myapp/java
tar -zxvf /usr/myapp/java/jdk-8u251-linux-x64.tar.gz
image-20221018212816910 image-20221018212938500

解压即安装。

2.2 配置环境变量

接下来,配置环境变量。

进入根目录下的etc目录,找到profile文件(在这里,直接可视化操作),并打开。

image-20221018213310464 image-20221018213403527

将以下代码粘贴到profile文件的最后。

JAVA_HOME=/usr/myapp/java/jdk1.8.0_251
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
image-20221018213519887

让配置文件生效

source /etc/profile

2.3 检查是否成功

java
javac
java -version
image-20221018213731198

三、tomcat安装及环境配置

3.1 安装

进入 /usr/myapp/tomcat 目录,并安装tomcat解压包

cd /usr/myapp/tomcat
tar -zxvf /usr/myapp/tomcat/apache-tomcat-8.5.66.tar.gz

进入 /usr/myapp/tomcat/apache-tomcat-8.5.66,可以发现,该目录结构与windows电脑下安装的tomcat一致。

image-20221018215955194

3.2 腾讯云开放8080端口

image-20221018234719608

有可能是到【安全组】的位置开放端口。

3.3 系统开放8080端口

① 先检查防火墙的状态

firewall-cmd --state

==runing 表示开启,not runing 表示关闭==

如果防火墙关闭的状态,则执行以下命令开启防火墙

systemctl start firewalld.service

补充:systemctl stop firewalld.service 就是关闭防火墙

② 开启8080端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

③ 重启防火墙

systemctl restart firewalld.service

④ 重新加载配置

firewall-cmd --reload

3.4 开启tomcat服务器

进入tomcat的安装目录下的bin目录

cd /usr/myapp/tomcat/apache-tomcat-8.5.66/bin

开启tomcat服务器

./startup.sh

3.5 测试

在本地电脑,浏览器地址栏输入 ip:8080测试,我的就是 http://121.4.53.226:8080/

image-20221018215823893

四、MySQL下载安装配置

4.1 下载

进入 /usr/myapp/mysql,并通过wget下载数据库。

cd /usr/myapp/mysql

wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
image-20221018230955815

4.2 安装数据库

rpm -ivh mysql57-community-release-el7-8.noarch.rpm

4.3 安装服务

yum -y install mysql-server

(这里需要花费一段时间,耐心等待……)

==在安装的过程中,有可能会报错。==

image-20221018231833809

原因:MySQL GPG 密钥已过期导致

解决办法:执行以下命令

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

之后,再运行安装服务的命令

yum -y install mysql-server

出现 ==Complete!== 则代表安装成功!如下图。

image-20221018232327141

4.4 检查是否安装成功

rpm -qa | grep mysql
image-20221018232718889

4.5 初始化mysql

mysqld --initialize

4.6 授权防火墙

chown mysql:mysql /var/lib/mysql -R;
systemctl start mysqld.service;
systemctl enable mysqld;

4.7 启动服务

service mysqld restart

4.8 查看数据库默认密码

grep "password" /var/log/mysqld.log
image-20221018233836838

==注意:如果密码为空,则直接进入。==

4.9 进入数据库并修改数据库的密码

进入数据库

mysql -uroot -p
image-20221018234233072

修改数据库密码,这里修改为123456

alter user 'root'@'localhost' identified by '123456';

之后,退出,用新密码进入。

exit

mysql -uroot -p

4.10 设置对外连接的数据库名及密码

此处设置的是外部访问时的名称及密码,这个密码可以与本身数据库的密码相同,也可以不同。

create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;
flush privileges;
image-20221019000314479

之后,退出mysql

exit

4.11 腾讯云开放3306端口

image-20221018234912585

4.12 系统开放3306端口

firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload

五、navicat连接云服务器的数据库,并转储数据

本地电脑打开navicat,点击连接------MySQL

image-20221018235631069image-20221019001034596

image-20221018235631069image-20221019001034596

image-20221019001056381 image-20221019001226476

接下来,我们只需要将本地的数据,转储迁移到云服务器的数据库,即可。

具体教程可参考视频教程。

05-2 6分钟学会navicat常用操作,轻松搞定数据转储

六、打包项目并上云

6.1 修改localhost为公网ip

localhost127.0.0.1 改为公网ip

image-20221019104348023

==注意:若是前后端分离的项目,那么,则需要修改所有前端url路径为服务器公网ip。==

本演示项目仅仅需只需修改连接数据库的地址、用户名、密码,即可。

6.2 将项目打成war包

可以利用IDEA的Maven工具快速将项目打成包

image-20221019104540919

之后,在项目结构的生成了一个target目录,里面包含了一个war包,如图。

image-20221019104605952

6.3 将war包上传至云服务器的tomcat的webapps中

6.4 测试项目云上运行情况

七、总结与注意事项

  1. 为了保证最后整体项目能“跑”得通,本地的环境版本与云端的一定要一致
  2. 如果是前后端分离的项目,前端的url路径要改为公网ip

Citation:

References: