java项目部署到linux服务器,微信小程序后台springboot项目部署到腾讯云服务器(图文详解)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介: java项目部署到linux服务器,微信小程序后台springboot项目部署到腾讯云服务器(图文详解)

前面给大家讲了一个点餐系统的开发,包括java点餐后台和微信点餐小程序。可是都是教大家如何在本地把项目跑起来。今天就来教大家如何把这个点餐系统部署到服务器,实现商用。


传送门


点餐系统的开发,java后台+微信小程序:https://blog.csdn.net/qiushi_1990/article/details/97749686


本节知识点


  • 1,使用springboot开发java项目
  • 2,小程序后台的开发
  • 3,小程序后台部署到服务器
  • 4,java项目部署到服务器
  • 5,springboot项目部署到服务器


准备工作


  • 1,需要购买一台腾讯云服务器
  • 2,需要开发一个springboot后台项目
  • 3,需要购买一个域名,并做备案。
  • 4,需要配置你的服务器环境 jdk,mysql(下面会做讲解)

我们默认你上面的准备工作都做好了,下面我们就来开始学习把后台项目部署到服务器,让所有人都可以访问到你的服务器。


一,首先创建一个springboot(java项目)


1,创建springboot项目,选用jdk1.8

2,填写包名,选择配置,这些保持默认即可

3,添加一些项目依赖,使用最新springboot版本2.1.7

4,项目名,项目目录设置。可以保持默认

5,导入依赖,下面两种方式都可以。

6,实现一个简单的后台数据接口

如果上面这些简单的创建一个项目的步骤你不是很懂,可以看下我录制的java零基础视频:https://edu.csdn.net/course/detail/23443


7,本地运行项目

725bcadf0630a6406c65ff796b395fc0.jpg

8,运行成功的标示,在run里看到控制台日志显示项目端口是 8080
9,浏览器里访问本地项目,查看访问效果。可以看到我们成功的访问到了后台数据。

二,项目打包


上面给大家演示的是在idea开发者工具里启动的项目,我们正常部署服务器的时候,肯定不会有开发者工具的,所以我们接下来要先学会项目打包,然后在本地通过命令行的方式运行后台项目。

  • 1,项目打包
  • 2,打包成功
  • 3,修改jar的名字(也可以不改名字,我是觉得这个jar名字太长,所以改一个短的)
    我这里改名为qcl80.jar 建议大家也改成这个名字,因为后面运行脚本里用的就是qcl80这个名字,大家和我保持一致,省得出问题。
  • 019cd26c10d4ca4186e72308f4972088.png

三,命令行运行jar包


1,把上面的qcl80.jar这个文件拖动到我们的项目里,并打开idea自带的命令行

2,命令行里输入 ls

3,命令行里输入   java -jar qcl80.jar  

注意:如果你这里提示java命令不存在,你需要配置下java的环境变量。这里不做讲解,自己百度下 ‘java 环境变量’ 就可以找到一大堆教程。


  • 4,输入上面命令后,回车键,即可启动项目
    这时候再去浏览器里访问,还是可以访问到的

四,服务器环境的登录


我们前面三步,都是在自己的本地电脑启动的后台项目,这样我们只能在自己的电脑浏览器访问到,别人是访问不到的,如果想让别人访问,就需要把我的qcl80.jar这个文件传到服务器上,并且在服务器上通过命令行启动这个java项目,这样别人才可以访问到


所以我们接下来要讲服务器环境的搭建。


  • 1,首先我们要买一台云服务器(推荐阿里云或者腾讯云)
  • 2,买完服务器后我们登录服务器后台,这里以腾讯云为例。
  • 3,点击登录
    重置密码方式
  • 4,输入实例的账号和密码,登录linux服务器
  • 5,登录成功
  • 0996f39a78afc4491e9009208f362641.jpg
  • 大家不要看到一堆命令行,就头疼,我接下来会教大家如何一步步配置服务器环境的。大家只需要跟着我的步骤,一步步来就可以了。

五,linux服务器安装jdk


  • 1,采用yum安装jdk1.8,非常简单
yum search java|grep jdk            查看yum库中jdk的版本

yum -y  install java-1.8.0-openjdk*    安装jdk8

耐心的等待jdk的安装,大概2分钟左右,出现下面标志,即代表安装成功

2,检查jdk是否安装成功
命令行里输入 java -version 出现下面标示,可以看到我们的jdk版本 1.8.0_222


六,上传jar包到服务器


我们第五步已经在linux服务器上成功的安装了jdk,接下来就是要想办法把qcl80.jar传到服务器了。可能有同学要问了,你部署服务器,不要在linux服务器里安装tomcat吗,其实我们用springboot开发出来的jar包,已经有内置的tomcat了。所以我们不用再部署tomcat了,只需要把qcl80.jar这个文件上传到服务器,然后用java命令启动即可。

我们上传文件到Linux服务器用下面这个软件

你只需要去百度下你电脑对应系统的安装包,安装即可。具体怎么安装这里就不教大家了。


下面教下大家如何使用FileZilla上传文件到服务器。

1,打开FileZilla软件, 链接服务器

2,去服务器根目录看看

3,上传文件到home文件里,如果在父亲根目录没有home文件,可以自己新建。

到这里我们就成功的上传qcl80.jar到服务器了。下面就教大家如何在服务器里启动我们的项目。


七,在服务器里启动java后台项目


1,首先重复上面第四步登录服务器。然后在服务器里输入

cd..    #用来返回服务器根目录 
ls      #显示当前根目录有那些文件

cd home     #进入home文件
ls          #显示home文件里都有那些子文件,可以看到我们的qcl80.jar

