Java进阶-Tomcat发布JavaWeb项目

对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以Tomcat服务器发布J2EE项目为例。

java000 - Windows用Tomcat发布Java项目


一、打包 Java 项目

准备一个可运行的Javaweb项目,mysql连接正常,在eclipse中将项目打成war文件。

java001 - Windows用Tomcat发布Java项目

java002 - Windows用Tomcat发布Java项目

java003 - Windows用Tomcat发布Java项目

java004 - Windows用Tomcat发布Java项目

java005 - Windows用Tomcat发布Java项目


 二、准备云服务器

优惠的购买链接:年度爆款2核2G4M云服务器118元/年,新老用户同享

java009 1024x670 - Windows用Tomcat发布Java项目

购买好了进入控制台,找到刚刚购买的服务器,点击登录

java010 1024x442 - Windows用Tomcat发布Java项目

下载RDP文件

java011 1024x721 - Windows用Tomcat发布Java项目

java012 - Windows用Tomcat发布Java项目

双击进入,会要求输入用户名密码,忘了回控制台重置

java013 1024x289 - Windows用Tomcat发布Java项目

进入后图,服务器就相当于放在腾讯的一部电脑,但是这台电脑具有内网和外(公)网两个ip,我们正常在本地发布应用,外网是访问不到的。在云服务器上本地发布,就相当于直接发布在外网,所有终端都可以访问。

java014 1024x561 - Windows用Tomcat发布Java项目


三、环境云服务器配置

1、安装 JDK

安装JDK,进https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载exe,双击安装。

java015 - Windows用Tomcat发布Java项目

(1)新建环境变量JAVA_HOME

变量名:JAVA_HOME
变量值:C:\Program Files\Java\jdk1.8.0_221

java016 - Windows用Tomcat发布Java项目

(2)配置path

变量名:path
变量值最前面加上%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
(如果原先的值没有用;结尾,要补一个;把值隔开)

java017 - Windows用Tomcat发布Java项目

(3)新增CLASSPATH变量

变量名:CLASSPATH
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

java018 - Windows用Tomcat发布Java项目

(4)执行java -version如果出现如下图界面则证明安装成功

java019 - Windows用Tomcat发布Java项目


2、安装 MySQL

Windows上安装MySQL

点击链接https://dev.mysql.com/downloads/mysql/下载 zip 包。

java020 1024x719 - Windows用Tomcat发布Java项目

java021 1024x739 - Windows用Tomcat发布Java项目

直接解压到想要安装的目录

java022 - Windows用Tomcat发布Java项目

创建my.ini文件,内容写为:

[mysqld]
port=3306
#basedir是安装路径,datadir是安装路径\Data
basedir=C:\mysql-8.0.17-winx64
datadir=C:\mysql-8.0.17-winx64\Data
max_connections=200
max_connect_errors=10
character-set-server=utf8mb4
default-storage-engine=MyISAM
default_authentication_plugin=mysql_native_password
[mysql]
default-character-set=utf8mb4
[client]
port=3306
default-character-set=utf8mb4

java023 1024x600 - Windows用Tomcat发布Java项目

配置环境变量

变量名:MYSQL_HOME
变量值:C:\mysql-8.0.17-winx64

java024 1024x581 - Windows用Tomcat发布Java项目

java025 1024x860 - Windows用Tomcat发布Java项目

java026 - Windows用Tomcat发布Java项目

以管理员身份打开 cmd 命令行工具,切换目录:
cd C:\web\mysql-8.0.11\bin

java027 - Windows用Tomcat发布Java项目

java028 - Windows用Tomcat发布Java项目

初始化数据库:
mysqld –initialize –console

执行完成后,会输出 root 用户的初始默认密码,如:
2019-09-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
(APWCY5ws&hjQ 就是初始密码,可以在登陆后修改密码)

输入以下安装命令:
mysqld install

启动输入以下命令即可:
net start mysql

正常情况:

java029 - Windows用Tomcat发布Java项目

异常情况:

java030 - Windows用Tomcat发布Java项目

查看服务有没有开启,如果MySQL服务正常,这种情况不影响使用

java031 - Windows用Tomcat发布Java项目

登录MySQL: mysql -u root -p

java032 - Windows用Tomcat发布Java项目

设置(或修改)root用户密码:
mysql> update mysql.user set authentication_string=password(“****”) where user = “root”;  
(此处引号中的内容是密码,自己可以随便设置,为了后边方便不用修改war包中的连接配置,建议和本地MySQL设置一样的密码)

保存修改后的密码:
mysql> flush privileges;  #作用:相当于保存,执行此命令后,设置才生效,若不执行,还是之前的密码不变


3、安装 Tomcat

注册tomcat,要用到tomcat的service.bat,如果你的tomcat没有这个,就重新下载一个有service.bat的tomcat。

点击Archives

java033 - Windows用Tomcat发布Java项目

选择需要的版本,我用的是v8.5.45,选好了点击去之后再点击bin/

java034 - Windows用Tomcat发布Java项目

选择这个下载

java035 - Windows用Tomcat发布Java项目

下载完解压到想要存放的安装目录

我的tomcat的路径是:C:\Program Files\apache-tomcat-8.5.45所以下列的变量值就是我的tomcat路径:

(1)新建变量名:CATALINA_BASE
变量值:C:\Program Files\apache-tomcat-8.5.45

(2)新建变量名:CATALINA_HOME
变量值:C:\Program Files\apache-tomcat-8.5.45

java036 - Windows用Tomcat发布Java项目

(3) 编辑变量名: Path
添加变量值:;%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;
(分号是把path的各个变量分开)

java037 - Windows用Tomcat发布Java项目

修改conf文件夹里的server.xml文件,如图,port是端口,一般是8080,我自己设得是70,添加URIEncoding=”UTF-8″,防止中文乱码。

java038 1024x386 - Windows用Tomcat发布Java项目

管理员身份打开cmd, cd到tomcat的bin目录,输service install安装服务。

java039 - Windows用Tomcat发布Java项目

(这张图借的,版本号和我的不一样,只做示意)

在服务里可以看到有tomcat8了

java040 - Windows用Tomcat发布Java项目

后面启动直接startup,只要tomcat这个窗口不关,外网就可以直接访问部署在里面的项目。

java041 - Windows用Tomcat发布Java项目

浏览器网址输入localhost:70/ 配置成功会跳到此页面。

java042 - Windows用Tomcat发布Java项目


四、数据迁移到服务器

1、本地数据备份SQL

我们需要把本地的数据迁移到服务器上的数据库上。

我用的Navicat,推荐下面这个免安装的版本:
链接:https://pan.baidu.com/s/1y9flZHD9AgGfhz1pebPNyg
提取码:kkaf

java006 - Windows用Tomcat发布Java项目

java007 - Windows用Tomcat发布Java项目

备份成功,后面只要把这个SQL文件导入数据库就可以了

java008 - Windows用Tomcat发布Java项目


2、云数据库导入SQL

把备份的sql数据存到云服务器的MySQL里面

我在云端也有一个Navicat

java043 - Windows用Tomcat发布Java项目

数据已经在数据库里了

java044 - Windows用Tomcat发布Java项目


五、部署 Java 项目

把war包放在tomcat安装目录的webapps下

java045 - Windows用Tomcat发布Java项目

启动tomcat(cmd里startup),访问 localhost:70/CRM

java046 1024x501 - Windows用Tomcat发布Java项目


六、防火墙开放端口

1、防火墙开放端口

java047 - Windows用Tomcat发布Java项目


2、安全组开放端口

java048 1024x66 - Windows用Tomcat发布Java项目


七、测试发布是否成功

这时再用本地的浏览器已经可以访问云服务器上的项目了。

java049 1024x534 - Windows用Tomcat发布Java项目

java050 - Windows用Tomcat发布Java项目


八、常见问题

① 连接MySQL的时候报错The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrec。

500报错:java.sql.SQLException: The server time zone value ‘Öйú±ê׼ʱ¼ä’ is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

解决方法:在语句”jdbc:mysql://localhost:3366/db_crm “后添加”?serverTimezone=GMT%2B8″:

java051 1024x157 - Windows用Tomcat发布Java项目


② 关于Unknown character set index for field ‘255’ received from server

原因是MySQL版本高,mysql的jar版本低造成mysql与jar的编码错乱引起的

链接:https://pan.baidu.com/s/18rxjcc9bfuCO8NOSVh0EVQ
提取码:2c3x

把mysql-connector-java-8.0.11.jar这个jar包复制到项目文件夹下WebContent\WEB-INF\lib里。

java052 - Windows用Tomcat发布Java项目

替换过后可能会出现 [在工程和使用过原来包的java文件上会出现红叉],将有红叉的java文件找到,将有红×的那一行删掉,再重新导那个包就可以了。


③ 运行过程中,jQuery前端框架自带easyui-lang-zh_CN.js里的中文乱码了

因为在服务器之前本地运行是正常的,所以排除项目本身的问题,腾讯云为了用户的傻瓜式操作,不会让我们去为了基础功能手动改配置的,所以也不可能有问题。最后排除到版本不同的tomcat上。

步骤一:

在tomcat目录下的conf文件夹下,打开server.xml文件 ;
在Connector 中添加 URIEncoding=”UTF-8″;

java053 1024x386 - Windows用Tomcat发布Java项目

步骤二:

在tomcat目录下的bin文件夹下,打开catalina.bat文件

java054 - Windows用Tomcat发布Java项目

setlocal下增加一行:

set JAVA_OPTS=-Dfile.encoding=UTF8

java055 1024x481 - Windows用Tomcat发布Java项目

步骤三:

打开注册表,找到HKEY_CURRENT_USER→Console→Tomcat,找到CodePage项,没有则创建,更改值为十进制的65001,点击确定。

或直接复制下面代码,保存为.bat文件,直接运行。

set rr="HKCU\Console\Tomcat"
reg add %rr% /v "CodePage" /t REG_DWORD /d 0x0000fde9 /f>nul \

重新启动tomcat后,完美解决。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/633559.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

像操作本地文件一样操作linux文件 centos7环境下samba共享服务搭建详细教程

1.安装dnf yum -y install dnf 2.安装samba dnf install samba -y 3.配置 3.1创建并设置用户信息 #创建用户 useradd -M -s /sbin/nologin samba echo 123|passwd --stdin samba mkdir /home/samba chown -R samba:samba /home/samba smbpasswd -a samba smaba设置密码示…

137基于matlab的面和线接触的滑块润滑

基于matlab的面和线接触的滑块润滑,基于有限差分法求解面接触滑块润滑的油膜厚度、油膜压力,输出三维可视化结果。程序已调通,可直接运行。 137 matlab油膜压力油膜厚度 (xiaohongshu.com)

mybatis-plus批量保存异常及效率优化

最近基于自己公司内部服务维护,发现其中调度中心近期出现不少错误日志,但是该任务却是正常执行,生成的报表数据也是正常的,所以很多天没有发现问题 这就匪夷所思了, 经仔细排查发现,是触发了feign超时hyst…

java常用API异常

1.包装类 1.1 基本类型包装类(记忆) 基本类型包装类的作用 将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本类型对应的包装类 基本数据类型包装类by…

司铭宇老师:房地产中介电话销售培训:房地产中介电话销售技巧

房地产中介电话销售培训:房地产中介电话销售技巧 在当今的房地产市场中,电话销售已经成为了房地产中介的重要营销手段。然而,如何才能有效地利用电话销售来吸引客户,提高销售业绩呢?这就需要掌握一些专业的电话销售技巧…

【React基础】– JSX语法

文章目录 认识JSX为什么React选择了JSXJSX的使用 React事件绑定this的绑定问题事件参数传递 React条件渲染React列表渲染列表中的key JSX的本质createElement源码Babel官网查看直接编写jsx代码 虚拟DOM的创建过程jsx – 虚拟DOM – 真实DOM声明式编程 阶段案例练习 认识JSX ◼ …

10个常考的前端手写题,你全都会吗?

前言 📫 大家好,我是南木元元,热爱技术和分享,欢迎大家交流,一起学习进步! 🍅 个人主页:南木元元 今天来分享一下10个常见的JavaScript手写功能。 目录 1.实现new 2.call、apply、…

Python爬虫---scrapy框架---当当网管道封装

项目结构: dang.py文件:自己创建,实现爬虫核心功能的文件 import scrapy from scrapy_dangdang_20240113.items import ScrapyDangdang20240113Itemclass DangSpider(scrapy.Spider):name "dang" # 名字# 如果是多页下载的话, …

transbigdata笔记:轨迹切片

