java的Web项目网站部署到服务器(半天搞懂)

1 公网ip和私网ip

1.1 访问网站流程步骤DNS域名解析

当我们打开浏览器,输入自己想要的网站,我们需要的一切都展示在我们面前,我们有没有想过,这一切是怎么发生的?
首先当你输入一个网站的时候,你的浏览器会先通过域名,来查找它所对应的ip地址,因为域名是用来让人看得,而机器只能看IP地址。

我们会借助一个服务器,专业名词叫做DNS。那么什么是DNS?
Dns属于互联网的一个公用的服务,专门用来帮助我们去查找域名背后的ip地址。实际上,我们注册域名的时候,你的域名去哪里了?持久化哪里?当然域名会保存在dns服务器上,这样,需要去查询域名信息的时候,dns就发挥了作用,它会告诉你你要找的网站的地址是什么。

连接
假设是一个正常的请求,并且服务器资源够用,服务器也会给你返回一个包,告诉你,你可以连我了。然后浏览器收到这个包,然后发送自己的确认包。

响应
完成建立连接请求,客户端和服务器之间可以正常传送数据,服务器根据你的数据请求体和请求头解析你需要什么东西,也许是一个文件,也许是数据库里的数据。服务器发送给浏览器这个过程,我们称它为响应。

解析
浏览器解析返回的信息,拆解浏览器需要的东西,并且把这些信息不直接展示出来,比如你收到的json数据包,普通用户是看不懂得,这个时候,你需要用js,css,html把它解析出在页面当中可以展示的各种数据

技术背后的故事,当我们访问网站时,到底发生了什么

1.2 公网ip和私网ip

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们平时用的手机电脑都是私网ip,请求消息时通过路由转换为公网ip,然后访问百度,百度返回给路由器,路由器再返回给私网ip。
如果我们在自己电脑的私网ip搭建服务器,只有你私网的人可以访问到,因为你的ip只有在私网里能找到。外部有人访问你的ip地址,找不到这个ip,因为公网中没有这个ip,网络就找不到。所以我们自己的电脑可以上网,但是不能搭建网站共别人访问。

ip4不能共每个设备都有1个公有ip,但是ip6可以使每个设备都有1个公有ip,所以ip6技术发展好每个人的设备都可以有公网ip,目前不能有公网ip的原因就是ip4地址太少,造成资源不够大家分造成的。

公网ip和私网ip有什么区别 - 科问吧

下面是ip的一些基础知识

公网、内网是两种Internet的接入方式。公网接入方式:上网的计算机得到的IP地址是Internet上的非保留地址,公网的计算机和Internet上的其他计算机可随意互相访问。

A类:1.0.0.0 到 127.255.255.255主要分配 给大量主机而局域网网络数量较少的大型网络

B类:128.0.0.0 到191.255.255.255 一般用于国际性大公司和政府机构

C类:192.0.0.0 到223.255.255.255 用于一般小公司校园网研究机构等

D类:224.0.0.0 到 239.255.255.255 用于特殊用途,又称做广播地址

E类:240.0.0.0 到255.255.255.255 暂时保留

以上各类地址中有以下做为私用地址

A类:10.0.0.0 到 10.255.255.255

B类:172.16.0.0 到172.31.255.255

C类:192.168.0.0 到192.168.255.255

其中127.0.0.0 到127.255.255.255 为系统回环地址

1.2.1 云服务器自动配有公网ip

怎么申请公网ip(固定ip)?
可以去各大服务器供应商那进行申请服务器

1比如阿里云、腾讯云、易云等。

2选中服务器配置,确认协议。

3服务器部署成功后,服务器运营商会给你一个公网的IP地址和私网的IP地址,公网的可以在外部网络进行访问,私网是内部网络访问。

1.2.2 服务器配置的公网ip

DHCP (Dynamic Host Configuration Protocol) 动态主机设置协议,用于动态分配 IP 地址,以节省有限的 IP 地址资源。

首先有一台 DHCP 服务器等待响应 IP 地址申请,此服务器存储一批有效的 IP 地址以供分配。一旦收到申请 DHCP 服务器会给合法请求方分配一个 IP 地址,此 IP 地址是有有效期的,默认值 3 天。默认状态下,在有效期过半的时候,客户机需要重新提交申请已延期。如果此时 DHCP 服务器宕机,客户机仍然有一半的时间等待服务器的恢复。

当客户机正常关机 DHCP 服务器会将 IP 地址收回,若因各种原因客户机中断网络连接且在有效期内未恢复连接,DHCP 服务器会在 IP 失效后将 IP 地址收回。这样就实现了 IP 多机共享,也就是问题中提到的使用动态 IP 地址。

通常 DHCP 服务器会记录客户机的物理地址,即MAC 地址(Media Access Control ),这是每一块网卡的全球唯一地址,客户机就是通过提交自己的 MAC 地址来申请 IP 地址的。若下一次同样的 MAC 地址提交 IP 地址申请,服务器会尽量分配同上次相同的 IP 地址,前提是此 IP 地址尚未分配给其它客户机。

使用 DHCP 的原则是,同一时间在线的客户机不能超过有效 IP 地址的数目

1.2.3 私人服务器如何申请公网ip?

现在大部分地区已经有IPv6了,这个完全可以实现远程访问了。只需要找装猫的师傅把光猫换成桥接模式,下面的设备就可以公网访问了。

如果是IPv4可能只能找运营商办专线,家庭宽带现在都不给公网了。

如果只是玩玩,不想麻烦,建议用Ngork/Frp之类的内网穿透。

NAT(Network Address Translation)是网络地址转换,它实现局域网的IP地址与广域网的地址之间的相互转换,将广域网IP地址转换为大量的局域网IP地址,减少对公网IP地址的占用。

NAT的最典型应用是:在一个局域网内,只需要一台计算机连接上Internet,就可以利用NAT共享Internet连接,使局域网内其他计算机也可以上网。

使用NAT协议,局域网内的计算机可以访问Internet上的计算机,但Internet上的计算机无法访问局域网内的计算机。

服务器配置公网ip(服务器怎么设置公网)-维启网络

1.3 访问网站时有时候不用写端口号

一般80作为网页服务器的访问端口,是http协议的默认端口,在输入网站的时候其实浏览器(非IE)已经帮你输入协议了。
在这里插入图片描述

2 Web项目部署发布(半小时搞懂)

Web项目部署到云服务器上和你在你电脑上一样,就是先在服务器上配置到jdk,tomcat等环境,然后直接启动编好的项目就行了。我们本地用localhost访问,云服务器用公网ip访问。

所有JAVAWeb项目部署都是下面3步:
在这里插入图片描述

案例1:Web项目(Vue)部署到阿里云服务器【超详细,Windows版】

案例2:阿里云部署Java Web项目详细教程_Hejincheng9的博客-CSDN博客

案例3:怎么样可以把Java web项目部署到阿里云服务器上_m0_63984008的博客-CSDN博客

案例4: JavaWeb项目部署上线操作过程(云服务器+宝塔面板+Tomcat)_Jeff_Xxxx的博客-CSDN博客_web项目如何部署上线

3 Java的SpringBoot项目部署发布

案例1: springboot项目部署到阿里云实战_trainsun的博客-CSDN博客_abcputty部署springboot

4 个人实现部署的案例(非常简单)

部署服务器程序非常简单,只需4步:

  1. 购买有公网ip的云服务器,阿里云腾讯云都可以;
  2. 安装jdk软件;
  3. 把jar包和资源通过xshell和xftp传到云服务器的linux系统中;
  4. 然后启动jar包开启服务器就可以访问了。

整个过程和我们本地是一样的,对于普通的web程序有两种运行的方式:

  1. java -jar的命令运行jar包
  2. 直接运行云服务器上linux系统中的idea也可以运行程序。

实际上没有啥深奥的奥秘,就是启动这个程序,然后监听端口,返回指定的html文件就行,这就是web程序的原理。我们普通用自己电脑运行外界无法访问是因为我们的电脑上是局域网ip,不是公网ip,云服务器是公网ip,使用公网ip就行了。

改进方向:
1 可以使用tomcat实现程序,自己可以少写很多内容;
2 购买1个域名,把域名跟ip联系起来。
3 实现图片的传输,目前图片不显示。

4.1 购买腾讯云服务器(新用户有1个月的免费试用期)

直接购买就行,首先选择产品类型,然后选择配置,最后直接付款购买。

腾讯云服务器:https://cloud.tencent.com/act/free/enterprise?from=17591

在这里插入图片描述

选择体验后弹出界面会供你选择配置,选择Centos7linux系统就行,简单。然后就到控制台了,控制台就是控制你的服务器,每个实例就是1台服务器。
西面的图片就展示到了控制台后的显示。
在这里插入图片描述

4.2 进行linux的jdk的安装(非常简单)

linux上安装jdk与idea(CentOS7)_虫虫的博客-CSDN博客_linuxidea设置jdk

在这里插入图片描述

4.3 idea打包jar包并将jar包和资源传到linux云服务器

4.3.1 idea打包jar包

打包jar包,主要把.class文件打包到jar包就行了,配置文件不用打包进去。看下面两个链接打包就行。

参考1:使用IDEA打jar包的详细图文教程_java_脚本之家

参考2:IntelliJ idea小白安装和打包第一个jar包_哔哩哔哩_bilibili

在这里插入图片描述
在这里插入图片描述

4.3.2 xshell传输文件

购买了linxu云服务器后选择密码登录,自己设置到密码。然后xheel就ssh,用账号密码登录,远程控制linux服务器就行。
和平时的操作都一样。

4.4 启动jar包程序

三步:
1 先打开8080端口;
2 启动jar包;
3 浏览器访问。

直接访问网站不通,试着ping了一下公网ip,发现可以ping通,找原因:
在防火墙中发现原来是8080端口不允许访问,进行设置,开放8080端口,然后就可以了。

在这里插入图片描述
在这里插入图片描述
然后浏览器访问就可以访问到了,图片暂时有问题,访问不到。
在这里插入图片描述
浏览器一访问,后台就会出现访问信息
在这里插入图片描述

  • 8
    点赞
  • 82
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晓码bigdata

如果文章给您带来帮助,感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值