有什么简单的方法知道链接有没有病毒?
。
到了总结的时候了,无法浏览网页是上网最常见的故障之一,其具体原因比较复杂,解决的方法也不尽相同。我们可以这样:先软再硬后系统,先简单后复杂,折半查找缩小故障范围。具体有以下几个主要步骤:
第一步:排除偶然的、不可预见性故障
不管三七二十一,先冷启动电脑及调制解调器,排除可能存在的偶发性、不可预见性故障,例如软件冲突、内存混乱、ADSL Modem自动断线、IP调整中的自动断线、设备休眠等问题。仍不行再打听别人或别的电脑能否正常浏览网页,判断是共性问题还是个性问题。如果是共性问题,对因特网就只能由ISP解决,对局域网则要检查服务器或网络线路。如果是个性问题,就可以把视线集中到本网络及本机上来。
第二步:初步确定故障范围
用命令ping检查判断。主要ping以下地址:一是ping 本机循环地址(127001),如果显示Reply from 127001: bytes= time=ms TTL=,则表示TCP/IP协议运行正常,若显示Request timed out(超时),则必须重装该协议。二是ping本机IP地址。使用ipconfig命令(9x系统应该输入winipcfg)查看本机IP地址,若通则表明网络适配器工作正常,否则可能是网卡、Modem有问题。三是ping同网段电脑地址。若不通表明本段网络有问题。若网络中有网关、路由器,则要分别 ping其与本网段和其他网段相连端口的IP地址,以确定其是否有故障。四是ping 主、备用DNS服务器和Web服务器地址,若不通则与网管或ISP联系解决。
若上述地址都能ping通,则可确定是操作系统和浏览器的故障。如果其间间断出现超时错误(亦需考虑服务器可能设置为禁止ping的情况),表明网络不稳定,易丢包,例如局域网中有广播风暴就可能产生时断时续,这一般是网络连接、配置错误、或用户过多造成的。
第三步:排除可能存在的“软”问题
一是检查网络配置。检查TCP/IP协议的设置情况、网卡、Modem等设备的参数设置,重点是IP地址、网关、DNS地址是否正确,若有误则恢复到正常时的设置。检查协议、网络适配器是否过多,建议删除“NetBEUI”、“IPX/SPX”等协议(视网络情况定)。若通过代理服务器上网,则检查浏览器中“代理服务器”设置是否正确。检查是否错误设置了拨号适配器的IP地址,由于传统拨号上风的IP地址是自动分配,在电脑配置了网卡时有可能将本该设置在网卡上的固定IP地址错误设置在拨号适配器上,导致无法拨号上网。检查拨号上网相关设置是否符合ISP要求,例如有的地区拨号上网号码、用户名及密码调整了,改为16300,16900等。
二是检查网卡、Modem等设备的驱动程序是否有问题,如果在设备管理器中发现有**的!或?,要重新安装配套的驱动程序。
三是检查系统是否感染了病毒。将杀毒软件升级到最新版本后全面杀毒。
第四步:排除可能存在的“硬”问题
一是检查网卡、各种调制解调器等是否工作正常(是否被禁用)。检查是否因过热而出现工作不稳定的情况,例如可通过 Modem指示灯、网卡指示灯观察其是否工作正常(对照说明书等资料观察)。用替换法(换设备或将此设备移到其他电脑上试验)检查是否网卡、Modem品质或者兼容性不好。
二是检查是否为网络接口故障。检查有关板卡(如网卡)是否被禁用。板卡、线路、RJ-11及RJ-45线接头因多次插拔、灰尘太多、老化可能导致虚接、松动,可关机断电后取下用橡皮擦或酒精棉试、重新插拔,或者换个插槽、接口试试,或者重新连接线路并用绝缘胶带隔离加固或更换。例如RJ-45 接口经常会出现松动情况,可用压线钳加固。
三是检查外线是否有通畅。如果通过电话上网则检查电话线路是否正常,可将Modem上的电话进线接到电话机上听有无拨号音,或直接拨号测试。从ISP到ADSL滤波器这段连接中任何设备的加入都将危害到数据的正常传输,所以在滤波器之前不要并接电话、电话防盗打器等设备。若用老式Modem上网,电话机不能开启防盗打功能。检查ADSL Modem 分频器是否连接正确,即电话进线接分频器Line口,电话或传真机接Phone口,宽带调制解调器电话线接ADSL口。
四是检查电压是否稳定,环境温度是否过高(过低)以及网络线路是否繁忙。
第五步:排除浏览器故障
修复浏览器。将浏览器所有设置恢复到默认值后再试,排除设置因素。修复浏览器,可以通过“添加删除程序”(对IE6)、升级,或用上网助手在线修复。还可以安装其它的浏览器试试。
第六步:排除操作系统故障
一是修复注册表。由于访问恶意网站可能导致计算机注册表被更改,不能上网。通过注册表修复器、上网助手等工具或scanreg /restore命令修复注册表。
二是关掉其它已经运行的部分可能造成冲突的内存驻留程序(或进程)、关闭或禁用其他设备(例如其他的网卡、Modem、共享资源的相关设备等),再尝试是否能上网。
三是检查操作系统文件是否被破坏。用Windows系统文件检查器检查(win98的用sfc,win2000以上的用sfc/scannow),如果提示被破坏则恢复。
四是重装操作系统。从保护数据的角度出发,建议先覆盖安装,如果仍没有解决问题则在准备好驱动程序安装盘、备份好重要资料备份(最好先将系统分区Ghost)的前提下,格式化安装操作系统。
不介意俺再来个小总结吧。再做个小总结吧,DNS服务器设置错误,TCP/IP协议出错,这是最常见的错误。你需要首先检查拨号网络中的主控 DNS和辅助DNS是否有错误,注意这里是检查“拨号网络”的DNS而非“控制面板”中的“网络”的DNS。DNS地址请询问你的当地ISP,你在哪报装的宽带就去那问呗。现在通讯那么发达,一个电话就可以了。什么,你不知道他们电话?俺也不知道,在俺村里不管有什么问题,打110就可以了,还是免费的。你们也可以试下。怎么设DNS就不用问俺了吧,麻烦会的朋友告诉不会的朋友,俺代表党和国家向你敬礼了。
下面再说说由于TCP/IP协议出问题引起的故障,如果你检查过以上设置后发现设置没有错误,但仍然无法浏览网页,那么你就要检查 “TCP/IP”协议是否出错了,在桌面上双击“我的电脑”图标, 再双击“控制面板”,在控制面板中找到“网络”图标,双击它将弹出一个新的窗口,在弹出的窗口中看看“已安装了下列网络组件”中是否安装了以下几项:
×拨号网络适配器
×TCP/IP
这里要特别注意两点:第一,如果这里重复安装了两次拨号网络适配器或TCP/IP,就造成无法浏览网页,怎么看出是重复安装了呢?假如重复安装了拨号网络适配器,你会看到有一行写着“拨号网络适配器#2”或“TCP/IP->拨号网络适配器#2”,这里多了一个“#2",代表你安装了两次,如果发现有这样#2的一行,请务必删除此行。第二,如果这里没有重复安装,但又肯定拨号网络中的配置无误,那么极有可能就是TCP/IP协议出错造成无法浏览网页,解决办法是删除此协议重新安装TCP/IP(注意做此步前请先确定你有windows9x的安装光盘,因为重装时系统需要从此光盘中读取数据),具体方法是:用鼠标左键单击“拨号网络适配器”,再留意此窗口有三个按钮,分别是“添加”、“删除”和“属性”,单击“删除”,这时你会发现“拨号网络适配器”已经被删除,再检查“TCP/IP”,通常如果你没有装其它网卡,删除了拨号网络适配器后TCP/IP也会跟着删除,如果你安装了其它网卡,那么请你用鼠标左键单击含有TCP/IP的行,然后将他们一一删除。单击“确定”。系统会询问你是否重新启动电脑,单击“是”。重启电脑后,再进入“控制面板”,双击“网络”,回到刚才的窗口,然后单击“添加”按钮,一个新的窗口将出现,在此窗口选择“适配器”,再单击“添加”,会出现最后一个新的窗口。此窗口的左边方框是“厂商”,这里选择“Microsoft”,在右边方框中选择“拨号适配器”,单击确定,你会发现现在回到了控制面板中的“网络属性” 窗口,而且“已安装了下列网络组件”中已经重新增加了“拨号网络适配器”和“TCP/IP”协议。单击“确定”系统可能会要求你放入Windows9X的安装光盘,读取数据后会问你是否重新启动电脑,单击“是”,重启电脑后拨号上网,通常到此不能浏览网页的故障都会排除。
提示:以上一段话中有一点请务必注意,有部分朋友反映重装“TCP/IP”后仍然不能浏览网页,经我们测试发现,原因是有些朋友在删除了 “TCP/IP"后没有重启电脑就立即在窗口中重新添加“TCP/IP”,最后重启电脑,这样做是徒劳无功的。请记住务必在删除“TCP/IP”后重启电脑,然后再添加“TCP/IP”,添加后再一次重启电脑,这样总共重启了两次电脑而非只重启一次,只有如此才能解决故障。
总之,本文仅从思路上作了简单剖析,具体操作步骤应视本网络、本机具体情况而定,切不可生搬硬套。而且还要强调一点,因特网上少数站点不能浏览的现象是完全正常的,是因为这些网站可能已注销或被禁止访问。最后再提一点,也有可能是你的IE浏览器本身的问题,换用其它浏览器试试。(可能性比较小)
问题一:服务器错误是什么意思 出现500错误的原因是很多的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。解决的方法就是您必须在中能够正确的获得错误信息,方法为:请打开浏览器,选择工具-internet选项-高级,在高级中的浏览项目里面有一个“显示友好错误提示”的复选框,请取消该复选框,这样您可以获得正确的错误提示、
问题二:服务器错误怎么办 总得来说我们用的电脑跟服务器,其实都是电脑。只是用途不一样而已。用来做服务器的CPU,硬盘比我们平时的电脑要快,大 很多。服务器不是没有显示器,有的服务器是装有显示器的,只是服务器对显示器的要求不高,它用来就是调试下程序和配置的。你如果想体验做服务器的话,你用自己的电脑都也可以做个服务器,最简单的就是你跟朋友一起玩魔兽,CS。你建主机时,这时你的电脑其实就是一个服务器。呵呵。 1,可以做服务器 2,如果有固定ip不需要买空间 3,申请域名,绑定你的ip地址 4,宽带申请固定ip 最好是10m以上光纤网, 5,web就是你的网页 6,个人的b2c 服务器访问量不大,没有问题 7,当你的服务器设置成web服务器,安装server-U,就能打造个ftp服务器 8,配置好域名输入网址就可以访问。 具体问题详查。
问题三:服务器错误是怎么回事? 你好,500错误是内部服务器出现错误的一个友好提示,所有内部服务器出现错误基本上都是显示这个错误信息,但是500错误其实也分很多种情况。一般是权限未开启或ASP文件的语法有问题,还有添加的组件可能不支持等原因,大多数情况是由于权限未开启造成的,具体解决方法网上有详细的解说,lz百度一下就能获取到。
问题四:请问网络或服务器错误该怎么办 你好,1可能是这个时期你的网速不给力,
2或者是服务器更新。
参考如下:
加载很慢或停止不动
1、网络波动造成加载终止,请尝试重新登录(按F5刷新页面)。
2、网络连接方式过慢导致,更换更快的互联网连接方式。
3、网络高峰期造成的网络拥堵现象,请稍候再尝试登录。
4、运行了其他网络程序,如:下载,在线视频(PPLIVE等),请尝试关闭这些网络应用程序后再重新登录。
连接不上《TNT》服务器如果你连接不上服务器,可能会有以下原因造成:1、服务器维护服务器维护期间,所有用户都无法登陆服务器,每次维护前,我们都会在官网发放维护公告来告知大家,请密切关注官网信息。2、Adobe Flash Player版本过低如果你的Adobe Flash Player版本过低,系统将会给予下载提示,请根据提示进行下载安装。如果你不能自动更新,请手动下载:Adobe Flash Player。3、清理IE你可以尝试清理IE后再尝试登录。清理顺序:将所有网页关闭,重新打开一个新的网页,然后再进行清理。清理完毕后尝试重新登录。由于每个IE版本设置都有所不同,下面是IE8的清理IE截图:
打开IE,打开工具栏,选择:“Internet选项”
在常规选项卡里,点击“删除”按钮。
在弹出的页面上直接点“删除”即可。
希望能对你有所帮助。
问题五:网页出现服务器错误的问题是什么原因 1你的网速暂时慢,没有打开网页
2网站服务器出现了错误,打不开网页。
3郸你访问域名不存在,或者拼写错误。
4网址被屏蔽。
5网站已经删除了这个页面(或者对这个网页设置了权限),不能访问或直接访问。
问题六:什么是内部服务器错误 出现500错误的原因是很多的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误。
解决的方法就是您必须在中能够正确的获得错误信息,方法为:请打开浏览器,选择工具,internet选项,高级,在高级中的浏览项目里面有一个“显示友好错误提示”的复选框,请取消该复选框,这样您可以获得正确的错误提示。
在获得正确的错误提示之后,您就可以根据该错误提示检查您具体的出错原因了
大多数情况下,是一个网页中使用了多个@ 命令(调用多个网页往往忽略了这个问题),
去掉就OK 了。
IIS错误500解决方法!
综合分析上面的错误表现我们可以看出,主要是由于IWAM账号(在我的计算机即是IWAM_MYSERVER账号)的密码错误造成了HTTP 500内部错误。在详细分析HTTP500内部错误产生的原因之前,先对IWAM账号进行一下简要的介绍:
IWAM账号是安装IIS5时系统自动建立的一个内置账号,主要用于启动进程之外的应用程序的Internet信息服务。IWAM账号的名字会根据每台计算机NETBIOS储字的不同而有所不同,通用的格式IWAM_MACHINE,即由“IWAM”前缀、连接线“_”加上计算机的NETBIOS名字组成。我的计算机的NETBIOS名字是MYSERVER,因此我的计算机上IWAM账号的名字就是IWAM_MYSERVER,这一点与IIS匿名账号ISUR_MACHINE的命名方式非常相似。IWAM账号建立后被Active Directory、IIS metabase数据库和+应用程序三方共同使用,账号密码被三方分别保存,并由操作系统负责这三方保存的IWAM密码
的同步工作。按常理说,由操作系统负责的工作我们大可放心,不必担心出错,但不知是BUG还是其它什么原因,系统的对IWAM账号的密码同步工作有时会失败,使三方IWAM账号所用密码不统一。当IIS或+应用程序使用错误IWAM的密码登录系统,启动IIS Out-Of-Process Pooled Applications时,系统会因密码错误而拒绝这一请求,导致IIS Out-Of-Process Pooled Applications启动失败,也就是我们在ID10004错误事件中看到的“不能运行服务器{3D14228D-FBE1-11D0-995 D-00C04FD919C1} ”(这里{3D14228D-FBE1-11D0-995D-00C04FD919C1} 是IIS Out-Of-Process Pooled Applications的KEY),不能转入IIS5应用程序,HTTP 500内部错误就这样产生了。
三解决办法知道了导致HTTP 500内部错误的原因,解决起来就比较简单了,那就是人工同步IWAM账号在Active Directory、IIS metabase数据库和+应用程序中的密码。具体操作分三步,均需要以管理员身份登录计算机以提供足够的操作权限
问题七:连接服务器失败是什么原因 1、检查网络是否正常,排除方法登陆网页查看,能正常登陆网页即排除网络原因;
2、排除是否维护、更新,进入游戏官网查看公告即可排除;
3、排除显卡驱动过老过旧,更新显卡驱动至最新版后(也可以到官网查看配置,下载最新显卡驱动),查看能否正常登陆;
4、排除电脑系统与游戏冲突,可重新下载重新安装游戏。
5、按上述办法均不能解决的,请重做电脑系统。
问题八:登陆百度显示连接服务器错误是怎么回事? 1、服务器在维护,请留意官网。
2、服务器注册或者是登录满了。换个试试
3、密码不对,或串号(或被封号)
4、网络不稳定(顺带检查是否管理员身份登录)。打开腾讯电脑管家――工具箱――流量监控(测试网速)
5、时间不对。请调整下时间。
6、IP地址经常自动变换,服务器无法识别。断开重启就可
7、代理问题。打开 interest 属性――“高级”――“HTTP 11”――“通过代理使用HTTP 11 ” 不要勾选
8、,文件被破坏,丢失,需要重新下载或更新。也不排除你的电脑有病毒木马破坏,建议你进行全盘杀毒。
推荐楼主可以试试腾讯电脑管家哟,免费专业安全软件,杀毒管理二合一,占内存小,杀毒好,防护好,无误报误杀。它拥有云查杀引擎、反病毒引擎、金山云查杀引擎、AVIRA查杀引擎、小红伞和查杀修复引擎等世界一流杀毒软件内嵌杀毒引擎!保证杀毒质量。而且操作也很简单,板块明确,新手一试就会。
9、腾讯电脑管家修复下。打开电脑管家――电脑诊所――腾讯专区
问题九:应用程序中的服务器错误,是什么原因?如图 20分 应用程序发生异常怎么办
1检查电脑是否存在病毒,请使用百度卫士进行木马查杀。
2系统文件损坏或丢失,盗版系统或Ghost版本系统,很容易出现该问题。建议:使用完整版或正版系统。
3安装的软件与系统或其它软件发生冲突,找到发生冲突的软件,卸载它。如果更新下载补丁不是该软件的错误补丁,也会引起软件异常,解决办法:卸载该软件,重新下载重新安装试试。顺便检查开机启动项,把没必要启动的启动项禁止开机启动。
4如果检查上面的都没问题,可以试试下面的方法。
打开开始菜单→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\dll) do regsvr32exe /s %1回车。
完成后,在输入下面
for %i in (%windir%\system32\ocx) do regsvr32exe /s %i 回车。
如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。
问题十:手机内部服务器错误是怎么回事? 出现上述情况的原因及解决方法:
1、最有可能是网络状况差,一般如果网络不好,就会显示服务器错误,用户可以等一段时间再尝试登录或者偿个网络状态好的地方登录;
2、软件本身的问题,用户可以先尝试退出软件,关闭后台运行,重新登录看看,如果不行,需要卸载重新下载;
3、手机问题,用户可以在别人是手机上登录看是否能登上,如果能,那么就是自己的手机问题,用户可以重启手机。
Nginx才短短几年,就拿下了web服务器大笔江山,众所周知,Nginx在处理大并发静态请求方面,效率明显高于httpd,甚至能轻松解决C10K问题。下面我们就来聊聊Web服务器背后的一些原理。
进程是具有一定独立功能的,在计算机中已经运行的程序的实体。在早期系统中(如linux 24以前),进程是基本运作单位,在支持线程的系统中(如windows,linux26)中,线程才是基本的运作单位,而进程只是线程的容器。程序本身只是指令、数据及其组织形式的描述,进程才是程序(那些指令和数据)的真正运行实例。若干进程有可能与同一个程序相关系,且每个进程皆可以同步(循序)或异步(平行)的方式独立运行。现代计算机系统可在同一段时间内以进程的形式将多个程序加载到存储器中,并借由时间共享(或称时分复用),以在一个处理器上表现出同时(平行性)运行的感觉。同样的,使用多线程技术(多线程即每一个线程都代表一个进程内的一个独立执行上下文)的操作系统或计算机架构,同样程序的平行线程,可在多 CPU 主机或网络上真正同时运行(在不同的CPU上)。
Web服务器要为用户提供服务,必须以某种方式,工作在某个套接字上。一般Web服务器在处理用户请求是,一般有如下三种方式可选择:多进程方式、多线程方式、异步方式。Web服务器要为用户提供服务,必须以某种方式,工作在某个套接字上。一般Web服务器在处理用户请求是,一般有如下三种方式可选择:多进程方式、多线程方式、异步方式。多进程方式:为每个请求启动一个进程来处理。由于在操作系统中,生成进程、销毁进程、进程间切换都很消耗CPU和内存,当负载高是,性能会明显降低。优点: 稳定性!由于采用独立进程处理独立请求,而进程之间是独立的,单个进程问题不会影响其他进程,因此稳定性最好。缺点: 资源占用!当请求过大时,需要大量的进程处理请求,进程生成、切换开销很大,而且进程间资源是独立的,造成内存重复利用。多线程方式:一个进程中用多个线程处理用户请求。由于线程开销明显小于进程,而且部分资源还可以共享,因此效率较高。优点:开销较小!线程间部分数据是共享的,且线程生成与线程间的切换所需资源开销比进程间切换小得多。缺点:稳定性!线程切换过快可能造成线程抖动,且线程过多会造成服务器不稳定。异步方式:使用非阻塞方式处理请求,是三种方式中开销最小的。但异步方式虽然效率高,但要求也高,因为多任务之间的调度如果出现问题,就可能出现整体故障,因此使用异步工作的,一般是一些功能相对简单,但却符合服务器任务调度、且代码中没有影响调度的错误代码存在的程序。优点:性能最好!一个进程或线程处理多个请求,不需要额外开销,性能最好,资源占用最低。缺点:稳定性!某个进程或线程出错,可能导致大量请求无法处理,甚至导致整个服务宕机。
通过这样的一个复杂过程,一次请求就完成了。简单来说就是:用户请求-->送达到用户空间-->系统调用-->内核空间-->内核到磁盘上读取网页资源->返回到用户空间->响应给用户。上述简单的说明了一下,客户端向Web服务请求过程,在这个过程中,有两个I/O过程,一个就是客户端请求的网络I/O,另一个就是Web服务器请求页面的磁盘I/O。 下面我们就来说说Linux的I/O模型。
通过上面的对连接的处理分析,我们知道工作在用户空间的web服务器进程是无法直接操作IO的,需要通过系统调用进行,其关系如下:
即进程向内核进行系统调用申请IO,内核将资源从IO调度到内核的buffer中(wait阶段),内核还需将数据从内核buffer中复制(copy阶段)到web服务器进程所在的用户空间,才算完成一次IO调度。这几个阶段都是需要时间的。根据wait和copy阶段的处理等待的机制不同,可将I/O动作分为如下五种模式:
这里有必要先解释一下阻塞、非阻塞,同步、异步、I/O的概念。
阻塞和非阻塞指的是执行一个操作是等操作结束再返回,还是马上返回。比如餐馆的服务员为用户点菜,当有用户点完菜后,服务员将菜单给后台厨师,此时有两种方式:第一种:就在出菜窗口等待,直到厨师炒完菜后将菜送到窗口,然后服务员再将菜送到用户手中;第二种:等一会再到窗口来问厨师,某个菜好了没?如果没有先处理其他事情,等会再去问一次;第一种就是阻塞方式,第二种则是非阻塞的。
同步和异步又是另外一个概念,它是事件本身的一个属性。还拿前面点菜为例,服务员直接跟厨师打交道,菜出来没出来,服务员直接指导,但只有当厨师将菜送到服务员手上,这个过程才算正常完成,这就是同步的事件。同样是点菜,有些餐馆有专门的传菜人员,当厨师炒好菜后,传菜员将菜送到传菜窗口,并通知服务员,这就变成异步的了。其实异步还可以分为两种:带通知的和不带通知的。前面说的那种属于带通知的。有些传菜员干活可能主动性不是很够,不会主动通知你,你就需要时不时的去关注一下状态。这种就是不带通知的异步。对于同步的事件,你只能以阻塞的方式去做。而对于异步的事件,阻塞和非阻塞都是可以的。非阻塞又有两种方式:主动查询和被动接收消息。被动不意味着一定不好,在这里它恰恰是效率更高的,因为在主动查询里绝大部分的查询是在做无用功。对于带通知的异步事件,两者皆可。而对于不带通知的,则只能用主动查询。
回到I/O,不管是I还是O,对外设(磁盘)的访问都可以分成请求和执行两个阶段。请求就是看外设的状态信息(比如是否准备好了),执行才是真正的I/O操作。在Linux 26之前,只有“请求”是异步事件,26之后才引入AIO(asynchronous I/O )把“执行”异步化。别看Linux/Unix是用来做服务器的,这点上比Windows落后了好多,IOCP(Windows上的AIO,效率极高)在Win2000上就有了。所以学linux的别老觉得Windows这里不好那里不好(Windows的多线程机制也由于linux)。
根据以上分析,I/O可分为五种模型:
Linux上的前四种I/O模型的“执行”阶段都是同步的,只有最后一种才做到了真正的全异步。第一种阻塞式是最原始的方法,也是最累的办法。当然累与不累要看针对谁。应用程序是和内核打交道的。对应用程序来说,这种方式是最累的,但对内核来说这种方式恰恰是最省事的。还拿点菜这事为例,你就是应用程序,厨师就是内核,如果你去了一直等着,厨师就省事了(不用同时处理其他服务员的菜)。当然现在计算机的设计,包括操作系统,越来越为终端用户考虑了,为了让用户满意,内核慢慢的承担起越来越多的工作,IO模型的演化也是如此。非阻塞I/O ,I/O复用,信号驱动式I/O其实都是非阻塞的,当然是针对“请求”这个阶段。非阻塞式是主动查询外设状态。I/O复用里的select,poll也是主动查询,不同的是select和poll可以同时查询多个fd(文件句柄)的状态,另外select有fd个数的限制。epoll是基于回调函数的。信号驱动式I/O则是基于信号消息的。这两个应该可以归到“被动接收消息”那一类中。最后就是伟大的AIO的出现,内核把什么事都干了,对上层应用实现了全异步,性能最好,当然复杂度也最高。
说明:应用程序调用一个IO函数,导致应用程序阻塞,等待数据准备好。 如果数据没有准备好,一直等待数据准备好了,从内核拷贝到用户空间,IO函数返回成功指示。这个不用多解释吧,阻塞套接字。下图是它调用过程的图示:(注,一般网络I/O都是阻塞I/O,客户端发出请求,Web服务器进程响应,在进程没有返回页面之前,这个请求会处于一直等待状态)
我们把一个套接口设置为非阻塞就是告诉内核,当所请求的I/O操作无法完成时,不要将进程睡眠,而是返回一个错误。这样我们的I/O操作函数将不断的测试数据是否已经准备好,如果没有准备好,继续测试,直到数据准备好为止。在这个不断测试的过程中,会大量的占用CPU的时间,所有一般Web服务器都不使用这种I/O模型。具体过程如下图:
I/O复用模型会用到select或poll函数或epoll函数(Linux26以后的内核开始支持),这两个函数也会使进程阻塞,但是和阻塞I/O所不同的的,这两个函数可以同时阻塞多个I/O操作。而且可以同时对多个读操作,多个写操作的I/O函数进行检测,直到有数据可读或可写时,才真正调用I/O操作函数。具体过程如下图:
首先,我们允许套接口进行信号驱动I/O,并安装一个信号处理函数,进程继续运行并不阻塞。当数据准备好时,进程会收到一个SIGIO信号,可以在信号处理函数中调用I/O操作函数处理数据。具体过程如下图:
当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者的输入输出操作。具体过程如下图:
从上图中我们可以看出,可以看出,越往后,阻塞越少,理论上效率也是最优。其五种I/O模型中,前三种属于同步I/O,后两者属于异步I/O。
同步I/O:
异步I/O:
异步 I/O 和 信号驱动I/O的区别:
注,其中iocp是Windows实现的,select、poll、epoll是Linux实现的,kqueue是FreeBSD实现的,/dev/poll是SUN的Solaris实现的。select、poll对应第3种(I/O复用)模型,iocp对应第5种(异步I/O)模型,那么epoll、kqueue、/dev/poll呢?其实也同select属于同一种模型,只是更高级一些,可以看作有了第4种(信号驱动I/O)模型的某些特性,如callback机制。
答案是,他们无轮询。因为他们用callback取代了。想想看,当套接字比较多的时候,每次select()都要通过遍历FD_SETSIZE个Socket来完成调度,不管哪个Socket是活跃的,都遍历一遍。这会浪费很多CPU时间。如果能给套接字注册某个回调函数,当他们活跃时,自动完成相关操作,那就避免了轮询,这正是epoll、kqueue、/dev/poll做的。这样子说可能不好理解,那么我说一个现实中的例子,假设你在大学读书,住的宿舍楼有很多间房间,你的朋友要来找你。select版宿管大妈就会带着你的朋友挨个房间去找,直到找到你为止。而epoll版宿管大妈会先记下每位同学的房间号,你的朋友来时,只需告诉你的朋友你住在哪个房间即可,不用亲自带着你的朋友满大楼找人。如果来了10000个人,都要找自己住这栋楼的同学时,select版和epoll版宿管大妈,谁的效率更高,不言自明。同理,在高并发服务器中,轮询I/O是最耗时间的操作之一,select、epoll、/dev/poll的性能谁的性能更高,同样十分明了。
诚然,Windows的IOCP非常出色,目前很少有支持asynchronous I/O的系统,但是由于其系统本身的局限性,大型服务器还是在UNIX下。而且正如上面所述,kqueue、epoll、/dev/poll 与 IOCP相比,就是多了一层从内核copy数据到应用层的阻塞,从而不能算作asynchronous I/O类。但是,这层小小的阻塞无足轻重,kqueue、epoll、/dev/poll 已经做得很优秀了。
只有IOCP(windows实现)是asynchronous I/O,其他机制或多或少都会有一点阻塞。select(Linux实现)低效是因为每次它都需要轮询。但低效也是相对的,视情况而定,也可通过良好的设计改善epoll(Linux实现)、kqueue(FreeBSD实现)、/dev/poll(Solaris实现)是Reacor模式,IOCP是Proactor模式。Apache 229之前只支持select模型,229之后支持epoll模型Nginx 支持epoll模型Java nio包是select模型
我们都知道Apache有三种工作模块,分别为prefork、worker、event。prefork:多进程,每个请求用一个进程响应,这个过程会用到select机制来通知。worker:多线程,一个进程可以生成多个线程,每个线程响应一个请求,但通知机制还是select不过可以接受更多的请求。event:基于异步I/O模型,一个进程或线程,每个进程或线程响应多个用户请求,它是基于事件驱动(也就是epoll机制)实现的。
如果不用“--with-mpm”显式指定某种MPM,prefork就是Unix平台上缺省的MPM它所采用的预派生子进程方式也是 Apache13中采用的模式。prefork本身并没有使用到线程,20版使用它是为了与13版保持兼容性;另一方面,prefork用单独的子进程来处理不同的请求,进程之间是彼此独立的,这也使其成为最稳定的MPM之一。
相对于prefork,worker是20版中全新的支持多线程和多进程混合模型的MPM。由于使用线程来处理,所以可以处理相对海量的请求,而系统资源的开销要小于基于进程的服务器。但是,worker也使用了多进程,每个进程又生成多个线程,以获得基于进程服务器的稳定性,这种MPM的工作方 式将是Apache20的发展趋势。
一个进程响应多个用户请求,利用callback机制,让套接字复用,请求过来后进程并不处理请求,而是直接交由其他机制来处理,通过epoll机制来通知请求是否完成;在这个过程中,进程本身一直处于空闲状态,可以一直接收用户请求。可以实现一个进程程响应多个用户请求。支持持海量并发连接数,消耗更少的资源。
有几个基本条件:
刚好,Nginx 支持以上所有特性。所以Nginx官网上说,Nginx支持50000并发,是有依据的。
传统上基于进程或线程模型架构的web服务通过每进程或每线程处理并发连接请求,这势必会在网络和I/O操作时产生阻塞,其另一个必然结果则是对内存或CPU的利用率低下。生成一个新的进程/线程需要事先备好其运行时环境,这包括为其分配堆内存和栈内存,以及为其创建新的执行上下文等。这些操作都需要占用CPU,而且过多的进程/线程还会带来线程抖动或频繁的上下文切换,系统性能也会由此进一步下降。另一种高性能web服务器/web服务器反向代理:Nginx(Engine X),nginx的主要着眼点就是其高性能以及对物理计算资源的高密度利用,因此其采用了不同的架构模型。受启发于多种操作系统设计中基于“事件”的高级处理机制,nginx采用了模块化、事件驱动、异步、单线程及非阻塞的架构,并大量采用了多路复用及事件通知机制。在nginx中,连接请求由为数不多的几个仅包含一个线程的进程worker以高效的回环(run-loop)机制进行处理,而每个worker可以并行处理数千个的并发连接及请求。
Nginx会按需同时运行多个进程:一个主进程(master)和几个工作进程(worker),配置了缓存时还会有缓存加载器进程(cache loader)和缓存管理器进程(cache manager)等。所有进程均是仅含有一个线程,并主要通过“共享内存”的机制实现进程间通信。主进程以root用户身份运行,而worker、cache loader和cache manager均应以非特权用户身份运行。
主进程主要完成如下工作:
注:如果负载以CPU密集型应用为主,如SSL或压缩应用,则worker数应与CPU数相同;如果负载以IO密集型为主,如响应大量内容给客户端,则worker数应该为CPU个数的15或2倍。
Nginx的代码是由一个核心和一系列的模块组成, 核心主要用于提供Web Server的基本功能,以及Web和Mail反向代理的功能;还用于启用网络协议,创建必要的运行时环境以及确保不同的模块之间平滑地进行交互。不过,大多跟协议相关的功能和某应用特有的功能都是由nginx的模块实现的。这些功能模块大致可以分为事件模块、阶段性处理器、输出过滤器、变量处理器、协议、upstream和负载均衡几个类别,这些共同组成了nginx的http功能。事件模块主要用于提供OS独立的(不同操作系统的事件机制有所不同)事件通知机制如kqueue或epoll等。协议模块则负责实现nginx通过http、tls/ssl、smtp、pop3以及imap与对应的客户端建立会话。在Nginx内部,进程间的通信是通过模块的pipeline或chain实现的;换句话说,每一个功能或操作都由一个模块来实现。例如,压缩、通过FastCGI或uwsgi协议与upstream服务器通信,以及与memcached建立会话等。
处理静态文件,索引文件以及自动索引;反向代理加速(无缓存),简单的负载均衡和容错;FastCGI,简单的负载均衡和容错;模块化的结构。过滤器包括gzipping, byte ranges, chunked responses, 以及 SSI-filter 。在SSI过滤器中,到同一个 proxy 或者 FastCGI 的多个子请求并发处理;SSL 和 TLS SNI 支持;
使用外部 HTTP 认证服务器重定向用户到 IMAP/POP3 后端;使用外部 HTTP 认证服务器认证用户后连接重定向到内部的 SMTP 后端;认证方法:POP3: POP3 USER/PASS, APOP, AUTH LOGIN PLAIN CRAM-MD5;IMAP: IMAP LOGIN;SMTP: AUTH LOGIN PLAIN CRAM-MD5;SSL 支持;在 IMAP 和 POP3 模式下的 STARTTLS 和 STLS 支持;
FreeBSD 3x, 4x, 5x, 6x i386; FreeBSD 5x, 6x amd64;Linux 22, 24, 26 i386; Linux 26 amd64;Solaris 8 i386; Solaris 9 i386 and sun4u; Solaris 10 i386;MacOS X (104) PPC;Windows 编译版本支持 windows 系列操作系统
一个主进程和多个工作进程,工作进程运行于非特权用户;kqueue (FreeBSD 41+), epoll (Linux 26+), rt signals (Linux 2219+), /dev/poll (Solaris 7 11/99+), select, 以及 poll 支持;kqueue支持的不同功能包括 EV_CLEAR, EV_DISABLE (临时禁止事件), NOTE_LOWAT, EV_EOF, 有效数据的数目,错误代码;sendfile (FreeBSD 31+), sendfile (Linux 22+), sendfile64 (Linux 2421+), 和 sendfilev (Solaris 8 7/01+) 支持;输入过滤 (FreeBSD 41+) 以及 TCP_DEFER_ACCEPT (Linux 24+) 支持;10,000 非活动的 HTTP keep-alive 连接仅需要 25M 内存。最小化的数据拷贝操作;
基于IP 和名称的虚拟主机服务;Memcached 的 GET 接口;支持 keep-alive 和管道连接;灵活简单的配置;重新配置和在线升级而无须中断客户的工作进程;可定制的访问日志,日志写入缓存,以及快捷的日志回卷;4xx-5xx 错误代码重定向;基于 PCRE 的 rewrite 重写模块;基于客户端 IP 地址和 HTTP 基本认证的访问控制;PUT, DELETE, 和 MKCOL 方法;支持 FLV (Flash 视频);带宽限制;
在高连接并发的情况下,Nginx是Apache服务器不错的替代品: Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一 能够支持高达 50,000 个并发连接数的响应, 感谢Nginx为我们选择了 epoll and kqueue 作为开发模型。Nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务 Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多。作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Lastfm 描述了成功并且美妙的使用经验Nginx 安装非常的简单 , 配置文件非常简洁(还能够支持perl语法),Bugs 非常少的服务器: Nginx 启动特别容易, 并且几乎可以做到724不间断运行,即使运行数个月也不需要重新启动 你还能够 不间断服务的情况下进行软件版本的升级 。Nginx 的诞生主要解决C10K问题
QQ的会员可以能够使用HTTP代理的功能而非会员就只能使用Socks代理了有些公司网络只能上网浏览不能使用QQ主要是封了Socks端口避免员工上班的时候用QQ聊天其实这种情况也有办法解决首先下载一个SocksOnline软件是将普通HTTP代理转换为[万能"的Socks5代理的工具SocksOnline代理是利用了CommOnline的在线通讯能力进行Socks代理转接SocksOnline代理使用非常简单只要将客户端应用的Socks5代理设置到SocksOnline的地址客户端即能正常使用 ICQ中使用代理 假设你有Socks5代理服务器例如:2029658241,则在oicq系统菜单==>喜好设定==>连接下选择 [我在防火墙下或PROXY下"==>点击[防火墙设置"==>选择[我使用Socks5 proxy服务器"==>下一步==〉在socks5(防火墙)主机地址中填入代理的地址==> 端口号中填入sockes5的端口号(一般是1080)如果不确定代理服务器是否可用可以按[检查我的防火墙/PROXY设置" ==>点击[完成" ICQ2000中使用代理 icq==>preferences==>connections==>firewall==> proxies/firewall==>选择代理服务器类型 socks4 or socks5 or https ==>在proxy server 页里填上host地址和port ==>最后不要忘记选择use proxy to resolve hostnames注意:本站长没试验过但是据一些网友们说在安装时候如果不使用代理服务器后来使用时可能将不能使用代理服务器上icq 使用代理上oicq 假设你有Socks5代理服务器例如:2029658241,则在oicq系统菜单==>系统参数==>网络设置下在使用Proxy Socks5 防火墙前面打勾==>在防火墙地址中填入代理的地址==> 端口号中填入socks5的端口号(一般是1080)如果不确定代理服务器是否可用可以按校验用户密码边上的测试按钮进行测试 使用FTP代理服务器(上传/下载文档) 一般FTP软件设置,服务器栏:代理服务器地址账号为:账号@原FTP服务器地址密码为:原来的账号口令以CUTE FTP之中使用FTP代理为例子菜单栏[FPT"==〉[SETTINGS"==〉[OPTIONS"==〉[FIRE WALL==〉HOST:代理服务器地址==〉PORT:21==〉TYPE:USERuser@site==〉选择[Enable firewall" CUTE FTP中使用socks代理服务器(上传/下载文档) 以CUTE FTP40为例:Edit==>Settings==>Connection==>Socks==>选择[socks4"或[socks5"==>在Host旁边填写上socks4或socks5代理服务器的地址(鉴于socks5十分紧俏又不稳定请使用socks4为好)==>选择[Firewall"把[Enable fire ac"旁边的复选框中的钩去掉==>点击确定现在就可以大大方方的使用socks4代理服务器上传主页了(虽然多数socks代理都能上传主页但有部分socks代理由于不允许同一ip重复联接可能不能上传出现这种情况时请换一个socks代理) 首先向大家推荐两个软件:sockscap和socks2httpsockscap我想就不用多说了吧如果你有socks代理用了这个自然就能实现二级代理不过socks代理倒是不多而socks2http是用http代理模拟socks5代理 比如用20238644:8080做socks代理在socks2http设置中如是填入后填入你的帐号和密码再点击 "完成"即可使用时在你所用的软件中的socks5代理栏处 填入localhost端口1080 这样你所用的自然就是20238644的socks代理了 或者运行sockscap在socks代理设置中填localhost注意只能用socks5不能做socks4代理 但用http模拟的socks代理限于很少的一些网络软件http浏览没什么问题(注意IE4不支持sockacap)可telnetftp就不一定了好像只有本身支持socks代理的软件才行建议在telnet时使用Sterm10在ftp时用Absoluteftp(注意需要使用二级代理的软件一定要在sockscap里运行你所用的第一级代理才能生效) 哇塞用了这个法子好处可多多哟!特别是使用644的大侠们用它telnetftp前面已述当教育网那条路断了时用644还是可以的说特别是可以不再有什么几条线程的限制了也没有什么不能下载mp3及rm文件的限制了不信你试试看!只是有点遗憾不能用这个方法上oicq! 我想有了这个方法后大家再也不用愁什么二级代理的问题了吧象你如果用644模拟成socks5后照上述方法再用一个国内的免费代理连出国速度也还不马马虎虎只是你的钞票会哗啦哗啦往外流得少一点了吧! 下载: socks2http http://mailustceducn/-adamxc/zip/s2hzip sockscap http://mailustceducn/-adamxc/zip/SocksCap32zip 对于一些没有出校IP只有学校proxy的朋友得要用三级代理设置三级代理就得要httport +socks2http+ sockscap一起用了先搜索校内可用的代理例如:2021202536(假设)在httport中用第一级2021202536,或申请国内浏览服务器(注意要填上你的帐号和密码)第二级用支持SSL的免费代理在httport的"端口映射"--->外部http代理"中设定然后在socks2http里用代理localhost端口就是你在上述"外部http代理"中你用的本地端口(2021202536)下面就是用sockscap在里面启动IE那个能下载文献的代理就往IE里设代理的地方填
推荐一个软件《Proxifier》
这个问题我也遇到过,研究了三天,终于明白了。
用这个软件能解决。(我的也是Win7,同样的问题)
服务器上必须有CCProxy
客户端(就是你要玩游戏的电脑上)装Proxifier
安装之后有三项设置
1设置---p代理设置---把里面默认的都删掉,添加一个新的---地址就是服务器地址,端口号是服务器SOCKS Version 5的端口号,协议选SOCKS Version 5,如果服务器那有密码就点认证加入账号密码,服务器没设密码就不用管---确定完成记得点上对钩。
2设置---代理规则---选处理所有那项,里面选项的对勾都点掉---确定完成。
3设置---域名解析处理---先本地再远程---确定完成。
这样开启软件之后就可以上网了,而且IE选项里的代理服务器设置也都可以取消了。
因为所有上网都从这个代理软件上走了。
如果觉得我回答的不明确可以找找Proxifier使用的纯技术贴,有图有真相,看了你就明白了。
注意第一步里的端口号可能和Http协议的端口号不是同一个,最好能在服务器上看一下,如果服务器没设置,默认应该是1080。
0条评论