[经验] 如何将 Java 项目发布到云服务器上并可以访问
环境:
云服务器 Linux centos7.6
1: 安装 Tomcat (apache-tomcat-9.0.26.tar.gz)
下载压缩包 --> 通过SSH上传到云服务器 --> 移动到 /usr/local 目录下 --> 解压, 然后将解压后的文件夹名改为 tomcat --> 完成
关于如何连接 ssh: https://www.cnblogs.com/unityworld/p/11182616.html
2: 创建一个 Java 项目
(1) 用 IDEA 创建一个 SpringBoot 项目
(2) 创建一个 数据访问接口
/***
* @Description //TODO 提供测试功能的数据接口 $
* @Author ----> 苍之弦
* @Data ----> Create in 2019/10/29 0029 17:52
*/
@Controller
@RequestMapping("test")
public class TestController {
private static Logger LOGGER = LoggerFactory.getLogger(TestController.class); @RequestMapping(value = "test", method = RequestMethod.GET, produces = "applications/json;charset=UTF-8")
public String test(){
return "hello Linux user!";
}
}
(3) 将项目打包
先看看 pom.xml 的配置, 这里只贴出构建项目相关的模块, 其他部分不做展示, 自行调整
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.</modelVersion> <!-- 项目父依赖 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1..RELEASE</version>
<relativePath/>
</parent> <!-- build项目配置 -->
<groupId>cn</groupId>
<artifactId>server</artifactId>
<version>1.0.-SNAPSHOT</version>
<packaging>war</packaging> <---------- 这里是设置包的类型, 至于是 jar包, 还是 war包, 看项目需要吧, 不过这里我使用的是 war包 <!-- 项目构建配置 -->
<build>
<finalName>[这里写你希望打包的包名]</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
然后开始构建包

先点击第一步的按钮, 等下方的控制台上出现 build success 的时候就可以开始第二步了, 点击第二步, 等个几十秒, 打包完成后去项目文件目录下找到 target 文件夹, 项目打好的包就在这里, 当然上面的步骤是可以忽略不计的, 因为会的应该也会, 不会的应该也还没到这一步,找到 ***.war 文件, 通过 ssh 工具上传到 /usr/local/tomcat/webapp 目录下
cd /use/local/tomcat/bin 进入 bin目录
./startup.sh 启动 Tomcat 服务器
在不对 Tomcat 的配置进行任何修改的情况下, 在浏览器的地址栏输入接口地址
http://[服务器公网IP地址]:8080/[项目名称]/test/test
项目名称就是 war 包在 webapp 目录下解压后的文件夹的名称, 后面的第一个 test 是控制器的映射名称, 第二个 test 是函数的映射名称, 输入这个地址的意思就是访问相应服务器地址下的某个项目的某个接口里的某个函数

