Java进阶-Tomcat发布JavaWeb项目

news2024/11/18 16:49:39

对于云服务器,程序员一般不会陌生,如果项目需要发布到现网,那么服务器是必不可缺的一项硬性条件,那么如何在云服务器上部署一个项目,需要做哪些配置准备,下面就由本文档为大家讲解,本篇以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.coloradmin.cn/o/1396365.html

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

相关文章

springcloud之链路追踪

写在前面 源码 。 本文一起来看下链路追踪的功能,链路追踪是一种找出病因的手段,可以类比医院的检查仪器,服务医生治病救人,而链路追踪技术是辅助开发人员查找线上问题的。 1:为什么微服务需要链路追踪 孔子同志月过…

python数字图像处理基础(十)——背景建模

目录 背景建模背景消除-帧差法混合高斯模型 背景建模 背景建模是计算机视觉和图像处理中的一项关键技术,用于提取视频中的前景对象。在视频监控、运动检测和行为分析等领域中,背景建模被广泛应用。其基本思想是通过对视频序列中的像素进行建模&#xff…

【信号与系统】【北京航空航天大学】实验四、幅频、相频响应和傅里叶变换

一、实验目的 1、 掌握利用MATLAB计算系统幅频、相频响应的方法; 2、 掌握使用MATLAB进行傅里叶变换的方法; 3、 掌握使用MATLAB验证傅里叶变换的性质的方法。 二、实验内容 1、 MATLAB代码: >> clear all; >> a [1 3 2]; …

干掉xshell, 这款远程终端工具:开源、免费、跨平台,同时支持SSH+SFTP+Telent+TCP+Serial,太香了。

干掉xshell说say you, 这款远程终端工具:开源、免费、跨平台,同时支持SSHSFTPTelentTCPSerial,太香了。 大家好! 我是老码农。 今天分享一款:远程终端连接工具:WindTerm。 如标题所述,值得拥…

按空格键改变text显示的内容并打印输出

注意!如果焦点不在text则无法生效。 整型竟然能和字符串直接相加,立天! import QtQuickWindow {width: 640height: 480visible: truetitle: qsTr("2.2 属性")Rectangle {Text {id: thislabelfont.pixelSize: 30font.family: "…

Elastic Stack(1):Elastic Stack简介

1 简介 ELK是一个免费开源的日志分析架构技术栈总称,官网https://www.elastic.co/cn。包含三大基础组件,分别是Elasticsearch、Logstash、Kibana。但实际上ELK不仅仅适用于日志分析,它还可以支持其它任何数据搜索、分析和收集的场景&#xf…

线程基础知识点

1. 线程和进程的区别? 程序由指令和数据组成,但这些指令要运行,数据要读写,就必须将指令加载至 CPU,数据加载至内存。在指令运行过程中还需要用到磁盘、网络等设备。进程就是用来加载指令、管理内存、管理 IO 的。 当…

自动驾驶概述

自动驾驶技术主要解决的问题 无人驾驶分级 L1:巡航定速(ACC),巡航装置可以纵向控制车辆,可以加速减速 L2:车道保持辅助,系统可以纵向控制也可以横向控制汽车,但车是辅助,人才是主导。 L2.5:可以提供简单路况下的变道能力,比如特斯拉。 L3:L2的基础上提供变道能力,…

[C语言]编译和链接

一、翻译和运行 在ANSI C的任何⼀种实现中,存在两个不同的环境。 1)翻译环境:将源代码被转换为可执行的机器指令 2)执行环境:实际执行代码。 1.翻译环境 首先我们来将翻译环境 翻译环境是由 编译 和 链接 两个大的过程…

龙哥的问题(积性函数,莫比乌斯反演)

题目路径: 221. 龙哥的问题 - AcWing题库 思路:

5G消息一站式解决方案,实现全新“跳代”应用体验

随着5G技术的普及和深化,通信行业迎来发展的“红利期”。5G消息作为基础短信业务的升级,可通过手机一键开启。不仅支持在原生短信界面发送多种内容,如:语音、视频、图片、地理位置等。还可通过chatbot功能模拟人类智能对话&#x…

2017年认证杯SPSSPRO杯数学建模A题(第一阶段)安全的后视镜全过程文档及程序

2017年认证杯SPSSPRO杯数学建模 A题 安全的后视镜 原题再现: 汽车后视镜的视野对行车安全非常重要。一般来说,汽车的后视镜需要有良好的视野范围,以便驾驶员能够全面地了解车后方的道路情况。同时,后视镜也要使图像的畸变尽可能…

Zoho Survey评价:功能全面,值得一试

通常来讲,我们在使用一款问卷调查制作工具制作问卷时会有哪些需求呢? 用户需求 1、操作简单,易上手。 2、能够满足用户个性化的需求。 3、提供多语言服务。 4、能够帮助发布以及数据收集。 5、简化数据分析 市面上的问卷调查制作工具都…

【法如faro】法如三维激光扫描软件Scene2023下载与安装教程

FARO SCENE 2023是法如中国官方开发的一款相套配的三维数字化存档软件,该软件专门设计用于所有的Focus和第三方激光扫描仪,通过使用实时现场配准、自动对象识别、扫描图像配准和定位功能,能够帮助用户轻松而高效地处理和管理扫描后的数据。 文…

HTTPS协议把什么加密了?

HTTPS(Hypertext Transfer Protocol Secure)是一种用于在计算机网络上进行安全通信的协议。它的工作原理主要基于以下几个关键步骤: 1. 握手阶段(Handshake): - 客户端向服务器发送一个请求&#xff0c…

349. 两个数组的交集(力扣)(OJ题)

题目链接:349. 两个数组的交集 - 力扣(LeetCode) 个人博客主页:https://blog.csdn.net/2301_79293429?typeblog 专栏:https://blog.csdn.net/2301_79293429/category_12545690.html 给定两个数组 nums1 和 nums2 &a…

十一、常用API——正则表达式

目录 练习1: 正则表达式的作用 正则表达式 字符类(只匹配一个字符) 预定义字符(只匹配一个字符) 数量词 类 Pattern 正则表达式的构造摘要 反斜线、转义和引用 字符类 行结束符 组和捕获 Unicode 支持 与…

Spring Boot整合MyBatis-Plus

引言 在现代软件开发中,我们经常需要处理大量的数据。为了有效地管理这些数据,我们需要使用一些强大的框架。其中,Spring Boot和MyBatis-Plus是两个非常流行的框架。Spring Boot是一个基于Spring的开源Java框架,可以用于创建独立…

Java:选择哪个Java IDE好?

Java:选择哪个Java IDE好? 在开始前我有一些资料,是我根据网友给的问题精心整理了一份「java的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!&…

动手搓一个kubernetes管理平台(3)-后端框架

后端框架的选择面比较大,由于不涉及复杂的调度/分布式管理等场景,所以后端选用一个标准的web server即可,比如gin, iris, beego等等,因为正好最近在看iris的一些项目,所以就选用了irsicorba的框架进行后端开发 。 通过…