前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >部署 JavaWeb 项目到云服务器

部署 JavaWeb 项目到云服务器

作者头像
Twcat_tree
发布2022-11-30 19:11:28
9.3K0
发布2022-11-30 19:11:28
举报
文章被收录于专栏:二猫の家二猫の家

一、前言

前面我们已经尝过了在云服务器上部署代码的甜头了,现在主菜就要上场了,那就是将我们的 JavaWeb 项目部署到云服务器上。兴奋吧?淡定淡定~

二、项目部署

我们对于 Java Web 项目在本地机器(无论是 Windows 还是 Linux)上的部署已经了然于心了,那么对于在云服务器上部署 Java Web 项目又是如何操作的呢? 其实很简单,还是离不开 Web 项目部署的那三点: ① 基础的 JDK 环境 ② 一个 Web 服务器。如 Tomcat、JBoss ③ 一款数据库。如:mysql

对于云服务器上 Java Web 项目的部署,和平时在 Windows、Linux 下部署是一样的。最多也就是只能使用纯命令模式来操作而已,其实过程都一样。

2.1 环境准备

既然是 Java Web 项目的部署,首先自然需要配置好相关的环境罗。也就是:先在云主机上搭建好 Java 开发环境,如 OpenJDK 的安装、Tomcat 的安装、Mysql 数据库的安装。 注:关于这些软件的安装就不再该篇文章中叙述了,我会在另外的2篇文章中详细阐述的。

2.2 项目部署

我们要部署 Java Web 项目,那就至少得将项目上传到云服务器。其实过程很简单,基本上也就是下面三个步骤: ① 打包上传:将项目打包成 war 文件,然后利用 FileZilla 传到远程服务器 ② 部署:使用 cp 或 mv 命令,将 war 文件移动到 Tomcat 目录下的 webapps 下 ③ 重启 Tomcat,访问我们的项目

在这个过程中,我们需要注意。因为一般而已,作为一个 Web 项目,我们肯定是有数据库的使用的。那么数据库部分怎么办呢?其实,只需要将我们已有的数据库转储为 sql 文件,然后将 sql 文件上传到云服务器上执行即可。以 mysql 为例,如下操作:

Mysql 案例

转储为 sql 脚本,并上传:先在本地将我们项目使用的数据库转为 sql 文件,上传到云服务器上

mysql-thinkphp1
mysql-thinkphp1

执行 sql:然后进入 mysql 中执行该 sql 文件

mysql-thinkphp2
mysql-thinkphp2

发现执行的时候有错。原因是我们此时的 mysql 中没有 thinkphp 这个数据库。我们查看下当前的数据库,执行命令 show databases;

mysql-thinkphp3
mysql-thinkphp3

发现确实没有 thinkphp 这个数据库,因此我们创建一个,执行命令 create database thinkphp;

mysql-thinkphp4
mysql-thinkphp4

再次执行

mysql-thinkphp5
mysql-thinkphp5

发现还是报错。原因是我们当前使用的是 mysql 这个数据库,而不是 thinkphp 数据库。因此我们切换到 thinkphp 数据库,执行命令 use thinkphp;,然后再一次执行 sql 文件:

mysql-thinkphp6
mysql-thinkphp6

查看结果

mysql-thinkphp7
mysql-thinkphp7

先不管显示的是乱码(因为刚才查看该 sql 文件就知道会是这个结果了),可以看到确实已经弄好了 ④ 部署项目:将项目部署到 Tomcat 容器中,还是使用 cp 或 mv 命令将 war 文件移到 /usr/local/tomcat8/webapps/ 下,重启 Tomcat,再访问

fw-1
fw-1

可以看到成功了对吧?其实不然,因为我们发现,需要使用数据库获取数据的部分却没有数据,这是为啥呢?错误的原因可能有以下几个: ① 项目中使用的是 mysql5.1.10 的驱动 jar,而云服务器默认的是使用 mysql5.1.73 因此,要么重装一个 mysql,要么将项目中的驱动改为 mysql5.1.73。 ② 未将 mysql 驱动jar 放入 jvm/java-1.8.0xxx/jre/lib/ext/ 下 ③ 密码不正确 ④ 使用的是 root 账户,而 root 账户在 Linux 下访问 mysql 是不需要使用密码的

通过排查,发现是因为项目中是使用 root 账户的,因此我们在本地中将项目代码关于数据库连接部分改一下,将密码置空串,再次部署,就可以恢复正常了,看看结果吧!

fw-2
fw-2

成功显示,连上了 mysql!

前往 bascker/javaworld 获取更多 Java 知识

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、前言
  • 二、项目部署
    • 2.1 环境准备
      • 2.2 项目部署
      相关产品与服务
      云服务器
      云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档