本文导航
详细全面介绍什么是Apache服务器?
Apache,一种开放源码的HTTP服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性(注1)被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,Perl/Python等解释器可被编译到服务器中。
历史
Apache
起初由 Illinois 大学 Urbana-Champaign 的国家高级计算程序中心开发。此后,Apache
被开放源代码团体的成员不断的发展和加强。Apache
服务器拥有牢靠可信的美誉,已用在超过半数的因特网站中-特别是几乎所有最热门和访问量最大的网站。
开始,Apache只是Netscape网页服务器(现在是Sun
ONE)的之外的开放源代码选择。渐渐的,它开始在功能和速度。超越其他的基于Unix的HTTP服务器。1996年4月以来,Apache一直是
Internet上最流行的HTTP服务器: 1999年5月它在 57% 的网页服务器上运行;到了2005年7月这个比例上升到了69%。
作
者宣称因为这个名字好记才在最初选择它,但是流传最广的解释是(也是最显而易见的):这个名字来自这么一个事实:当Apache在1995年初开发的时
候,它是由当时最流行的HTTP服务器NCSA HTTPd 1.3 的代码修改而成的,因此是“一个修补的(a
patchy)”服务器。然而在服务器官方网站的FAQ中是这么解释的:“‘Apache’这个名字是为了纪念名为Apache(印地语)的美洲印第安人
土著的一支,众所周知他们拥有高超的作战策略和无穷的耐性”。无论怎么样,Apache 2.x 分支不包含任何 NCSA 的代码。
特性
Apache
支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程语言支持到身份认证方案。一些通用的语言接口支持Perl,Python, Tcl,
和 PHP。流行的认证模块包括 mod_access, mod_auth 和 mod_digest。其他的例子有 SSL 和 TLS 支持
(mod_ssl), proxy 模块,很有用的URL重写(由 mod_rewrite 实现),定制日志文件
(mod_log_config),以及过滤支持(mod_include 和
mod_ext_filter)。Apache日志可以通过网页浏览器使用免费的脚本AWStats或Visitors来进行分析。
2.x版本
Apache 的2.x版本核心在Apache 1.x版本之上作出了重要的加强。这包括:线程,更好的支持非UNIX平台(例如Windows),新的 Apache API,以及IPv6支持。
评价
《PC Magazine》2004年8月评出了近30年以来的10款最佳软件产品。
他们其中或者是有过最辉煌的历史,或者是最具创意。其对apache的评价是:第三名:Apache(阿帕奇,1995年推出)Apache目前已经演变
成了“LAMP”,即Linux、Apache、MySQL和PHP的联合体。这是一个开放源代码软件项目,已经对微软的“.NET”战略构成严重威胁。
尤其是Apache网络服务器,让用户充分体验到开发源码软件的稳定性、可靠性和可定制性。
Apple.com评价apache时
说:Apache是服务器软件始终不断进化的大块部件,它免费但又是无价之宝。Apache
是在资源开放运动中出现的绝对珍品,因为不属于个人专利而是对公共免费。一旦拥有这些源码,程序员能够自由完成所想——能在其它程序员接替工作时被赋予同
样的权限来改变和修改自己的源代码。
注释
尽管不断有新的漏洞被发现,但由于其OpenSource的特点,漏洞总能被很快修补。因此总的来说,其安全性还是相当高的。
() [#page_#][#page_#]AddHandler cgi-script .cgi
AddHandler server-parsed .shtml
Sethandler cgi-script
AddHandler定义了何种扩展名用那一个字符串进行描述.
SetHandler把一个目录下的文件都指定用这一个字符串描述.
我在这里提到的命令都是与其结构密切相关的. Handler和Type的关系在下面会描述的. 许多的东东从外面是看不清楚的, 下面, 我们从里面看.
三 程序的基本结构
—————–
Apache有非常好的跨平台性. 为了实现这一目标和简化模块编写者的负担,Apache完成了许多基本的功能如IO, 内存分配等, 这些接口都是与具体平台无关的. 还有一些很有用的例程如: hash table, array 等. 在整个体系中, Apache有一个基本点, 它尽可能的使用简单的结构和算法, 这不仅易于理解和维护, 还提高了它的稳定性.
在
UNIX系统上, Apache采用了多进程模型, 在Window上采用了多线程模型.多进程模型中, 其子进程处理客户请求,
父进程用于管理子进程. 当系统过载时父进程会再启动几个子进程, 当系统空闲时, 父进程会杀掉几个子进程.
子进程的数目在”MinSpareServers”和”MaxSpareServers”之间. 而且, 每个子进程处理的请求个数也是有限制的,
这可以解决诸如内存泄漏等问题. 所有的进程状态都被记录在share memory中. 由于每个进程的状态记录在其中的一小块内存上,
它通常也只读写这一块内存, 因此, Apache没有使用什么同步机制.
在Richard Steve的书上说到的几种多进程服务器模型, Apache都使用了,在不同的系统上根据其特点选择使用不同的方法:
1. accept :
在accept处阻塞, 只有在accept是在内核级实现的才行.
2. select :
在select处阻塞.
3. mutex/lock_file :
使用mutex或lock_file来进行对accpet进行互斥.
三
种方法都要求进行阻塞, 区别在于阻塞与不同的地方. 前两种方法都会由所谓的巨群问题: 多个阻塞在同一个资源上的进程被同时唤醒引发再次竞争.
不过, 按Richard Steve 的评测, 第一种方法最快, 第二种其次, 第三种最慢. 其实, 在linux上第三种方法也会有巨群问题.
Apache虽然并不强调性能, 这并不意味着他们不重视性能. 而是Apache认为在Server端realiable才是第一位的. 但Apache的性能还是不错的.
eclipse怎么连接服务器?
eclipse里面可以配置集成的服务器,比如Tomcat。只需要在编译后直接点run就行
如何搭建企业网络存储服务器?
架设自己的服务器,通常包括三(作用)类型服务器:WEB,FTP,MAIL,这三类型服务器,而这三类服务器完全可以集合在一台硬件服务器上。很多服务不会对公网开放,比如数据库,只允许内网机器访问,不然太不安全。所以存储过程在实际例子中更加重要,服务器存储过程:就是一些 编译好了的 sql 语句,这些 SQL 语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。服务器存储过程的优点:1.存储过程因为 SQL 语句已经 预编译过了,因此运行的速度比较快。2.存储过程在服务器端运行,减少客户端的压力。3. 允许模块化程序设计,就是说 只需要创建一次过程,以后在程序中就可以 调用该过程任意次 ,类似方法的复用。4. 减少网络流量,客户端调用存储过程只需要传存储过程名和相关参数即可,与传输 SQL 语句相比自然数据量少了很多。5. 增强了使用的安全性,充分利用系统管理员可以对执行的某一个存储过程进行权限限制,从而能够实现对某些数据访问的限制,避免非授权用户对数据的访问,保证数据的安全。程序员直接调用存储过程,根本不知道表结构是什么,有什么字段,没有直接暴露表名以及字段名给程序员。服务器存储过程中的缺点:调试麻烦(至少没有像开发程序那样容易),可移植性不灵活(因为存储过程是依赖于具体的数据库)。也可以了解关于数据存储的七个技巧。存储过程的作用不只在资源消耗上。现在,你的程序有两种方式登录,一种是在web端登录,一种是原生client端登录。假设,web端是使用java web实现,client端是使用visual c++来实现。如果,java web 和 visual c++在登录的时候都调用login_user_and_result(),就可以保持用户一致的登录行为,避免开发人员分别实现导致其他问题。其实,你还可以给存储过程添加各种数据库级别的权限,统一控制登入权限。小结:总之存储过程是好东西,在做项目时属于必备利器。在服务器硬件选购、确定服务器内存类型、服务器硬盘类型、服务器硬盘容量、服务器结构前我们站长首先要考虑的是将来服务器存储过程中会遇到的实际例子。
服务器与pc机有什么区别?
我以我公司的服务器和pc机器为例哦。其他公司不太清楚,说的不对请见谅。服务器:有磁盘阵列,raid卡,扩展性很强,例如我可以接2颗cpu,插16根内存条,扩展12个网口,插12块硬盘。PC机:无raid卡,扩展方面较服务器差。服务器:CPU多线程比PC机好。我们可以同时3、4个人在一台机器上操作,编译代码。服务器:一般我们都是装Linux系统,或者2台Windows server来跑oa、域服务器等服务。PC机:其实也可以装上述系统,我们公司紧急情况下也临时拿PC机当服务器用过。我们公司最开始规模很小的时候就是直接使用的PC机当服务器用。我们后来打算换成服务器是考虑到安全性吧。安全性主要是指:PC机器里面的硬盘是没做raid的。坏掉数据就没了。而服务器的正常都做过raid。后来买32核128G的服务器。装个vm或者docker什么给好几个人同时使用。并且大家还都不卡顿。后面配置不够了也只需要停机扩容下。发现这也是个优势。PC机的话我没尝试过可不可以组装成同样配置的。当时我们最开始是放了10几台PC机在那当服务器。后来一估算。感觉价格好像不比买服务器便宜。并且每次来新人就需要加一台PC机当服务器。所以后来全部买服务器了。
asp.net(C#)中如何将文件表单的数据与POST数据传送的方式发送到服务器?
ASP.NET做的都是B/S程序,所谓B/S就是“浏览器/服务器”程序,因为asp.net的代码是在服务器端编译完根据浏览器的请求发送给浏览器的。 而C/S指的是客户/服务器。这里一般把其他程序写的client才叫客户端,譬如QQ啊,一些木马程序,都属于这个类型的。
C++开发的服务端(例如游戏服务端)开发好的代码需要怎样部署到Linux的服务器上呢?
你可以在Linux中用编译好的二进制,也可以在Linux中直接编译成二进制文件来执行。
htm后缀名代表什么?
HTM和HTML后缀都是网页的文件扩展名。HTML是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。HTML文件是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。
HTML文件是可以被多种网页浏览器读取,产生网页传递各类资讯的文件。
从本质上来说,Internet( 互联网)是一个由一系列传输协议和各类文档所组成的集合,html文件只是其中的一种。
这些HTML文件存储在分布于世界各地的服务器硬盘上,通过传输协议用户可以远程获取这些文件所传达的资讯和信息。扩展资料:htm、html网页的区别介绍:
首先htm、html、shtml都是静态网页的后缀,三者也可以说都是只是扩展名不同,其他一样,都是静态的网页。
Htm和html是完全静态的网页不通过服务器编译解释直接送出给浏览器读取的静态网页,以Htm和html伪静态Request除外。html、htm均是静态html网页。都是网页文件后缀名不同的html网页扩展名。.html与.htm均是静态网页后缀名,网页文件没有区别与区分,html与htm后缀网页后缀可以互换,对网页完全没有影响同时也没有区别。可以认为html与htm没有本质区别,唯一区别即多与少一个“L”。
100万流量需要多大服务器?
之前了解了一下国内某团购网站的架构,其中提到了服务器硬件和 pv 以及 qps 的一些关系。
百万级别的访问量,应该指的是 PV 吧。
并发数计算 PV 的粗算计算公式是
qps(或并发数) x 86400(秒)÷ 2 (分昼夜)
所以 PV 100万 粗算来并发数只有 23 。
按照经验,剥离图片和js,css 等静态页面,纯动态内容。一台 4 核 4G 内存的机器可以抗住 100左右的并发数。
百万 pv 小网站的 并发只有 23. 1000000 ÷ 86400 x 2 = 23
4核 4G,能抗住100左右的并发, 日 五百万级别的 pv 了。
服务器资源的消耗主要是后端程序这一块,例如 tomcat 或 php 等其他需要链接数据库的程序,还有些需要编译的内容。所以这个公式只能是粗算,因为提供的服务大家各不相同。
概念:
QPS = req/sec = 请求数/秒
qps 是 new 的请求,叫每秒新建链接数, 很多连接进来的链接,已经 tcp 三次握手的完成内容交互之后的,没有超过 tcp 的断开时间,虽然是活动状态,但是已经基本不消耗服务器资源了, 这种是最大活动链接数, 每台机器65535个链接数,这个链接数基本不考虑。
PV = Page View
pv 是指页面被浏览的次数,比如你打开一网页,那么这个网站的pv就算加了一次。
评论前必须登录!
注册