1 方法介绍 在transbigdata笔记:轨迹停止点和行程提取-CSDN博客中,已经可以把轨迹点拆分成停止点和行程点,但是行程点只有起止位置,不包含行程轨迹信息为了进一步分析车辆的行驶轨迹,需要从每次行程的时间段中提取轨迹…

matlab Robotics Toolbox

工具箱下载地址:ROBOTICS TOOLBOX 安装教程 笛卡尔运动规划 在MATLAB中,ctraj和jtraj是两个不同的函数,主要用于控制系统和机器人学中的轨迹规划。它们之间的主要区别在于它们处理的问题类型和使用方式。 ctraj(连续时间轨迹规划…

CTF CRYPTO 密码学-2

题目名称:crypto1 题目描述: 字符 ZZZZ X XXZ ZZ ZXZ Z ZXZ ZX ZZX XXX XZXX XXZ ZX ZXZZ ZZXZ XX ZX ZZ 分析 此字段是由Z和X组成的字符,联想到莫斯密码是由.和-组成的所以接下来可以尝试莫斯密码解题 解题过程: Step1&#xf…

2019年认证杯SPSSPRO杯数学建模C题(第二阶段)保险业的数字化变革全过程文档及程序

2019年认证杯SPSSPRO杯数学建模 基于统计建模的车险业数字变革研究 C题 保险业的数字化变革 原题再现: 车险,即机动车辆保险。保险自身是一种分散风险、消化损失的经济补偿制度,车险即为分散机动车辆在行驶过程中可能发作的未知风险和损失…

【Vue】Vue 路由的配置及使用

目录捏 前言一、路由是什么?1.前端路由2.后端路由 二、路由配置1.安装路由2.配置路由 三、路由使用1.route 与 router2. 声明式导航3. 指定组件的呈现位置 四、嵌套路由(多级路由)五、路由重定向1.什么是路由重定向?2.设置 redire…

C++类与对象【友元】

🌈个人主页:godspeed_lucip 🔥 系列专栏:C从基础到进阶 🎄1 友元🥑1.1 全局函数做友元🥑1.2 类做友元🥑1.3 成员函数做友元 🕮2 总结 🎄1 友元 生活中你的家…

深入了解性能优化(web应用)

影响一个系统性能的方方面面 一个 web应用不是一个孤立的个体,它是一个系统的部分,系统中的每一部分都会影响整个系统的性能 一.常用的性能评价/测试指标 1.响应时间 提交请求和返回该请求的响应之间使用的时间,一般比较关注平均响应时间。 常用操作的响应时间列表: 操作 响应…

探索 2024 年新副业:无人饮品机的新风向

随着科技的迅猛发展,无人饮品机作为一种全新的商业模式,正逐渐成为 2024 年副业的新风向。如果你还没有了解过这种全新的副业,那么现在是时候深入了解一下了。 D咖无人饮品机的优势在于其 24 小时不间断的营业模式,它可以在你睡觉…

web前端项目-中国象棋【附源码】

中国象棋 【中国象棋】是一款历史悠久、深受人们喜爱的策略类游戏。在Web前端技术中,我们可以使用HTML、CSS和JavaScript等语言来制作一款中国象棋游戏。玩家使用棋子(帅/相/士/炮/马/车/炮/卒)在棋盘上相互对弈,将对手的“帅”棋…

工作流管理框架airflow-安装部署教程

1 概述 Airflow是一个以编程方式编写,用于管理和调度工作流的平台。可以帮助你定义复杂的工作流程,然后在集群上执行和监控这些工作流。 Airflow计划程序在遵循指定的依赖项,同时在一组工作线程上执行任务。丰富的命令实用程序使在DAG上执行复杂的调度…

国产开源模型标杆,能力比肩ChatGPT!书生·浦语2.0发布,支持免费商用

1月17日,新一代大语言模型书⽣浦语2.0(InternLM2)正式发布并开源。 2种参数规格、3种模型版本,共计6个模型,全部免费可商用。 它支持200K超长上下文,可轻松读200页财报。200K文本全文范围关键信息召回准确…

Springboot日志框架logback与log4j2

目录 Springboot日志使用 Logback日志 日志格式 自定义日志格式 日志文件输出 Springboot启用log4j2日志框架 Springboot日志使用 Springboot底层是使用slf4jlogback的方式进行日志记录 Logback日志 trace:级别最低 debug:调试级别的&#xff0c…