Java技术栈 —— 如何把项目部署到公网?

如何把项目部署到公网?

  • 一、准备工作
    • 1.1 获得一台云服务器
    • 1.2 安装SSH客户端
  • 二、云服务器部署
    • 2.1 配置云服务器
    • 2.2 使用nginx部署1个或多个前端项目
  • 三、访问测试
  • 四、访问控制

平常大部分人都是本地写写项目,然后通过localhost的方式去访问,很少尝试把项目部署到公网的云服务器上将项目去交给大多数人使用,本文就来实践这个过程。

一、准备工作

1.1 获得一台云服务器

首先你要有一台可以在公网访问的云服务器。可以用阿里云,虽然阿里云出过几次 “降本增笑” 的事情,但目前为止,还不妨碍我们使用它,至少我认为对于个体开发者暂时无关紧要,有免费的羊毛要懂得薅一薅。
在这里插入图片描述
薅也是要有限度的,不能薅的太过,流量超标使用还是要出点小钱的。
在这里插入图片描述

1.1 参考文章或视频链接
[1] ESC —— 阿里云官网

1.2 安装SSH客户端

你可以根据自己的喜好来,Windows下比较常用的是XShell、XFTP,我是Ubuntu,使用的是Aechoterm,这款软件是国产化信创的一个产物,从界面和使用便捷性来说,还比较好用,希望在开源上面能更努把力,不仅仅是在易用性上下功夫,在获取程序员的信任方面也得下功夫。
在这里插入图片描述

1.2 参考文章或视频链接
[1] 《26个开源免费又好用的SSH客户端工具》—— CSDN
[2] Aechoterm —— 官网

二、云服务器部署

2.1 配置云服务器

安装好SSH客户端后,就要连接到云服务器上开始项目部署了,我这个项目需要安装MySql5或8nodejsjdk17软件,具体安装过程见参考文章[2]的末尾,依赖的软件部署好了后就上传自己的前后端项目即可。

PS:享受到了云服务器的便利后,我也有对云服务器付费的一种需要了,只要这台云服务器的年费不是特别夸张,云服务器厂商在这点上迎合了用户需求。

参考文章
[1] 《部署项目到云服务器》- CSDN
[2] 《二、电脑装机实践》- CSDN
[3] 《Nginx服务器出现500(Internal Server Error)错误的原因及解决方法》- CSDN

2.2 使用nginx部署1个或多个前端项目

参考文章
[1] 《简单的利用nginx部署前端项目》- CSDN
[2] 《使用nginx部署多个前端项目》- CSDN
[3] 《前端Vue项目打包部署实战教程》- 知乎
[4] Nginx – static file serving confusion with root & alias - StackOverFlow

三、访问测试

网络与安全—安全组—管理规则 中,添加你要从外部访问的端口规则,对于ECS来说,你添加的规则应该是入方向的规则,然后我们从外部去telnet下,看下是否是通的。

telnet ip port

如果上述命令出现以下问题,直接看文章[2]解决

telnet: Unable to connect to remote host: Connection refused

然后我遇到了一个百思不得其解的问题,我部署上去的vue项目,在用http-server执行dist文件夹的时候,出现了一个404,但我第一次明明可以访问的,原因其实和路由有关系,

三、参考文章
[1] 《linux ufw与firewalld防火墙问题产生端口或外网访问ip失败》- CSDN
[2] 阿里云服务器安全组开放指定端口无法访问问题记录 - 阿里云
[3] Vue项目服务器部署刷新页面404问题及解决 - CSDN

四、访问控制

如果不加以限制的话,因为访问流量是要费用的,某些攻击可能把你的钱包掏空,因此需要做一些特定访问的限流操作。
@TODO

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/955457.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

春秋杯-WEB

SSTI 可以看到主页那里有个登录测试之后为ssti {{4*4}} fenjing梭哈即可得到payload {{((g.pop.__globals__.__builtins__.__import__(os)).popen(cat flag)).read()}}file_copy 看到题目名字为file_copy, 当输入路径时会返回目标文件的大小, 通…

基于微信小程序教学辅助系统设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

项目开发实践——基于SpringBoot+Vue3实现的在线考试系统(六)

文章目录 一、考试管理模块实现1、添加考试功能实现1.1 页面设计1.2 前端功能实现1.3 后端功能实现1.4 效果展示2、考试管理功能实现2.1 页面设计2.2 前端功能实现2.3 后端功能实现2.3.1 后端查询接口实现2.3.2 后端编辑接口实现2.3.3 后端删除接口实现2.4 效果展示二、代码下载…

计算机网络 (43)万维网WWW

前言 万维网(World Wide Web,WWW)是Internet上集文本、声音、动画、视频等多种媒体信息于一身的信息服务系统。 一、基本概念与组成 定义:万维网是一个分布式、联机式的信息存储空间,通过超文本链接的方式将分散的信息…

如何学习数学 | 数学家如何思考

学习数学的关键在哪里? 原创 遇见数学 不少人面对数学都会觉得高深莫测,甚至非常枯燥乏味。 只有当你真正走入它的世界,才会发现里面蕴含着无尽的智慧和美感。要想推开这座数学的大门,需要的不仅仅是背公式,或者做一…