访问成功, 如果没成功的话, 用SSH连接服务器操作一下, 需要 ROOT 权限哦
firewall-cmd --zone=public --add-port=/tcp --permanent 开启 Tomcat 的 8080 端口
firewall-cmd --reload 重启 防火墙
firewall-cmd --zone=public --query-port=8080/tcp 检查 8080 端口是否开启成功
[经验] 如何将 Java 项目发布到云服务器上并可以访问的更多相关文章
- java项目发布到linux服务器,tomcat正常启动但没加载项目
问题描述: java项目发布到linux服务器,一切操作正确,linux命令启动tomcat后,查看日志启动tomcat正常,上传的war包已经解压成功,但是tomcat没加载项目. 解决方法: 1. ...
- JAVA项目部署到云服务器
转自:(此处更详细)http://blog.csdn.net/gulu_gulu_jp/article/details/50994003 一.前言 前面我们已经尝过了在云服务器上部署代码的甜头了,现在 ...
- 部署Java项目到阿里云服务器(Ubuntu16.04 64位)
生成Jar包 1.进入到项目所在的路径下,打开cmd命令控制台,使用如下命令打包项目. mvn package --前提将项目中使用的maven配置到系统的环境变量中 2.打包完成的jar包在项目目录 ...
- 部署java项目到阿里云服务器(centos7版本)
一.搭建环境 1.搭建java环境(64位) 一.准备压缩包,rpm包或者tar包,将其上传到阿里云对应的文件夹(我用的工具是WinSCP,百度一下就有下载资源) 二.若是rpm包,可以通过 rpm ...
- vue3+node全栈项目部署到云服务器
一.前言 最近在B站学习了一下全栈开发,使用到的技术栈是Vue+Element+Express+MongoDB,为了让自己学的第一个全栈项目落地,于是想着把该项目部署到阿里云服务器.经过网上一番搜索和 ...
- 将web项目部署到阿里云服务器上
一.用eclipse将写好的项目打成war包 1.右键点击项目,选择Export 选择打包之后的路径,点击Finsh. 2.购买阿里云服务器 按下图选择 3.设置云服务器防火墙 4.远程连接云服务器 ...
- 怎样将本地web项目部署到腾讯云服务器上?
怎样将本地web项目部署到腾讯云服务器上? 1.本地计算机的工作: (1).用eclipse新建一个web项目,然后在webcontent下新建一个index.html,然后在本地部署到Tomcat服 ...
- 群晖下 gitea+drone+harbor实现CI/CD 发布到云服务器
常用命令 sudo -i然后输入密码登录root账户(群晖默认只能使用admin账号登陆) vim xxx编辑(编辑是进去之后按i,退出并保存是按esc,然后:wq!再回车) mkdir xx创建文件 ...
- 本地MVC项目发布到IIS服务器
0瞎扯 朋友们有时候我们写个一个web程序只能使用卡西尼服务器调试,下面我教大家发布到IIS服务器上(包括本地ISS7.5和远程服务器 IIS) 1.VS发布 a.点击web项目->发布
随机推荐
- Django Auth组件->扩展用户
Auth用户 1.声明用户表 djangauth/settings.py..............................AUTH_USER_MODEL = 'app01.UserInfo' ...
- C++之Boost准标准库配置
下载安装 进入官网下载地址:https://www.boost.org/users/download/ 本教程直接下载官方已编译库,不涉及源代码手动编译 点击官方编号好的链接,然后进入一个下载地址:h ...
- Form DataGridView绑定BindingSource的几种方式
本文链接:https://blog.csdn.net/qq_15138169/article/details/83341076 在WinForm的开发中,ListView和DataGridView应用 ...
- Codeforces Round #618 (Div. 1)A(观察规律)
实际上函数值为x&(-y) 答案仅和第一个数字放谁有关 #define HAVE_STRUCT_TIMESPEC #include <bits/stdc++.h> using na ...
- 陆金所退出市场,我说:趁现在,抓紧离开P2P市场,你赞同吗?
编辑 | 于斌 出品 | 于见(mpyujian) 18日,也就是前天,陆金所退出P2P市场的消息就像颗"重磅炸弹"一样,一波激起千层浪,陆金所作为全国最大财富平台之一,这次退出, ...
- Linux双网卡bond、起子接口
适用场景 服务器两张网卡需要做bond,并且bond后网卡需配置不同网段的地址,用于走不同流量,这个时候就可以采用起子接口的方式. 实验场景 设备 服务器:Server_A 核心交换机:Switch_ ...
- Dart语言学习(七)Dart Map类型
映射(Maps)是无序的键值对: 常用属性: keys 获取所有的key值 values 获取所有的value值 isEmpty 是否为空 isNotEmpty 是否不为空 常用方法: remove( ...
- Django跨域:
下包 pip install django-cors-headers 下面的操作在setting里 添加到appps里 INSTALLED_APPS = [ ... 'corsheaders', .. ...
- 获取表格数据转换为JSON字符串
核心代码JavaScript代码: 方法一 function sc () { var myTable=document.getElementById("myTable"); //获 ...
- 攻防世界 robots题
来自攻防世界 robots [原理] robots.txt是搜索引擎中访问网站的时候要查看的第一个文件.当一个搜索蜘蛛访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在, ...