前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【玩转腾讯云】本地JavaWeb项目部署到腾讯云轻量服务器,实现公网访问

【玩转腾讯云】本地JavaWeb项目部署到腾讯云轻量服务器,实现公网访问

原创
作者头像
Mintimate
修改于 2023-09-25 06:22:57
修改于 2023-09-25 06:22:57
14K0
举报
文章被收录于专栏:Mintimate's BlogMintimate's Blog

实现逻辑

主要是网上教程太乱,而且很碎片;我这边做一个整体教程和演示。

主要有两种形式:带tomcat的jar包不带tomcat的war包

简述一下逻辑:

实现逻辑
实现逻辑

本次教程,Tomcat项目打包成war包到服务器上发布,Springboot项目打包为jar或war包到服务器上发布:

  • war:Tomcat/Springboot项目打包
  • jar:Spring web项目(Springboot)打包

前提

服务器前提

既然要部署到服务器,给公网用户访问,肯定是需要一台服务器的(Linux系统比较推荐,Windows Server占用系统资源过高)。

如果你不会操作Linux,可以使用宝塔面板。

推选服务器:

  1. 腾讯学生轻量应用服务器
  2. 腾讯云服务器采购节

如果你并不知道买什么服务器,可以评论区留言项目规模

本地前提

  • 可上传文件至服务器的工具(可以本地用WinSCP,或者服务器安装宝塔等)。
  • 一个JavaWeb项目,且可以运行。

视频演示教程

Tomcat项目打包成war

觉得视频有用,可以投币点赞嗷:

Bilibili:Tomcat项目打包成war

Springboot项目打包成jar

觉得视频有用,可以点赞和评论嗷:

腾讯云社区:【玩转腾讯云】10分钟零基础部署本地JavaWeb项目到腾讯云轻量应用服务器原创

本地构建JavaWeb项目

首先,我们要区分你本地的JavaWeb项目

Tomcat工程

Tomcat项目打包为.war结尾的war文件其实很简单,但是IDEA上要提前配置:

这一步,其实也是本地IDEA启动Tomcat的前提条件。如果图开不清,可以点开查看嗷;步骤是:

打开Project Structure -- Artifacts -- 点+号 -- Web Application: Exploded -- Apply

Spring工程

以Springboot项目为例

打包为jar

这个过于简单,以至于前期无需准备步骤,如果真的要说,Maven里不要设置打包为war即可(默认打包为jar)。

打包为war

相对于打包出jar,打包为war会复杂点:

Maven的pom.xml里设置:

代码语言:txt
AI代码解释
复制
<packaging>war</packaging>
设置打包为war
设置打包为war

然后,在spring-boot-starter-web依赖节点中移除tomcat相关外部包:

代码语言:txt
AI代码解释
复制
<dependency>

 <groupId>org.springframework.boot</groupId>

 <artifactId>spring-boot-starter-web</artifactId>

 <!-- 移除嵌入式tomcat插件 -->

 <exclusions>

 <exclusion>

 <groupId>org.springframework.boot</groupId>

 <artifactId>spring-boot-starter-tomcat</artifactId>

 </exclusion>

 </exclusions>

</dependency>
移除Tomcat依赖
移除Tomcat依赖

最后,在依赖包内添加Servlet的包:

代码语言:txt
AI代码解释
复制
<!-- 打包成war包,添加Servlet依赖-->

<dependency>

 <groupId>org.apache.tomcat</groupId>

 <artifactId>tomcat-servlet-api</artifactId>

 <version>9.0.43</version>

</dependency>
添加Servlet依赖
添加Servlet依赖

打包项目为war文件

适用于Tomcat项目、Spring项目。

构建准备

war文件,实际上就是一自压缩文件;我们的服务器上Tomcat会解析war文件为工程项目。

如果你的项目是Tomcat项目,IDEA首先添加打包的Archive

如果图开不清,可以点开查看嗷;步骤是:

打开Project StructureArtifacts – 点+号 – Web Application: ArchiveFor nameApply

