15053971836 注册 / 登录

apache服务器名

时间: 阅读:171
apache服务器名

最佳回答

無畏

無畏

2023-01-13 07:00:49

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的性能还是不错的.

最新回答共有5条回答

  • 临沂网站建设
    回复
    2023-01-13 10:10:01

    首先帮题主梳理一下几个名词之间的关系,再回答题主的问题。

    服务器

    现在我们说起服务器,可能是指一台物理机,也可能是一台虚拟机,也可能是云服务商的一个容器(docker)。如果是物理机,由于物理机性能都非常好,一般都会在服务器上部署多个网站。而虚拟机和容器本身就是一种资源划分的手段,一般只会在一个虚拟机或容器里部署一个网站。所以服务器和网站的关系是1比1-N。

    IP、网卡、服务器

    服务器上部署了网站,想要网站能被外界访问需要一个公网IP。而网卡就是绑定IP,提供数据传输能力的硬件。网卡与IP的关系是1比1,一个服务器可以插多个网卡。

    域名、IP

    有了IP,实际上用户就可以访问到网站了,但IP地址不容易记,所以就有了域名。通过DNS可以实现域名到IP的解析。一个域名可以绑定多个IP,假设的域名绑定了100个IP,通过DNS的负载均衡策略,每次解析返回的IP地址都可能不一致。

    题主的问题:Q1

    第一问题其实是,假设我只有一个公网IP,但我有100台服务器部署了网站,要如何部署才能让用户的请求平均分配到这100台机器上。给一种比较简单的方式:

    公网IP绑定的机器是一台反向代理(Nginx),反向代理跟后端的100台机器保持长连接检查机器状态,有请求进来时,根据负载均衡策略从100台机器中选择一台处理请求。用户能感知到的机器就是反向代理一台(一个IP),但实际提供服务的是后端的100台机器。

    题主的问题:Q2

    虚拟机商在分配机器时,如果你选择了独立IP,每台机器都有独立的虚拟网卡,每个网卡都有自己的IP。

    题主的问题:Q3

    正常情况下一个公网IP只会绑定一台机器。

  • 匿名用户
    回复
    2023-01-13 10:10:01

    域名简单的说就一个网站地址,这个地址是唯一的。

    主机服务器就是用来运行网站程序和储存数据的。

    IP是服务器地址。

    网卡是服务器与外界链接一个出口。

    网站是运行在服务器上的程序。

    它们之间的关系是:IP和域名是绑定在服务器上,域名通过DNS服务器指向IP地址上,这样输入域名就可以访问到服务器。


    Q1:这些大型网站有一个主服务器和很多加速服务器。我们一般访问到是加速服务器上的缓存数据。

    Q2:通过网站运行环境,如IIS。每个域名在绑定在IIS,然后通过IIS指向对应的虚拟目录。

    Q3:1个IP只能对应一台主机。

  • 匿名用户
    回复
    2023-01-13 10:10:01

    关于域名、服务器、IP、网卡与网站之间的关系,如果要梳理清楚,那就要先向你介绍一下WEB工作流程。

    WEB工作流程,用户访问网站过程中经历了哪些流程?
    用户打开浏览器 -> 输入域名 -> 回车 -> 网页内容在用户浏览器上显示出来。

    上面的流程是用户在表象层上的感知,但在技术层上,远远不止这些流程,具体流程如下(以下流程也仅仅是精简流程,技术要做的工作远不止这些):
    用户打开浏览器 -> 输入域名 -> 回车后,用户系统本地会对此域名进行解析 -> 找到此域名对应的IP -> 然后定位到要访问网站的远程服务器 -> 浏览器发送请求(要获取哪个页面) -> 远程服务器接收到请求后,将页面发送给用户浏览器 -> 用户浏览器解析页面HTML进行渲染 -> 页面最终展现在用户眼前。

    关系梳理

    服务器(硬件)
    服务器做为硬件设备,网站是要部署在服务器之上的,所以少了硬件的支持,就谈不上网站。

    网卡(硬件)
    网卡做为电脑上的硬件设备,要上网就离不开网卡,不管是客户端(用户的电脑)还是网站服务器,如果少了网卡,联网这辈子都是不可能的了。

    IP
    有了电脑/服务器、网卡,接入运营商网络后,网络运营商就会给你分配一个全世界独一无二的公网IP,以此来定位客户端电脑和服务器端。
    IP可以理解为人的身份证,在互联网上代表某台机器的唯一编码。

    域名

  • 游客
    回复
    2023-01-13 09:09:51

    说到HTTP协议,其实大家都不陌生,我们日常上网,打开网页,使用的就是HTTP协议,实现web浏览功能。首先,我们需要明确的是,架设网站主要是有两部分组成:Web服务器和网页。作为Linux运维人员,负责Web服务器的部署与维护,但是网页制作不是我们的专业,需要找专门的开发公司,制作网页。然后把网页交给我们,由我们把网页发布出来。

    Linux中有多种部署http服务器的工具,如Apache、nginx等,下面我们就来介绍一下CentOS7中自带的Apache工具部署网站服务器的过程。

    Apache安装

    (1)实验准备

    准备两台主机,一台Linux虚拟机,IP地址为192.168.10.20,可以连接Internet网络,该主机安装将Apache服务器使用,为了方便实验可以使用以下命令关闭防火墙,关闭selinux。

    systemctl stop firewalld

    systemctl disable firewalld

    setenforce 0

    另一台可以使用虚拟机对应的Windows宿主机,作为客户端使用,可以在此主机中通过浏览器对Apache服务端的配置进行测试。

    (2)安装Apache

    Apache对应的服务名是httpd,如果可以联网就可以从通过CentOS官网提供的链接将Apache安装到系统中,输入如下命令:

    yum install httpd-*

    如图所示,httpd的安装依赖于其他一些软件包,yum安装过程会分析httpd所需的依赖包并调整各个软件包的安装顺序

    安装完毕后,系统中自动新建用户Apache,新建组Apache,作为HTTP服务的属主和属组,即HTTP服务器进程以Apache用户的身份启动。可以使用以下命令查看新建用户信息,如图所示: