标签: 服务器

服务器有何用途

从广义上讲,服务器是指网络中能对其它机器提供某些服务的计算机系统(如果一个PC对外提供ftp服务,也可以叫服务器)。

从狭义上讲,服务器是专指某些高性能计算机,能通过网络,对外提供服务。相对于普通PC来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘系统、网络等硬件和普通PC有所不同。

服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、 PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在 “组织”和“领导”这些设备。

它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。

服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。尤其是随着信息技术的进步,网络的作用越来越明显,对自己信息系统的数据处理能力、安全性等的要求也越来越高,如果您在进行电子商务的过程中被黑客窃走密码、损失关键商业数据;如果您在自动取款机上不能正常的存取,您应该考虑在这些设备系统的幕后指挥者 ————服务器,而不是埋怨工作人员的素质和其他客观条件的限制。

目前,按照体系架构来区分,服务器主要分为两类:

非x86服务器:包括大型机、小型机和UNIX服务器,它们是使用RISC(精简指令集)或EPIC处理器,并且主要采用UNIX和其它专用操作系统的服务器,精简指令集处理器主要有IBM公司的POWER和PowerPC处理器,SUN与富士通公司合作研发的SPARC处理器、EPIC处理器主要是HP 与Intel合作研发的安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。

x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器,如IBM的System x系列服务器、HP的Proliant 系列服务器等。 价格便宜、兼容性好、稳定性差、不安全,主要用在中小企业和非关键业务中。

从当前的网络发展状况看,以“小、巧、稳”为特点的x86架构的PC服务器得到了更为广泛的应用。

从理论定义来看,服务器是网络环境中的高性能计算机,它侦听网络上其它计算机(客户机)提交的服务请求,并提供相应的服务。为此,服务器必须具有承担服务并且保障服务质量的能力。

但是这样来解释仍然显得较为深奥模糊,其实服务器与个人电脑的功能相类似,均是帮助人类处理信息的工具,只是二者的定位不同,个人电脑(简称为 Personal Computer,PC)是为满足个人的多功能需要而设计的,而服务器是为满足众多用户同时在其上处理数据而设计的。而多人如何同时使用同一台服务器呢? 这只能通过网络互联,来帮助达到这一共同使用的目的。

我们再来看服务器的功能,服务器可以用来搭建网页服务(我们平常上网所看到的网页页面的数据就是存储在服务器上供人访问的)、邮件服务(我们发的所有电子邮件都需要经过服务器的处理、发送与接收)、文件共享&打印共享服务、数据库服务等。而这所有的应用都有一个共同的特点,他们面向的都不是一个人,而是众多的人,同时处理的是众多的数据。所以服务器与网络是密不可分的。可以说离开了网络,就没有服务器;服务器是为提供服务而生,只有在网络环境下它才有存在的价值。而个人电脑完全可以在单机的情况下完成主人的数据处理任务。

FTP命令全集

如果你想学习使用进行后台FTP下载,那么就必须学习FTP指令。
FTP的命令行格式为: ftp -v -d -i -n -g [主机名] ,

其中 -v 显示远程服务器的所有响应信息;

-n 限制ftp的自动登录,即不使用;.n etrc文件;

-d 使用调试方式;

-g 取消全局文件名。

FTP使用的内部命令如下(中括号表示可选项):

1.![cmd[args>:在本地机中执行交互shell,exit回到ftp环境,如:!ls*.zip

2.$ macro-ame[args]: 执行宏定义macro-name。

3.account[password]: 提供登录远程系统成功后访问系统资源所需的补充口令。

4.append local-file[remote-file]:将本地文件追加到远程系统主机,若未指定远程系统文件名,则使用本地文件名。

5.ascii:使用ascii类型传输方式。

6.bell:每个命令执行完毕后计算机响铃一次。

7.bin:使用二进制文件传输方式。

8.bye:退出ftp会话过程。

9.case:在使用mget时,将远程主机文件名中的大写转为小写字母。

10.cd remote-dir:进入远程主机目录。

11.cdup:进入远程主机目录的父目录。

12.chmod mode file-name:将远程主机文件file-name的存取方式设置为mode,如:chmod 777 a.out。

13.close:中断与远程服务器的ftp会话(与open对应)。

14.cr:使用asscii方式传输文件时,将回车换行转换为回行。

15.delete remote-file:删除远程主机文件。

16.debug[debug-value]:设置调试方式, 显示发送至远程主机的每条命令,如:deb up 3,若设为0,表示取消debug。

17.dir[remote-dir][local-file]:显示远程主机目录,并将结果存入本地文件

18.disconnection:同close。

19.form format:将文件传输方式设置为format,缺省为file方式。

20.get remote-file[local-file]: 将远程主机的文件remote-file传至本地硬盘的local-file。

21.glob:设置mdelete,mget,mput的文件名扩展,缺省时不扩展文件名,同命令行的-g参数。

22.hash:每传输1024字节,显示一个hash符号(#)。

23.help[cmd]:显示ftp内部命令cmd的帮助信息,如:help get。

24.idle[seconds]:将远程服务器的休眠计时器设为[seconds]秒。

25.image:设置二进制传输方式(同binary)。

26.lcd[dir]:将本地工作目录切换至dir。

27.ls[remote-dir][local-file]:显示远程目录remote-dir, 并存入本地文件local-file。

28.macdef macro-name:定义一个宏,遇到macdef下的空行时,宏定义结束。

29.mdelete[remote-file]:删除远程主机文件。

30.mdir remote-files local-file:与dir类似,但可指定多个远程文件,如 :mdir *.o.*.zipoutfile 。

31.mget remote-files:传输多个远程文件。

32.mkdir dir-name:在远程主机中建一目录。

33.mls remote-file local-file:同nlist,但可指定多个文件名。

34.mode[modename]:将文件传输方式设置为modename, 缺省为stream方式。

35.modtime file-name:显示远程主机文件的*后修改时间。

36.mput local-file:将多个文件传输至远程主机。

37.newer file-name: 如果远程机中file-name的修改时间比本地硬盘同名文件的时间更近,则重传该文件。

38.nlist[remote-dir][local-file]:显示远程主机目录的文件清单,并存入本地硬盘的local-file。

39.nmap[inpattern outpattern]:设置文件名映射机制, 使得文件传输时,文件中的某些字符相互转换, 如:nmap $1.$2.$3[$1,$2].[$2,$3],则传输文件a1.a2.a3时,文件名变为a1,a2。 该命令特别适用于远程主机为非UNIX机的情况。

40.ntrans[inchars[outchars>:设置文件名字符的翻译机制,如ntrans1R,则文件名LLL将变为RRR。

41.open host[port]:建立指定ftp服务器连接,可指定连接端口。

42.passive:进入被动传输方式。

43.prompt:设置多个文件传输时的交互提示。

44.proxy ftp-cmd:在次要控制连接中,执行一条ftp命令, 该命令允许连接两个ftp服务器,以在两个服务器间传输文件。*条ftp命令必须为open,以首先建立两个服务器间的连接。

45.put local-file[remote-file]:将本地文件local-file传送至远程主机。

46.pwd:显示远程主机的当前工作目录。

47.quit:同bye,退出ftp会话。

48.quote arg1,arg2…:将参数逐字发至远程ftp服务器,如:quote syst.

49.recv remote-file[local-file]:同get。

50.reget remote-file[local-file]:类似于get, 但若local-file存在,则从上次传输中断处续传。

51.rhelp[cmd-name]:请求获得远程主机的帮助。

52.rstatus[file-name]:若未指定文件名,则显示远程主机的状态, 否则显示文件状态。

53.rename[from][to]:更改远程主机文件名。

54.reset:清除回答队列。

55.restart marker:从指定的标志marker处,重新开始get或put,如:restart 130。

56.rmdir dir-name:删除远程主机目录。

57.runique:设置文件名只一性存储,若文件存在,则在原文件后加后缀.1, .2等。

58.send local-file[remote-file]:同put。

59.sendport:设置PORT命令的使用。

60.site arg1,arg2…:将参数作为SITE命令逐字发送至远程ftp主机。

61.size file-name:显示远程主机文件大小,如:site idle 7200。

62.status:显示当前ftp状态。

63.struct[struct-name]:将文件传输结构设置为struct-name, 缺省时使用stream结构。

64.sunique:将远程主机文件名存储设置为只一(与runique对应)。

65.system:显示远程主机的操作系统类型。

66.tenex:将文件传输类型设置为TENEX机的所需的类型。

67.tick:设置传输时的字节计数器。

68.trace:设置包跟踪。

69.type[type-name]:设置文件传输类型为type-name,缺省为ascii,如:type binary,设置二进制传输方式。

70.umask[newmask]:将远程服务器的缺省umask设置为newmask,如:umask 3

71.user user-name[password][account]:向远程主机表明自己的身份,需要口令时,必须输入口令,如:user anonymous my@email。

72.verbose:同命令行的-v参数,即设置详尽报告方式,ftp 服务器的所有响 应都将显示给用户,缺省为on.

73.?[cmd]:同help.
————————————————
版权声明:本文为CSDN博主「流星亚瑟」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/awcyy/article/details/28839

服务器ping ip突然无法ping通

服务器ping ip 突然无法ping通 其他服务器都可以ping通 请大神帮忙解决是需要再设置什么吗

qq_24684521 MLieV 2年前
首先看是不是本地机器出问题了,是否能ping通其他机器

shijp2009 shijp2009 3年前
如果是虚拟机,那么试试ssh是否可以连上,如果ssh也连不上,那就是服务器宕机了,服务器宕机有可能是虚拟机要用的资源不够了。

qq_38762881 qq_38762881 3年前
1.查看本地eth0是否有地址,例如DHCP或静态地址。
2.查看防火墙设置,可临时禁用测试一下。service iptables stop
3.ping一个网段的机子进行测试。

qq_35636920 qq_35636920 3年前
首先要检查本地是否能ping通,检查ip地址,再用另一台机器ping这台机器,排除因素后,再一一检查

w625349026 w625349026 3年前
先看网络连接 连接正常后查看 ip获取地址是否跟你ping的是不是一个网段,然后再看ping的pc是否开着能获取同网段地址

a461477412 kongcz 3年前
尝试关闭防火墙看看,看起来像是开着防火墙禁ping了

u010439370 嗳无虺 3年前
防火墙的问题吧 关闭试试

DBCai DBCai 3年前
从两个方面入手:
1、本地电脑:
a、确定本地是否可以ping 别人,比如 ping www.baidu.com ,不行基本都是网络问题

2、远程服务器
a、设置是否允许被 ping
①先copy 一份 如下文件 /proc/sys/net/ipv4/icmp_echo_ignore_all ,方便后期的还原
②echo “0” >/proc/sys/net/ipv4/icmp_echo_ignore_all

其中, 2.a.② 步骤中,0表示可以被ping,1表示不可以。*后,如果怀疑自己的操作,可以使用copy的文件来还原

sunhaoran1115 sunhaoran1115 3年前
看一下本地的网络配置

weixin_42920757 小小菜鸟2020 3年前
1、先看一下本地的网络配置,确认一下没有问题
2、然后在本地ping本地是否正常,ping 127.0.0.1 不是localhost
3、然后ping其他机器是否正常
4、如果上面都没有问题,就用其他机器ping这台机器试试

husong_ 明天的地平线 3年前
可以看一下是否开启的防火墙

Open_Li Open_Li 3年前
问题描述详细点,只是一个无法ping通,本地能否ping通,外网其它机器能否ping通

qq_34946428 qq_34946428 3年前
问题描述的不是很详细,可能性很多。如果确定不是针对性的限制,那就应该是发起ping的这台机器的问题,先用重启大法试试吧。

wamp搭建本地服务器

安装wamp

服务器配置文件的修改
• 路径:D:\wamp\bin\apache\apache2.4.9\conf\httpd.conf(根据安装目录自行修改)
• *个地方

AllowOverride none
Require all denied

修改为

<Directory “D:/wamp/bin/apache/apache2.4.9/cgi-bin”>
AllowOverride None
Options None
Require all granted

• 第二个地方

onlineoffline tag – don’t remove

Require local

修改为

onlineoffline tag – don’t remove

  1. Require local
  2. Require all granted

连接同一个wifi使得本机与其他设备在同一个局域网下

关闭本机防火墙

通过ipconfig查看本机的ipv4地址

连接了wifi的设备可以通过ip地址进行访问本地服务器了

python搭建本地服务器

为什么要搭建服务器?
在进行JavaScript开发或一些可视化工作的时候,搭建服务器是必不可少的。作为穷学生党,不可能去购置一台价格昂贵的服务器,只能选择阿里云或其他平台的云服务器,但是每月需要一定的费用。如果用的不多,也不需要云存储服务的话,可以搭建一个本地服务器。

如何搭建本地服务器
其实通过python可以轻松地搭建一个本地服务器,几行代码就能轻松地搞定了。

import SimpleHTTPServer;
import SocketServer;
PORT = 8000; #指定服务器端口号
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler;
httpd = SocketServer.TCPServer((“”, PORT), Handler);
httpd.serve_forever();

将代码保存成py文件,直接运行后,文件所在的文件夹就成为本地服务器了,可以直接在浏览器中输入本机IP地址加端口号访问。
需要注意的是,这个程序需要在运行的情况下才能搭建本地服务器,也就是关闭程序窗口后也不能通过IP端口访问服务器。另外,若是有其他文件需要调用服务器的数据,文件编码格式和这个py文件的编码格式需要一致,所以推荐*好把html和py文件编码格式都设置为UTF-8格式。

服务器负载均衡是什么意思?

负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外供应效力而无须其他服务器的辅助。经过某种负载分管技术,将外部发送来的央求均匀分配到对称结构中的某一台服务器上,而接收到央求的服务器独登时回应客户的央求。均衡负载可以平均分配客户央求到服务器列阵,籍此供应快速获取重要数据,解决很多并发访问效力问题。这种群集技术可以用*少的出资取得接近于大型主机的性能。

负载均衡的类型

根据DNS的负载均衡

经过DNS效力中的随机姓名解析来完结负载均衡,在DNS服务器中,可认为多个不同的地址配置同一个姓名,而*终查询这个姓名的客户机将在解析这个姓名时得到其中一个地址。因此,关于同一个姓名,不同的客户时机得到不同的地址,他们也就访问不同地址上的Web服务器,然后达到负载均衡的目的。

反向署理负载均衡

运用署理服务器可以将央求转发给内部的Web服务器,让署理服务器将央求均匀地转发给多台内部Web服务器之一上,然后达到负载均衡的目的。这种署理方式与一般的署理方式有所不同,标准署理方式是客户运用署理访问多个外部Web服务器,而这种署理方式是多个客户运用它访问内部Web服务器,因此也被称为反向署理模式。Apusic负载均衡器就归于这种类型的。

%title插图%num

据NAT的负载均衡技术

网络地址变换为在内部地址和外部地址之间进行变换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址变换网关拥有的某一外部地址时,地址变换网关能将其转发到一个映射的内部地址上。因此如果地址变换网关能将每个衔接均匀变换为不同的内部服务器地址,尔后外部网络中的计算机就各自与自己变换得到的地址上服务器进行通讯,然后达到负载分管的目的。

负载均衡服务器的好处

由于网民数量激增,网络访问路径过长,用户的访问质量简略遭到严重影响,尤其是当用户与网站之间的链路被出人意料的流量拥塞时。而这种情况经常发生在异地互联网用户急速增加的运用上。这时候,如果在效力端运用负载均衡(GSLB)技术,就可以合理分管系统负载、提高系统可靠性、支持网站内容的虚拟化。在实际运用中,许多IDC,如互联通更是选用GSLB与Cache、Mirror相结合的方法来供应网络加速效力。负载均衡效力具有如下特点:

高智能化

运用虚拟IP(VIP)地址代表方针服务器和运用,将会话分配到*高可用性的服务器,全程监控每个会话,效力恢复后自动重新挂号,并转发客户机和服务器信息包时供应全地址变换。简略有用的负载均衡算法可以配置包括循环法、*少衔接法、散列法或*少失误法等多种不同的负载均衡方法,也可以对个别服务器配置*大衔接数量阈值和加权值,以防止服务器超载。

高可靠性

架构在专用的高速骨干网之上,该骨干网络供应延迟*小的网络连通性,然后保障GSLB的功能正常发挥和高性能,远远优于根据公网的GSLB。并且,当主站点机房的Internet 出口呈现毛病时,还能将用户自动、透明地从其他分站点Internet入口导向主站点服务器。

高可用性

选用热备份方法,在*短时间内对服务器链路、交换端口和交换机进行检测和毛病转移,使运用免受毛病影响;任何一个服务器或服务器群发生毛病或阻塞,用户将被自动引导到下一个*佳备份服务器或站点,然后更进一步提高了效力和内容的可用性。

服务器负载均衡

网络的负载均衡是一种动态均衡技术,经过一些东西实时地分析数据包,掌握网络中的数据流量状况,把任务合理均衡地分配出去。

计算集中型的运用,比如电子商务网站,服务器计算负荷会很大;读写频繁的运用,比如网络数据库,存储系统则面临着检测;传输量大的运用,比如视频效力,数据总是无法快速传送,无法完结*好的效果;访问量大的运用,路由器与防火墙简略成为瓶颈。想要合理解决这些问题,晋级设备、改动拓扑是”笨办法”,相对巧妙的方法是选用负载均衡技术,用多个设备一起完结任务。

负载均衡技术根据现有网络结构,供应了一种扩展服务器带宽和增加服务器吞吐量的廉价有用的方法,加强了网络数据处理能力,提高了网络的灵活性和可用性。负载均衡的运用,可以有用地解决网络拥塞问题,可以就近供应效力,完结地理位置无关性(异地负载均衡)。同时,这项技术还能提高服务器的响应速度,提高服务器及其他资源的利用效率,防止网络关键部位呈现单点失效,然后为用户供应更好的访问质量。

构建负载均衡服务器之一 负载均衡与集群详解

一、什么是负载均衡

首先我们先介绍一下什么是负载均衡: 负载平衡(Load balancing)是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到*佳化资源使用、*大化吞吐率、*小化响应时间、同时避免过载的目的。这是来自维基百科的介绍。负载均衡的目的,就在于平衡负载,给用户提供优质,可靠,稳定的服务。

*简单的负载均衡实例, 应用服务器并不直接与用户相连, 用户连接负载均衡服务器,然后由负载均衡服务器把消息转发给实际应用服务器。负载均衡器内部会根据应用服务器的负载情况,决定把消息转发给哪台服务器处理。同时负载均衡器还可以对用户屏蔽应用服务器失效,只要把用户的消息转发到非失效服务器即可。

提到负载均衡,就不能不介绍另外一个概念: 集群。集群就是一组部署有相同应用的服务器。例如web 服务器。用户的请求无论连接到哪台服务器上,都能得到相同的处理。这样我们实现一种服务器,可以将用户的请求根据特定规则转发到应用服务器上进行处理。就实现了完整的集群处理系统。这个服务器如果实现了后台服务器感知和配置功能,能够了解后台服务器的可用情况。就可以被称作为负载均衡器。

负载均衡在目前网络服务规模越来越庞大的情况下,成为一个大型服务器系统必须要面对的问题。随着用户和业务的增多,来自用户的访问量和数据流量不断增大,对服务器的计算能力和储存要求也在不断增加,单台服务器根本无法承担这么庞大的数据处理请求。这个时候,我们必须利用集群技术,采用一组服务器对来自用户的请求进行处理,服务器的数量要能够不断的扩充。在集群的前端,我们采用负载均衡技术,平均分散用户的请求到不同的处理服务器,并且能够在集群中某个服务失效时,即时感知,屏蔽,将消息转发到其他可用服务器上。

负载均衡分为硬件和软件:

(1).硬件LB(比较出名的)

F5 公司的 BIG-IP系列、Citrix 公司的 NetScaler系列、A10 公司的 AX系列

(2).软件LB

四层:LVS(Linux VirtualServer)注:国人开发的、七层:Nginx,HAProxy

二、集群的类型

1.scale on:向上扩展  

将服务器的内存容量调大和cpu数量增加些(简单说升级服务器硬件)

缺点:在一定的范围之内它的性能是上升的趋势,但是超出范围之后就是下降的趋势。因为随着它的cpu的个数增加我们需要给我们的cpu仲裁,而且随着cpu个数的增加资源竞争性越大。

2.scale out:向外扩展  

一台服务器应付不过来,我们就再增加一台服务器。  

优点:增减服务器很方便,而且没有向上扩展随着增加性能下降。

向外扩张的工作模式:当客户端向服务器端发送请求,服务器端只拿出来一台服务器来相应我们的客户端的请求。

(1).LB:Load Balancing:负载均衡集群

负载均衡集群中有一个分发器或者叫调度器,我们将其称之为Director,它处在多台服务器的上面,分发器根据内部锁定义的规则或调度方式从下面的服务器群中选择一个以此来响应客户端发送的请求。

(2).HA:High Availability 高可用集群  

高可用集群是服务的可用性比较高,当我们某台服务器死机后不会造成我们的服务不可用。其工作模式则是将一个具有故障的服务转交给一个正常工作的服务器,从而达到服务不会中断。一般来说我们集群中工作在前端(分发器)的服务器都会对我们的后端服务器做一个健康检查,如果发现我们服务器当机就不会对其在做转发。

衡量标准:可用性=在线时间/(在线时间+故障处理时间) 99%、99.9%、99.99%、99.999%

(3).HP:Hight Performance 高性能  

高性能的集群是当某一个任务量非常大的时候,我们做一个集群共同来完成这一个任务。这种处理方式我们称为并行处理集群,并行处理集群是将大任务划分为小任务,分别进行处理的机制。一般这样的集群用来科学研究与大数据运算等方面的工作。现在比较火的Hadoop就是使用的并行处理集群。

说明:三种集群之间的区别  

负载均衡着重在于提供服务并发处理能力的集群,高可用以提升服务在线的能力的集群。高性能着重用于处理一个海量任务。

三、主要负载均衡方案介绍

1:HTTP 重定向负载均衡

这种负载均衡方式仅适合WEB 服务器。用户发出请求时,负载均衡服务器会根据HTTP请求,重新计算出实际的WEB服务器地址,通过302重定向相应发送给用户浏览器。用户浏览器再根据302响应信息,对实际的WEB服务器发出请求。HTTP重定向方案有点是比较简单,缺点是性能比较差,需要2次请求才能返回实际结果,还有就是仅适合HTTP服务器使用。

2: DNS 域名解析负载均衡

在DNS中存储了一个域名的多个主机地址,每次域名解析请求,都可以根据负载均衡算法返回一个不同的IP地址。这样多个WEB服务器就构成了一个集群,并由DNS服务器提供了负载均衡服务。DNS域名解析负载均衡的优点是由DNS来完成负载均衡工作,服务本身不用维护负载均衡服务器的工作。缺点也是,由于负载均衡服务器不是自己维护,没法做精细控制,而且DNS在客户端往往带有缓存,服务器的变更很难及时反映到客户端上。

3:反向代理负载均衡

反向代理服务器位于实际的服务器之前,他能够缓存服务器响应,加速访问,同时也启到了负载均衡服务器的效果。反向代理服务器解析客户端请求,根据负载均衡算法转发到不同的后台服务器上。用户和后台服务器之间不再有直接的链接。请求,响应都由反向代理服务器进行转发。优点是和负载均衡服务集成在一起,部署简单。缺点是所有的请求回应都需要经过反向代理服务器。其本身可能会成为性能的瓶颈。著名的 Nginx服务器就可以部署为反向代理服务器,实现WEB 应用的负载均衡。上面的三种都是工作在OSI网络模型中的应用层,我们可以统称为应用层负载均衡(七层负载均衡)。下面介绍的几种工作在OSI网络模型中的4层以及4层以下(四层负载均衡),解决方案也具有更大的通用性。

4:IP负载均衡

用户请求包到达负载均衡服务器114.100.20.200后,负载均衡服务器在操作系统内核层获取网络数据包,根据负载均衡算法获取真实后台服务器地址192.168.1.1, 然后将数据包的目标地址改为192.168.1.1, 转发给内部服务器。整个过程都在内核层进行处理。收到192.168.1.1的响应包之后,会更改响应包的SRC IP, 转发给客户端用户。采用IP层负载均衡算法,全部处理过程都在内核层(Ring 0)进行。和七层负载均衡相比,具有更好的性能。但是由于所有的响应包都要经过负载均衡服务器,负载均衡服务器的网卡带宽,很容易成为系统的瓶颈,如果能够让响应包不经过负载均衡服务器,就可以*大的提升整个负载均衡服务器的服务能力。我们下面介绍的数据链路层负载均衡,就具有这个能力。

5:数据链路层负载均衡

数据链路层负载均衡,顾名思义,就是工作在TCP/IP协议*底层的数据链路层,进行负载均衡。我们常用的以太网中,在这一层主要采用数据帧进行通信,每个网卡都具有唯一的MAC地址,数据帧用MAC地址来标识数据的来源与目的地。数据链路层负载均衡通过修改数据包的MAC地址,实现负载均衡。

这种数据传输方式又称为三角传输,负载均衡数据分发过程中不修改IP地址,只修改目的MAC地址,通过配置真实物理服务器集群所有机器虚拟IP和负载均衡服务器IP一致,从而达到不修改数据包的源地址和目的地址就可以进行数据分发的目的,由于实际处理请求的真实物理服务器IP和数据请求目的IP一致,不需要通过负载均衡服务器进行地址交换,可将响应数据包直接返回给用户,避免负载均衡服务器网卡带宽成为瓶颈。这种负载均衡方式又称之为直接路由方式(DR).

如上图所示,用户请求到达负载均衡服务器114.100.20.200后,负载均衡服务器将数据包的目的MAC地址更改为00:1e:ec:bc:5e:03,并不修改数据包目的IP,由于服务器集群所有服务器的虚拟IP地址和负载均衡服务器IP地址一致,因此数据可以正常传输到达MAC地址为00:1e:ec:bc:5e:03的机器上,该服务器处理完之后,将响应数据包发送到网关服务器,网关服务器直接将数据包发送给用户,响应数据不需要通过负载均衡服务器,这样就避免了负载均衡服务器成为传输瓶颈的可能。

数据链路层负载均衡是目前使用*广泛的一种负载均衡方式。著名的负载均衡开源产品LVS(Linux Virtual Server),同时支持上面的IP负载均衡和数据链路层负载均衡。是学习负载均衡技术必须了解的产品。基于数据链路层的负载均衡虽然有非常好的性能,但是对网络拓扑也有比较大的限制,负载均衡服务器和后台服务器必须处于同一网络环境中才可以。

四、负载均衡算法介绍

前面介绍的内容,解决了从用户到实际后台服务器之间的数据包发送和响应的问题。下面我们介绍选择实际后台运行服务器的具体负载均衡算法。考虑到服务请求的不同类型服务器的不同处理能力以及随机选择造成的负载分配不均匀等问题,为了更加合理的把负载分配给内部的多个服务器,就需要应用相应的能够正确反映各个服务器处理能力及网络状态的负载均衡算法。我们以LVS为参考,介绍比较经典的8种负载均衡算法。

1.轮叫调度(Round Robin)

调度器通过“轮叫”调度算法将外部请求按顺序轮流分配到集群中的真实服务器上,它均等地对待每一台服务器,而不管服务器上实际的连接数和系统负载

2.加权轮叫(Weighted Round Robin)

调度器通过“加权轮叫”调度算法根据真实服务器的不同处理能力来调度访问请求这样可以保证处理能力强的服务器能处理更多的访问流量调度器可以自动问询真实服务器的负载情况,并动态地调整其权值

3.*少链接(Least Connections)

调度器通过“*少连接”调度算法动态地将网络请求调度到已建立的链接数*少的服务器上如果集群系统的真实服务器具有相近的系统性能,采用“*小连接”调度算法可以较好地均衡负载

4.加权*少链接(Weighted Least Connections)

在集群系统中的服务器性能差异较大的情况下,调度器采用“加权*少链接”调度算法优化负载均衡性能,具有较高权值的服务器将承受较大比例的活动连接负载调度器可以自动问询真实服务器的负载情况,并动态地调整其权值

5.基于局部性的*少链接(Locality-Based Least Connections)

“基于局部性的*少链接”调度算法是针对目标IP地址的负载均衡,目前主要用于Cache集群系统该算法根据请求的目标IP地址找出该目标IP地址*近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则用“*少链接”的原则选出一个可用的服务器,将请求发送到该服务器

6.带复制的基于局部性*少链接(Locality-Based Least Connections with Replication)

“带复制的基于局部性*少链接”调度算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统它与LBLC算法的不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射该算法根据请求的目标IP地址找出该目标IP地址对应的服务器组,按“*小连接”原则从服务器组中选出一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按“*小连接”原则从这个集群中选出一台服务器,将该服务器加入到服务器组中,将请求发送到该服务器同时,当该服务器组有一段时间没有被修改,将*忙的服务器从服务器组中删除,以降低复制的程度

7.目标地址散列(Destination Hashing)

“目标地址散列”调度算法根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空

8.源地址散列(Source Hashing)

“源地址散列”调度算法根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且未超载,将请求发送到该服务器,否则返回空

如何将自己的电脑做成服务器

*步:先去  https://www.ngrok.cc/  Sunny-Ngrok内网转发注册一个账号,可以免费购买一个服务器

%title插图%num

然后填写东西,映射你项目的ip

%title插图%num

然后会有一个隧道id先放着,一会用。

第二步:下载frp客户端

%title插图%num

双击bat

将刚才的隧道id粘到此处,回车这就成了

%title插图%num

*后访问你的域名

如我的:http://mwk520.***.***.**

利用闲置笔记本搭建自己的开发服务器

1、对Ubuntu服务器进行基础配置
2、配置dnsmasq服务器
3、文章没什么技术含量,主要记录一些配置文件的位置
前言
*近新入手了一台MacBook Air,原来的ThinkPad就闲置下来了,感觉一直放着太浪费了,就重装了一个Ubuntu Server 16.04的系统,用来做自己的开发服务器。折腾了几个小时,就都搞定了,特意写下这篇文章,来记录一下自己折腾的过程。

基础配置
服务器安装的过程就不说了,大都是那么几步。有一个奇怪的问题就是安装的时候,需要设置时区,我竟然没有找到东八区,只好先设置了一个太平洋时区,好尴尬,不知道是不是Ubuntu的文本安装界面没有东八区这个选项,还是我英文太差了,没有找到。

设置时间
由于安装时我们设置了错误的时区,所以首先需要调整一下时区。Ubuntu 16.04已经完全集成了Systemd,所以我们只需要通过sudo timedatectl set-timezone Asia/Shanghai命令,就可以将时区设置为亚洲/上海了,同时我们也可以运行sudo timedatectl set-ntp 1命令,打开自动从 NTP 服务器同步时间,一会之后服务器时间就正常了。timedatectl命令还有一个选项是set-local-rtc,用来将硬件时间设置为本地时间,而不是UTC时间,这个选项我默认是关闭的。

更改软件源为中科大源
接下来,就是更改源了,打开/etc/apt/sources.list文件,将所有的us.archive.ubuntu.com替换成mirrors.ustc.edu.cn就可以了,注意这里由于我安装的时候选择的是美国的源,所以域名为us.archive.ubuntu.com,如果选择了其他地方的源,域名可能不一样。

同时要注意,security.ubuntu.com这个源表示的是 Ubuntu 进行安全更新的源,用来推送紧急安全更新的补丁,这个源我建议保持原样,因为紧急安全更新的补丁还是从 Ubuntu 官方下载比较好,不建议从其他地方来下载。

设置关闭盖子不休眠
由于我的电脑是笔记本,尽管没有装图形界面,但是在合上盖子之后,系统仍然会自动休眠,所以需要将这个自动休眠的功能关掉。我在网上搜索了一下,在 Askubuntu 上找到了一个相关的问题,按照问题中的答案所说,向/etc/systemd/logind.conf文件中添加一行HandleLidSwitch=ignore,然后重启systemd-logind.service服务,就关闭掉这个功能啦。

配置网络环境
将服务器配置好以后,接下来我们就需要配置网络了。

设置DHCP
我的笔记本是通过网线连接到路由器上的,所以,首先我们需要将有线网卡通过 DHCP 自动连接网络的功能打开。这里我在网上搜索了一下,搜到了一篇文章:Ubuntu Networking Configuration Using Command Line 。这篇文章很详细地介绍了Ubuntu如何设置动态IP和静态IP。我的电脑在刚装好系统的时候,没有任何关于有线网卡的配置文件,仅能够通过ip addr命令来看到当前系统的网卡,在了解到有线网卡的名称为enp12s0之后,我新建了一个文件/etc/network/interfaces.d/enp12s0.conf,然后向其中添加了如下的内容,

# 设置网卡enp12s0在开机的时候通过 DHCP 自动连接到网络。
auto enp12s0
iface enp12s0 inet dhcp
1
2
3
上面两句配置就表示设置网卡enp12s0在开机的时候通过 DHCP 自动连接到网络。

设置默认网关
设置好网卡的 DHCP 以后,我的服务器能够 ping 通路由器网关了,但是仍然无法 ping 通外网,显然,这是由于服务器本机的网关没有配置好,后来我又上网去搜索,发现了Askubuntu 上一个类似的问题,其中有个答案提到,dhclient只在当前服务器没有设置默认网关的时候,才会设置由 DHCP 服务器提供的路由器地址为默认网关。我通过ip route看了一下我的服务器的路由表,发现默认网关为网卡lo,所以 DHCP 服务器下发下来的网关地址并不会生效。我又在/etc/network/interfaces中添加了如下的配置:post-up route del default dev lo,删除掉默认走lo设备的路由配置。

然后我再来重启电脑,就发现服务器一开机就能够正常 ping 通外网了。

设置路由器
看到这里,相信大家肯定都有一些疑惑,服务器不应该是默认设置为静态IP吗,为什么你要配置 DHCP 呢。原因就在这一小节,我用的路由器是华硕的RT – N12,它的 DHCP 服务器有一个功能,就是将MAC地址和IP地址进行绑定,所以,我只需要在路由器上配置好MAC地址和IP地址的绑定,这样就相当于起到了静态IP的作用了,而且更改起来也比较方便,不需要服务器和路由器两头改。

配置DNS
由于我访问我的服务器的时候想通过域名来访问(方便以后添加HTTPS证书),所以我需要在我的内网中自己搭建一个DNS服务器,来负责服务器的域名解析。

安装并设置dnsmasq
由于我的需求很简单,只需要进行一个域名解析就可以了,所以我选择了dnsmasq,而不是比较复杂的bind9。

dnsmasq在Ubuntu的源中直接有deb安装包,所以我们直接通过sudo apt install dnsmasq命令安装即可。

dnsmasq的配置我参考了文章使用Dnsmasq搭建内网DNS服务器。使用了如下的配置:

# 设置服务器的监听地址为192.168.X.X和127.0.0.1
listen-address=192.168.X.X,127.0.0.1
# 所有没有.号的域名(plain names)都不会向上游DNS Server转发,只查询hosts文件
domain-needed
# 所有保留IP地址段内的反向查询都不会向上游DNS Server转发,只查询hosts文件
bogus-priv
# 不要读取/etc/resolver中的DNS Server的配置
no-resolv
# 不要poll /etc/resolver文件的更新
no-poll
# 配置上游服务器为DNSPod的公共DNS
server=119.29.29.29
server=182.254.116.116
1
2
3
4
5
6
7
8
9
10
11
12
13
配置好了以后,我们可以通过dnsmasq –test命令来检查dnsmasq的配置文件语法是否正确。

然后我们在服务器的/etc/hosts中添加我们想要设置的解析记录,比如这台服务器我设置了如下的记录:

192.168.X.X dev.bwangel.me
1
然后通过sudo systemctl enable dnsmasq && sudo systemctl restart dnsmasq命令启动dnsmasq服务即可。

*后我们可以通过dig命令测试一下,运行如下命令: dig dev.bwangel.me @localhost,看返回的IP地址是否和我们设置的解析记录相同。

设置路由器
配置好了DNS服务器以后,我们再来修改路由器的 DHCP 策略,设置下发的DNS服务器IP地址为我们的DNS服务器地址,这样内网中所有的DNS查询都会先经过这台DNS服务器。而我们的dev.bwangel.me域名也就能够成功解析了。至此,我们的开发服务器就已经搭建好了,我们可以通过SSH连接上来,搭建我们想要的服务了。

遇到的一些小坑
dnsmasq没有绑定本地地址
配置好了 DNS 服务器以后,我在服务器上 ping 百度的时候会一直卡着,但是 ping 公网 IP 却是可以 ping 通的,当时我*反应就是DNS解析出错了,只是不知道是DNS服务器配置的有问题,还是DNS服务器的IP地址路由器没有正确地下发下来。

接着我就利用dig来测试,发现使用dig www.baidu.com @192.168.X.X命令可以得到正常结果,而dig www.baidu.com @127.0.0.1就会卡着。然后我就觉得应该是dnsmasq没有监听127.0.0.1导致的问题。*后发现服务器DNS的配置文件/etc/resolv.conf中设置的默认DNS为127.0.0.1,而它去查询127.0.0.1的时候会卡着,也不报错,导致服务器不会使用备选的DNS服务器来查询域名,*终导致出现了 ping 百度卡着这种情况。我将dnsmasq的监听地址加上127.0.0.1之后就OK了。

这里还有一点没有搞清楚,路由器的 DHCP 中配置的DNS服务器并没有正确地应用,服务器还是默认遵循/etc/resolv.conf文件中的配置,这个还需要进一步了解一下。

ssh出现locale报错
这个问题经常遇到了,在Mac上通过SSH连接到Ubuntu上之后,在安装更新的过程中,出现了如下的报错:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_MESSAGES = “zh_CN.UTF-8”,
LANG = “zh_CN.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).
1
2
3
4
5
6
7
8
这是由于终端SSH的时候,会将本地的locale配置传到服务端上去,我的本地设置的语系是zh_CN.UTF-8,但是服务器上只安装了en_US.UTF-8,所以就会报错提示说找不到语系zh_CN.UTF-8相关的文件。这里我们只需要修改一下服务器的/etc/locale.gen配置文件,将zh_CN.UTF-8相关的配置取消注释,然后再来运行locale-gen命令,就会安装上zh_CN.UTF-8语系相关的文件了,再来运行perl程序就不会报错了。
————————————————
版权声明:本文为CSDN博主「「已注销」」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012291393/article/details/78650525

java开发之服务器端开发

第二种: 服务器端开发
*个阶段是连接器设计,主要涉及到涉及到网络知识(阻塞式socket和非阻塞式socket)、通信模式(TCP/IP或者UDP)、网络管理(负载、连接状态等)、传输协议设计(特别与其他语言的交互)、I/O处理(bytes转成Object、Object转成bytes)等。有些方面可以靠网络硬件设备来解决。
第二个阶段是核心业务设计(严格来讲就是通用服务设计)
多线程的设计(参考《多线程设计模式》)、管理设计(参考JMX)、消息传输设计(参考JMS)、安全设计(参考java安全)、缓存设计(参考cache4j、JCS等开源项目)、资源池设计(数据库连接池等)、对象重用设计、命名空间设计(参考JNDI)、分布式设计(参考RMI)、组件设计
第三个阶段是前面两个阶段基础上的相关应用开发了,主要涉及的知识为数据库方面的知识,主要包括事务处理、数据库建表设计、数据持久化设计等。
*后是服务器端的部署,包括JVM的参数调优,批处理文件编写,目录结构等

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速