其中,name为你本地构建JavaWeb项目设置的Web Application: Exploded名字。

如果你的项目是Spring项目,需要设置启动主类SpringBootServletInitializer,创建一个SpringBootStartApplication类,同时继承SpringBootServletInitializerl类:

代码语言:txt
AI代码解释
复制
public class SpringBootStartApplication extends SpringBootServletInitializer {

 @Override

 protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

 // 注意这里要指向原先用main方法执行的Application启动类

 return builder.sources(ToolApplication.class);

 }

}
创建Main方法
创建Main方法

正式构建

如果你的项目是Tomcat项目:

如果图开不清,可以点开查看嗷;步骤是:

打开BuildBuild ArtifactsBuild name

其中,name为你刚刚构建准备设置的Web Application: Archive名字。构建成功,会在out–artifacts文件夹的子目录内找到一个.war结尾的文件,这就是我们要上传服务器的文件。

而基于Maven骨架的Spring项目,只需要打包IDEA自带的Maven工具,进行打包操作:

Maven
Maven

当然,你也可以直接到项目目录下,使用Maven命令打包:

代码语言:txt
AI代码解释
复制
mvn clean

mvn package

之后,在target目录下生成.war结尾的文件,这就是我们要上传到服务器的文件。

服务器安装配置Tomcat(War)

对于war包,内部是什么Tomcat服务器的,需要我们手动在服务器上配置一个。如果你打包成jar则不需要。

下载Tomcat镜像文件到服务器

首先去官网下载Tomcat镜像文件:https://tomcat.apache.org/download-80.cgi

因为是给服务器配置,我们需要下载的tar.gz的core版本。

这边下载方法很多,比如你可以直接wget下载到服务器,也可以本地WinSCP上传到服务器,甚至还可以用宝塔下载。

解压文件

解压刚刚下载的文件,比如我下载下来,文件是apache-tomcat-8.5.55.tar.gz,解压后是apache-tomcat-8.5.55文件夹;为了方便配置;我重命名apache-tomcat-8.5.55文件夹为Tomcat,并移动到根目录

配置JDK

考虑到这个过于简单,建议自己配置JDK,推荐OpenJDK

如果你重来没用过Linux,可以参考图文教程:

Linux的JDK和Jenv(JAVA_HOME管理器)的详细配置使用教程

我配置的JDK的JAVA_Home地址: /usr/java/jdk

配置Tomcat环境变量

服务器终端输入(若未事先配置zsh,一般Linux默认为Bash):

代码语言:txt
AI代码解释
复制
# 如果你使用Bash

vim /etc/profile

# 如果你使用zsh

vim ~/.zshrc

按 i 进入编辑并在最底部添加:

代码语言:txt
AI代码解释
复制
#tomcat 

CATALINA\_HOME=/Tomcat

export CATALINA\_HOME

随后按ESC;输入:wq后回车(保存并退出)。

最后,重载一次配置文件,使环境变量文件生效:

代码语言:txt
AI代码解释
复制
source /etc/profile
# 如果你使用zsh
source ~/.zshrc

配置tomcat的catalina.sh文件

进入tomcat的bin目录

代码语言:txt
AI代码解释
复制
cd $CATALINA_HOME/bin
vim catalina.sh

找到 # OS specific support,然后在这行下面添加以下配置

代码语言:txt
AI代码解释
复制
# OS specific support.  $var _must_ be set to either true or false.
CATALINA_HOME=
JAVA_HOME=

(其中,CATALINA_HOME、JAVA_HOME要根据自己前面配置路径,自己填写)

保存退出

上传打包好的war包

将刚刚打包好的.war文件,上传到tomcat里的/webapps内;因为我的tomcat8,重命名了并且放在根目录下(/Tomcat),所以我只需要上传到:/Tomcat/webapps:

配置server.xml文件

为了方便项目访问,我们还需要配置tomcat里/conf/server.xml文件。因为我的tomcat8,重命名了并且放在根目录(/Tomcat),所以我只需要修改:/Tomcat/conf/server.xml:

代码语言:txt
AI代码解释
复制
vim /Tomcat/conf/server.xml

在</Host>前,添加:

代码语言:txt
AI代码解释
复制
<Context path="" docBase="/Tomcat/webapps/MintimateAll.war" debug="0" reloadable="true" />
  • path:你希望用什么访问地址到你项目文件
  • docBase:项目地址(可以是绝对路径,也可相对路径)

保存,退出即可。

配置tomcat服务

这里有两种方式,一种是注册为系统服务

代码语言:txt
AI代码解释
复制
# 进入Tomcat安装目录下的bin目录
cd $CATALINA\_HOME/bin
# 移动Tomcat配置文件到系统Service文件内
cp catalina.sh /etc/systemd/system/tomcat

之后,启动或关闭Tomcat服务器:

代码语言:txt
AI代码解释
复制
# 启动
service tomcat start
# 停用
service tomcat stop

如果都没有报错,则说明配置成功了。

另外一种是不注册为系统服务器,手动开启或关闭Tomcat

代码语言:txt
AI代码解释
复制
# 进入Tomcat安装目录下的bin目录
cd $CATALINA\_HOME/bin

之后,启动或关闭Tomcat:

代码语言:txt
AI代码解释
复制
# 启动Tomcat
bash startup.sh
# 关闭Tomcat
bash shutdown.sh

以上方法二选一即可。

删除初始ROOT文件夹

因为Tomcat自带一个演示文件,所以想通过浏览器:IP:8080直接访问到你项目,需要删除ROOT文件夹。该文件夹在刚刚上传项目文件夹内。

代码语言:txt
AI代码解释
复制
rm -rf /Tomcat/webapps/ROOT

这样,当你只配置了一个项目时,这个项目或默认替换ROOT项目。当然,如果你有多个项目需要配置不同一级目录,那么需要在打包时,注意命名

启动/重启Tomcat

要让Tomcat重新编译,我们只需要重启Tomcat服务即可

代码语言:txt
AI代码解释
复制
# 如果你注册Tomcat为系统服务:

## 停用

service tomcat stop

## 启动

service tomcat start

# 如果你没有注册Tomcat为系统服务:

cd $CATALINA\_HOME/bin

## 关闭Tomcat

bash shutdown.sh

## 启动Tomcat

bash startup.sh

访问成功

这个时候,就可以通过服务器公网IP+8080端口公网IP+8080端口+项目地址,访问到我们的项目了。(如果你不希望是8080端口,可以在conf/server.xml文件内更改)。

打包项目为jar文件

这个适用于Spring项目,尤其是Springboot项目,以一个主类启动项目且集成了Tomcat内建服务器。

构建准备

Maven上无需额外操作

正式构建

只需要打包IDEA自带的Maven工具,进行打包操作:

打包
打包

当然,你也可以直接到项目目录下,使用Maven命令打包:

代码语言:txt
AI代码解释
复制
mvn clean
mvn package

之后,在target目录下生成.jar结尾的文件,即为打包后的文件。之后上传服务器即可。

服务器运行带Tomcat的jar(Jar)

配置JDK

考虑到这个过于简单,建议自己配置JDK,推荐OpenJDK

如果你重来没用过Linux,可以参考图文教程:

Linux的JDK和Jenv(JAVA_HOME管理器)的详细配置使用教程

我配置的JDK的JAVA_Home地址: /usr/java/jdk

上传打包好的jar包

jar因为自带Tomcat环境,相对来说简单很多。为方便管理,我们创建一个myWeb文件夹,在里面放我们的jar包:

代码语言:txt
AI代码解释
复制
cd /
mkdir myWeb
cd myWeb

之后上传本地jar包

启动/关闭Jar

为了方便管理,我们以前台运行方式,运行java程序,先创建screen虚拟终端:

代码语言:txt
AI代码解释
复制
screen -R Web

启动服务器:

