[经验] 如何将 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项目->发布
随机推荐
- 8.10-Day2T2 吃喝大法好
题目大意 略... 题解 开始两个人一定是一个向右走一个向下走,向右走的人最终会走到(n-1,m),向下走的人一定会走到(n,m-1). 那么不考虑重复的话总的路径数就是从(1,2)到(n-1,m)的 ...
- sql 中联合查询语句
在查询语句中 两张表进行查询,可以通过 left join (左连接查询) :返回左表中的所有记录和右表中联结字段相等的记录 (意思就是左表中的数据会全部显示,右表中只会显示和左表中相等的字段) r ...
- js实现上移下移
直接上代码 //上移 var $up = $(".up") $up.click(function () { var $tr = $(this).parents("tr&q ...
- 排序算法之归并排序的python实现
采用分治法: 分割:递归地把当前序列平均分割成两半. 集成:在保持元素顺序的同时将上一步得到的子序列集成到一起(归并). 归并操作(归并算法),指的是将两个已经排序的序列合并成一个序列的操作.归并排序 ...
- linux 配置IPSAN存储
一 SAN存储 1.1 SAN存储介绍 存储区域网络(Storage Area Network,简称SAN)采用网状通道(Fibre Channel ,简称FC,区别与Fiber Channel光纤通 ...
- LAMP源码编译
---恢复内容开始--- 1.LAMP源码编译的基础环境 安装组建包:yum groupinstall "Development Tools" "Development ...
- JavaScript 实现单例模式的两种方式
单例模式: 要求一个类只有一个实例化对象存在 这个实例化对象必须提供一个全局对外访问方式 这个实例化对象应当是私有的,不能被外界直接访问或者更改 方式1 get实现 唯一实例化:判断这个对象是否存在, ...
- Map-HashMap 与 IF 判断内存占用对比
HashMap与IF判断内存占用对比,事实证明,Map对象在以下情况确实比IF判断占用内存低. HashMap占用内存:13000 package com.taiping.bky; import ja ...
- 【原】django实现列表分页功能
在view.py里添加分页查询方法: from django.http import JsonResponse from django.views.decorators.http import req ...
- codeforces Beautiful Numbers
来源:http://codeforces.com/problemset/problem/1265/B B. Beautiful Numbers You are given a permutat ...