【Python通过UDP协议传输视频数据】(界面识别)

提示:界面识别项目 前言 随着网络通信技术的发展,视频数据的实时传输在各种场景中得到了广泛应用。UDP(User Datagram Protocol)作为一种无连接的协议,凭借其低延迟、高效率的特性,在实时性要求较高的视频…

ZNS SSD垃圾回收优化方案解读-2

四、Brick-ZNS 关键设计机制解析 Brick-ZNS 作为一种创新的 ZNS SSD 设计,聚焦于解决传统 ZNS SSDs 在垃圾回收(GC)过程中的数据迁移低效问题,其核心特色为存储内数据迁移与地址重映射功能。在应用场景中,针对如 Rock…

当PHP遇上区块链:一场奇妙的技术之旅

PHP 与区块链的邂逅 在技术的广袤宇宙中,区块链技术如同一颗耀眼的新星,以其去中心化、不可篡改、透明等特性,掀起了一场席卷全球的变革浪潮。众多开发者怀揣着对新技术的热忱与探索精神,纷纷投身于区块链开发的领域,试…

【原创】大数据治理入门(10)《数据资产化:从数据到价值》入门必看 高赞实用

数据资产化:从数据到价值 引言:数据资产化的概念 数据资产化(Data Monetization)是指将企业内部的各种数据转化为有价值的资产,通过数据的应用和分析提升企业的运营效率、降低成本、增加收入和优化决策。在大数据时代…

5-1 创建和打包AXI Interface IP

创建和打包AXI Interface IP的前流程和后流程 step 1 : 选择类型 1: 将当前的工程打包成IP 2: 将当前的BD工程打包成IP 3: 将指定的源码打包成IP 4: 创建一个新的AXI 接口IP 其中3和4是比较常用的,本次…

一文简要了解为什么需要RAG、核心原理与应用场景

欢迎来到AI应用探索,这里专注于探索AI应用。 一、为什么需要RAG,它解决了哪些问题 在自然语言处理领域,生成式预训练模型(如GPT)已经展示了强大的文本生成能力。然而,这些模型有以下局限性: 知…

很简单的K8s集群部署方法-KubeKey自动化部署

K8s集群部署方法-KubeKey自动化部署 文章后续KubeSphere部署安装,接入KubeKey安装的k8s集群 文章目录 K8s集群部署方法-KubeKey自动化部署 一.清理kubeadm安装的k8s集群缓存二.服务器安装前准备1.设置主机名2.配置时间同步3.关闭系统防火墙4.安装系统依赖5.关闭swap…

Linux之文件系统前世今生(一)

Linux在线1 Linux在线2 一、 基本概念 1.1 块(Block) 在计算机存储之图解机械硬盘这篇文章中我们提到过,磁盘读写的最小单位是扇区,也就是 512 Byte;很明显,每次读写的效率非常低。 为了提高IO效率&…

.netframwork模拟启动webapi服务并编写对应api接口

在.NET Framework环境中模拟启动Web服务,可以使用几种不同的方法。一个常见的选择是利用HttpListener类来创建一个简单的HTTP服务器,或者使用Owin/Katana库来自托管ASP.NET Web API或MVC应用。下面简要介绍Owin/Katana示例代码。这种方法更加灵活&#x…

【0x0052】HCI_Write_Extended_Inquiry_Response命令详解

目录 一、命令概述 二、命令格式及参数 2.1. HCI_Write_Extended_Inquiry_Response命令格式 2.2. FEC_Required 2.3. Extended_Inquiry_Response 三、生成事件及参数 3.1. HCI_Command_Complete 事件 3.2. Status 四、命令执行流程 4.1. 命令准备阶段(主机端) 4.2…

qt vs ios开发应用环境搭建和上架商店的记录

qt 下载链接如下 https://download.qt.io/new_archive/qt/5.14/5.14.2/qt-opensource-mac-x64-5.14.2.dmg 安装选项全勾选就行,这里特别说明下qt5.14.2/qml qt5.14.2对qml支持还算成熟,但很多特性还得qt6才行,这里用qt5.14.2主要是考虑到服…

Mockito+PowerMock+Junit单元测试

一、单元测试用途 1、日常开发团队要求规范,需要对开发需求代码进行单元测试并要求行覆盖率达到要求,DevOps流水线也会开设相关门禁阀值阻断代码提交,一般新增代码行覆盖率80%左右。 二、Mock测试介绍 1、Mock是为了解决不同的单元之间由于…

candb++ windows11运行报错,找不到mfc140.dll

解决问题记录 mfc140.dll下载 注意:放置位置别搞错了

【Spring Boot】Spring AOP 快速上手指南:开启面向切面编程新旅程

前言 ???本期讲解关于spring aop的入门介绍~~~ ??感兴趣的小伙伴看一看小编主页:-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.AOP概述 1.1什么是AOP ?1.2什么是Spring AOP ???2.Spring AOP入…

(01)STM32—GPIO

1. GPIO简介 GPIO(General Purpose Input Output)通用输入输出端口。可配置为8种输入输出模式。引脚电平:0V~3.3V,部分引脚可容忍5V。输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时…