代码语言:txt
AI代码解释
复制
java -jar -Xmx128M YouJarName.jar

这个时候,就运行我们的网站了。而因为我们使用screen的原因,我们可以按ctrl+a再按d,退出虚拟终端,使其保存后台运行。

如果要关闭Web服务:

代码语言:txt
AI代码解释
复制
# 重新进入虚拟终端
screen -R Web

之后按ctrl+c,即可关闭。

访问成功

这个时候,就可以通过服务器公网IP+端口即可访问,记得到运营商后台放行端口嗷

配置Nginx反向代理(可选)

如果你配置好项目,往往需要IP+端口形式访问,但是如果你用域名,如何使用纯粹的域名访问呢?

很简单,使用Nginx,设置反向代理即可。为方便操作,我们使用宝塔面板进行操作(主要是篇幅受限):

宝塔官网,根据自己服务器系统,即可安装宝塔面板

在宝塔面板内安装好Nginx后,创建新网站:

添加网站
添加网站

点击创建的网站,设置方向代理:

设置代理
设置代理

之后就可以使用域名访问了。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
如何把JavaWeb项目部署到服务器
怎么部署自己的项目到服务器上并访问,首先呢,在开始之前,我们需要准备什么呢,一个能够运行的项目(Javaweb),一个服务器,这两个是必须的,还有可选的就是上传到服务器的软件以及远程连接工具,这两个是方便我们的操作的。至于服务器肯定需要有运行环境的,像jdk,tomcat,mysql等等,这些咱们在后面用到再说。
大头猿
2022/03/15
6K0
如何把JavaWeb项目部署到服务器
【教你搭建服务器系列】(5)部署JavaWeb项目到服务器
(买了一个主域名,理论上支持无限个二级、三级域名,所以你买了一个域名,比如说我买了baimuxym.cn,xxx.baimuxym.cn 我也可以随便用 )
HaC
2021/12/07
8060
【教你搭建服务器系列】(5)部署JavaWeb项目到服务器
将 java 项目部署到 linux 上的具体步骤
项目部署其实非常的简单,尤其是 java 项目。最近微信群里有网友,初学者还未毕业,问我 Java 项目是如果部署的?
业余草
2019/03/15
4.2K0
将 java 项目部署到 linux 上的具体步骤
Web项目部署到腾讯云服务器
由于我用的是maven项目,开发工具是IntelliJ IDEA 2019.3.3 x64,所以直接 点击下图中的package即可
别团等shy哥发育
2023/02/25
12K0
Web项目部署到腾讯云服务器
Spring boot项目部署到腾讯云服务器
spring boot项目打包方式有两种,分别是jar包和war包,官方推荐前者,所以本文也将项目打包成jar包。
用户2416682
2019/10/30
15.5K0
Spring boot项目部署到腾讯云服务器
JavaWeb项目的部署以及远程调试
1. 查看当前Linux系统是否已经安装java,输入 rpm -qa | grep -i java
程序员波特
2024/01/19
2730
JavaWeb项目的部署以及远程调试
将Web项目War包部署到Tomcat服务器基本步骤
假设你本地JAVA的JDK安装的位置为:C:\Program Files\Java\jdk1.7.0_45。
用户3519280
2023/07/06
10.3K0
将Web项目War包部署到Tomcat服务器基本步骤
JavaWeb项目部署到Linux服务器
注意:如下命令必须进入到Tomcat的bin目录才能执行。如果你配置好了环境变量就可以在任何路径下执行了。
兮动人
2021/06/11
3.5K0
腾讯云服务器安装JDK与tomcat(ubuntu)
    sudo add-apt-repository ppa:webupd8team/java