2,启动java项目

java -jar qcl80.jar

3,项目启动成功,出现下面的标示,即代表项目启动成功

4,访问我们服务器的项目

通过上图可以看到,我们通过公网ip+8080端口,可以成功的访问到我们服务器的数据了。

我们再用手机浏览器试试

可以看到我们在手机浏览器里也可以访问到后台数据了。你把上面的这个网址发给你朋友,你朋友应该也可以访问到数据了。
到这里我们就成功的把一个java项目部署到服务器,并成功的可以让任何人访问了,但是有个问题,你用公网ip做域名,很容易被封的,基本上能成功访问几次以后,就会被拒绝访问了

所以我们接下来还要讲解如何通过域名访问我们的服务器

我会把这些录制成视频来给大家做讲解,

讲解视频地址:https://study.163.com/course/courseMain.htm?courseId=1209428915


八,服务器绑定域名


我们在做域名绑定之前,需要你先自己去注册一个域名,比如我注册的域名是:“www.saibanmall.com”,我这里还是以腾讯云为例

1,登录腾讯云后台,找到自己的域名列表,点击解析

2,添加解析规则

3,绑定自己服务器的公网ip到解析规则

4,我们主要设置下面两个解析规则

这样把我们服务器公网ip和域名绑定以后,就可以通过域名访问我们的服务器了,效果如下。



再来看下手机浏览器访问的效果

还有我们小程序访问的效果。



到这里我们就成功的部署好我的后台服务器了,但是还有几个问题

1,小程序上线的话需要https请求,所以我们后面还会讲我们的服务器如何支持https

2,我们通过java -jar qcl80.jar部署的java项目,不能后台运行。所以我们后面还会讲如何让我们的java项目常驻后台运行。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1天前
|
JavaScript Java 测试技术
基于Java+SpringBoot+Vue实现的车辆充电桩系统设计与实现(系统源码+文档+部署讲解等)
面向大学生毕业选题、开题、任务书、程序设计开发、论文辅导提供一站式服务。主要服务:程序设计开发、代码修改、成品部署、支持定制、论文辅导,助力毕设!
22 6
|
5天前
|
Java 应用服务中间件 API
【潜意识Java】javaee中的SpringBoot在Java 开发中的应用与详细分析
本文介绍了 Spring Boot 的核心概念和使用场景,并通过一个实战项目演示了如何构建一个简单的 RESTful API。
23 5
|
5天前
|
前端开发 Java 数据库连接
Java后端开发-使用springboot进行Mybatis连接数据库步骤
本文介绍了使用Java和IDEA进行数据库操作的详细步骤,涵盖从数据库准备到测试类编写及运行的全过程。主要内容包括: 1. **数据库准备**:创建数据库和表。 2. **查询数据库**:验证数据库是否可用。 3. **IDEA代码配置**:构建实体类并配置数据库连接。 4. **测试类编写**:编写并运行测试类以确保一切正常。
19 2
|
5天前
|
监控 Java API
【潜意识Java】使用SpringBoot构建高效的RESTfulAPI
本文介绍了使用Spring Boot构建RESTful API的完整流程,涵盖从项目创建到API测试的各个步骤。
26 1
|
19天前
|
监控 Java
java异步判断线程池所有任务是否执行完
通过上述步骤,您可以在Java中实现异步判断线程池所有任务是否执行完毕。这种方法使用了 `CompletionService`来监控任务的完成情况,并通过一个独立线程异步检查所有任务的执行状态。这种设计不仅简洁高效,还能确保在大量任务处理时程序的稳定性和可维护性。希望本文能为您的开发工作提供实用的指导和帮助。
82 17
|
30天前
|
Java
Java—多线程实现生产消费者
本文介绍了多线程实现生产消费者模式的三个版本。Version1包含四个类:`Producer`(生产者)、`Consumer`(消费者)、`Resource`(公共资源)和`TestMain`(测试类)。通过`synchronized`和`wait/notify`机制控制线程同步,但存在多个生产者或消费者时可能出现多次生产和消费的问题。 Version2将`if`改为`while`,解决了多次生产和消费的问题,但仍可能因`notify()`随机唤醒线程而导致死锁。因此,引入了`notifyAll()`来唤醒所有等待线程,但这会带来性能问题。
Java—多线程实现生产消费者
|
15天前
|
缓存 安全 算法
Java 多线程 面试题
Java 多线程 相关基础面试题
|
1月前
|
安全 Java Kotlin
Java多线程——synchronized、volatile 保障可见性
Java多线程中,`synchronized` 和 `volatile` 关键字用于保障可见性。`synchronized` 保证原子性、可见性和有序性,通过锁机制确保线程安全;`volatile` 仅保证可见性和有序性,不保证原子性。代码示例展示了如何使用 `synchronized` 和 `volatile` 解决主线程无法感知子线程修改共享变量的问题。总结:`volatile` 确保不同线程对共享变量操作的可见性,使一个线程修改后,其他线程能立即看到最新值。
|
1月前
|
消息中间件 缓存 安全
Java多线程是什么
Java多线程简介:本文介绍了Java中常见的线程池类型,包括`newCachedThreadPool`(适用于短期异步任务)、`newFixedThreadPool`(适用于固定数量的长期任务)、`newScheduledThreadPool`(支持定时和周期性任务)以及`newSingleThreadExecutor`(保证任务顺序执行)。同时,文章还讲解了Java中的锁机制,如`synchronized`关键字、CAS操作及其实现方式,并详细描述了可重入锁`ReentrantLock`和读写锁`ReadWriteLock`的工作原理与应用场景。
|
1月前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
60 3