用户6468650
2019/10/23
12.9K0
JavaWeb 项目服务器部署详细教程(MySQL + JDK + Tomcat)
JavaWeb 项目部署到服务器 我这里的环境是 JDK13 + tomcat8.5.60 1. IDEA 打包项目 右击项目点击 Open Module Settings [在这里插入图片描述] 构建准备 [在这里插入图片描述] 正式构建 [在这里插入图片描述] 选择刚才构建的,点击 build 即可 [在这里插入图片描述] 本地就可以看到打包好的war包war包实际就是自压缩文件,相当于jar,服务器的tomcat会解析war文件为工程项目 [在这里插入图片描述] 2. 服务器资源准备 2.1 MySQ
ruochen
2021/05/15
1.5K0
JavaWeb 项目服务器部署详细教程(MySQL + JDK + Tomcat)
Jenkins详细安装与构建部署使用教程[通俗易懂]
Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能包括: 1、持续的软件版本发布/测试项目。 2、监控外部调用执行的工作。
全栈程序员站长
2022/08/28
1.1K0
Jenkins详细安装与构建部署使用教程[通俗易懂]
Spring Boot 项目部署实战:WAR 包部署与 Tomcat 安装
Spring Boot 是一个非常流行的 Java 框架,它简化了基于 Spring 的应用程序的创建和部署过程。虽然 Spring Boot 默认支持将应用程序打包成可执行的 JAR 文件,但在某些情况下,我们可能需要将其打包成 WAR 文件以便部署到传统的 Java 应用服务器(如 Tomcat)。本文将详细介绍如何将 Spring Boot 项目打包成 WAR 文件,并在 Tomcat 上进行部署。
Front_Yue
2024/08/10
2.7K0
Spring Boot 项目部署实战:WAR 包部署与 Tomcat 安装
【腾讯云的1001种玩法】JavaWeb项目部署指南
本文主要介绍了一种通过脚本自动化部署Java Web应用到Tomcat服务器的方法。主要包括准备工作、部署过程和总结。首先,通过下载和安装Java和Tomcat,使用脚本工具(如Shell和PowerShell)进行部署。然后,通过修改配置文件,使Tomcat支持Web应用的访问。最后,总结了这种方法的优缺点,并给出了一些建议。
葛尧
2017/03/30
5.5K1
【Linux】把web项目部署到Linux服务器上
打开eclipse,在已经完成的web项目上面点击右键,选择export,然后选择导出成war包
谙忆
2021/01/21
5K0
【Linux】把web项目部署到Linux服务器上
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
Linux tomcat部署War包,Linux在Tomcat部署JavaWeb项目,Linux部署War包
全栈程序员站长
2022/09/03
5.9K0
将Web项目War包部署到Tomcat服务器基本步骤(完整版)
War包一般是在进行Web开发时,通常是一个网站Project下的所有源码的集合,里面包含前台HTML/CSS/JS的代码,也包含Java的代码。
软件小生活
2021/08/16
15.7K0
将Web项目War包部署到Tomcat服务器基本步骤(完整版)
SpringBoot-项目部署
SpringBoot项目部署可以通过将项目打成可执行的jar包或war包来实现,也可以使用容器化技术如Docker将项目部署到云平台中。在部署时需要注意配置文件的位置和启动参数的设置,同时确保目标环境中的Java版本与项目所需的Java版本一致。部署完成后,可以通过访问项目的URL或监控端点来进行访问和管理。
Damon小智
2024/02/03
3490
SpringBoot-项目部署
web项目部署,需要的来看
原本服务器上tomcat部署了一个javaweb项目在80端口,这次要部署另一个javaweb项目在8090端口,或者同时部署在同一端口不同目录下。
天道Vax的时间宝藏
2021/08/11
6280
Spring Boot项目打包部署,打Jar包和War包有什么区别?
部署 Spring Boot 项目可以采用多种方式,下面是常用的几种部署方式,同学们可以简单做一个了解。
Designer 小郑
2024/01/25
3.1K0
Spring Boot项目打包部署,打Jar包和War包有什么区别?
javaWeb idea学习笔记(一)tomcat
<Connector port="8080" protocol="HTTP/1.1"
逆回十六夜
2020/01/31
6130
推荐阅读
相关推荐
如何把JavaWeb项目部署到服务器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档