linux apache配置

2021-05-17 19:28

阅读:382

标签:密码保护   exe   设置   mod   client   家目录   请求响应   平台   http请求   

本文由ybfq01230贡献 pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 APACHE 姜英杰 APACHE Web服务又称环球信息网WWW(World Wide Web)服务,是Internet上最热门的服务之一。Web 服务是一种交互式图形界面的Internet服务,具有强 大的信息连接功能,将信息通过 Internet 传递到全 球每个角落!Web服务器通常使用HTTP通讯协 议进行网络通讯,用户发出一个HTTP请求, 这个请求被发送到服务器上(通常是80端 口),服务器根据用户的请求响应相应的页 面,把这些信息发送回客户端,客户端接到 这些信息后,在显示到浏览器上,用户就可 以浏览到申请的页面内容了。 APACHE 目前的 WWW 服务器主要分为两大阵营——UnixLike上面的Apach与Windows上面的 IIS 。Apache是 Apache组织开发的自由软件,它也是目前世界上应 用最广泛的服务器软件,据统计,超过65%的网站 都使用Apache作为它的页面服务器,比所有其他的 Web服务器加起来的和还要多 。IIS是另一种应用较 广泛的web服务器,大约有15%的网站使用。就性 价比而言,当然是 Linux 上面的 Apache 最好了! 目前很多动态网站都是以 Linux+Apache+MySQL+PHP架设而成的,简称为 LAMP。 APACHE Apache 的特性: 几乎可以运行在所有的计算机平台上 支持最新的 HTTP/1.1 协议 支持虚拟主机 支持 HTTP 认证 APACHE APACHE体系结构:APACHE采用预派 生技术,主进程是httpd,它会派生出许 多子进程来监控客户的连接请求,而不 是每当有一个新的输入请求时才产生出 一个新进程,这样能提高用户的连接速 度,当子进程超出一个锋值时httpd主进 程会杀死一些子进程。 APACHE HTTP (HyperText Transfer Protocol):超文本传 输协议,是目前 WWW 传递数据的主流协议!网 站上的网页,则需要符合 HyperText Markup Language (HTML) 的语法! URL:统一资源定位器 格式:协议://目标主机地址[:port]/目录资源 一个URL就是指向Web上的某些数据的一个指 针,它可以是一个Web文件,或是一个E-mail地 址。如:http://www.163.com/index.html, http是协议部分,www.163.com是主机部分, index.html是文件部分。 APACHE 协议: http、ftp、news等! http协议是使用主 机的 http port (一般为 80),ftp 协议是使用 主机的 ftp port (一般为 21),我们使用的 80 与 21 是主机所提供的服务!即使用 http 与 ftp 连上同一部计算机,所取得的信息并不一定一 样,因为服务不同!一个是 http 一个是 ftp 怎 么会相同。 那么 WWW 的数据是如何传递的呢? APACHE 当我们在浏览器的网址栏输入网址之后: Client 端经过 DNS 解析得到 WWW 主机的 IP ,会发出一个数据包,以 http 协议联接 WWW 主机,通知 WWW 主机要以 http 的方法 来取得数据; WWW 主机收到数据包后,根据 Client 端的 要求,提供相关的讯息来响应,大部分情况下用 http 的协议传送使用 HTML 语法的网页数据到 Client 端的浏览器; 最后 Client 端的浏览器将 HTML 的语法解 析后,显示网页内容。 APACHE Apache 三种工作方式: 1. 预派生 2. 工作者 3. 独立子进程 APACHE 目前 Apache 已经出到了 2.0.X版,可以去官方 网站www.apache.org下载APACHE软件当前最 高版本 APACHE的安装: #tar jxvf httpd-2.0.54.tar.bz2 –C /usr/local/src #cd /usr/local/src/httpd-2.0.54:进入解压的目录 #./configure --enable-mods-shared=all:编译,参 数含义是安装所有的模块 #make:把源码程序编译成可执行的二进制程序 #make install:把编译生成的二进制程序放到相 应的地方,如/bin、/sbin里 APACHE APACHE会默认安装到/usr/local/apache2目录下 执行程序路径:/usr/local/apache2/bin 配置文件路径: /usr/local/apache2/conf/httpd.conf apache控制文件的路径 /usr/local/apache2/bin/apachectl 启动或停止http服务: /usr/local/apache2/bin/apachectl start|stop|restart 主页文件所在路径: /usr/local/apache2/htdocs APACHE APACHE指令:分为核心指令、附加指令、容器指令 核心指令:全局环境设置,端口等信息 附加指令:容器指令内的指令,配置每个模块时就是 在容器上配置 容器指令:只能在所包含的容器定义范围下应用,包 括:、、 例如: order allow,deny Allow from all //所有主机都可以访问上面的目录 Deny from 192.168.1 //不允许这个网段的主机访问上面目录 APACHE httpd.conf是apache的配置文件 核心指令主要字段含义: ServerRoot:Apache 软件根目录!也就是安 装路径,下面有很多目录的路径是相对于这 个路径的! Listen 80:服务器的监听端口,如果要更改 WWW 的端口,可在这里修改,例如 8080 , 修改后在client如果想访问此web页面需要输 入的URL为http://主机名/IP:8080 DocumentRoot “/usr/local/apache2/htdocs”:设 置根文档路径,即默认网页文件存放的位置 APACHE UserDir public_html:定义用户家目录下的个 人主页根目录 例:我的家目录是 /home/test ,那么test主页的 根目录就是 /home/test/public_html DirectoryIndex index.html:定义缺省主页 当输入 http://192.168.0.66 时,那么 Apache 将 会去搜寻该目录底下的文件名(即设置默认显 示的网页文件),想显示的网页文件叫什么名 字,这里就要定义什么名字,如index.html AccessFileName .htaccess:指定保护目录配置 文件的名称 APACHE Options FollwSymLinks:允许符号链接跟随, 访问不在本目录下的文件 --格式:ln –s sfile(源文件) test(目标文件) Options Indexes:如果没有缺省主页时显示缺 省主页所在目录下的文件列表,也就是说如果 在主页目录或一个自定义的目录底下找不到 index.html或其他自定义的主页时,就显示整 个目录下的文件名称!很危险吧!所以,尽量 不要在主页目录下包含 Indexes 这个项目啦! AllowOverride None/All:禁止/允许读 取.htaccess文件。默认为None,如果想启动网 页认证功能,要设为All。 APACHE 附加指令主要字段含义: Order allow,deny:设置权限,一些IP不可以访问, 设一种检查顺序, allow,deny 中间是以 “,” 隔开的 --如果要允许大部分,拒绝小部分,可设置成: order allow,deny allow from all deny from 192.168.1.100 deny from www.haha.com --如果要拒绝大部分,允许小部分,可设置成: order deny,allow deny from all allow from 192.168.1.100 allow from www.haha.com APACHE KeepAlive Off:不使用保持连接的功能,即客户 一次请求连接只能响应一个文件。建议用户将此 参数的值设置为on,即允许使用保持连接的功 能。 MaxKeepAliveRequests 100:定义持续性的连接 中,每一次连接可以进行的HTTP请求的最大请求 数,即最多允许连接的数目!不限制可设为 0(零 为无限制 )。 KeepAliveTimeout 15:同一个连接的 Client 下次 的要求没有在 15 秒内送出,该连接会被视为断 线,即如果服务器在完成一次连接,但客户端在 完成连接后就一直没再次请求连接,则过多少秒 后服务器自动断开这个连接。 APACHE MinSpareServers 5:最少的空闲子进程数目 MaxSpareServers 20:最多的空闲子进程数目 Apache一般都用创建子进程来响应一个请求,如果 每次连接都创建一个子进程那么WEB SERVER的反 应会变得很慢。因此可以在MinSpareServers和 MaxSpareServers上来定义Apache每次启动的时按照 MinSpareServers来启动最小的空的子进程数目。这 样就可以摆脱系统反应过慢的问题。但是也不能没 有最高子进程的设置。不然将会占用CPU和系统的 大量资源最后会将系统拖垮。 StartServers 8:开始创立的子进程数 APACHE Timeout 300:如果客户端在超过多少秒还没 有请求给服务器,服务器就自动断开这个连接 (断线处理)! MaxClients 150:最大客户端连接数,定义最 多允许有多少客户端同时(并发)连接到WEB SERVER上来,默认为150,可以设小一点, 因为设置太大很耗系统资源, 太小则无法让 很多人连上来! 建立个人主页 在用户家目录下,如:cd /home/test #mkdir public_html #chmod 755 public_html #chmod 755 /home/test 在 public_html目录下建立 index.html 文件 要想进入test用户的个人主页要在IE的网址中 输入: http://你的网站名称或IP/~test/ 建立个人主页 怎么需要多加一个毛毛虫的符号“ ~ ”呢!真 烦,可不可以只使用: http://你的网站名称/test 当然没问题啦! #vi /usr/local/apache2/conf/httpd.conf 添加 Alias /test “/home/test/public_html” #/usr/local/apache2/bin/apachectl restart 再试试看吧! 在文本下访问网页的命令: #lynx www.163.com 密码保护目录设置 当访问一些网站的某些资源时,浏览器 弹出一个对话框,要求输入用户名和密 码来获取对资源的访问。这就是用户认 证的一种技术。用户认证是保护网络系 统资源的第一道防线 。 基本的用户认证技术是“用户名+密码” 下面采用Apache自带的htpasswd功能实 现文本文件存储用户密码。 密码保护目录设置 这种认证方式的基本思想是:Apache 启动认 证功能后,即启用AllowOverride功能,就可 以在需要限制访问的目录下建立一个名 为.htaccess 的文件,指定认证的配置命令, 则Apache就会在每一个目录中查找.htaccess 文件。当用户第一次访问该目录的文件时,浏 览器会显示一个对话框,要求输入用户名和密 码,进行用户身份的确认。若是合法用户,则 显示所访问的页面内容,此后访问该目录的每 个页面,浏览器自动送出用户名和密码,不用 再输入了,直到关闭浏览器为止。 密码保护目录设置 #mkdir –p /home/test/public_html/private:建立要 保护的目录private #vi index.html:在此目录中建立网页文件 #cd /home/test/public_html/private #htpasswd –c .htpasswd test:增加一个帐号 -c:当后面的 .htpasswd 这个密码文件不存在时, 就建立该文件,建立第二个帐号不用-c选项 例:1.新建一个档案,并建立 test 这个 ID htpasswd -c .htpasswd test 2.已经存在密码文件了,要新增使用者账号 htpasswd .htpasswd qqq -m:修改用户密码 密码保护目录设置 #cd /home/test/public_html/private #vi .htaccess,文件内容如下: AuthName “private passwd” //对加密目录的 解释,显示在窗口上面的提示字符 AuthType Basic //身份验证时的编码方式 AuthuserFile /home/test/public_html/private/.htpasswd //密码文件存放的地方,一定是绝对路径 Require valid-user //允许许.htpasswd文件里的 用户能访问网页目录 密码保护目录设置 在配置文件httpd.conf开启认证功能 在最后添加: AllowOverride All 重启Apache服务器 在URL输入http://IP/test/private/ 练习 为用户做一个个人主页,只有haha用户 能访问该主页。 虚拟主机 虚拟主机是指在同一台服务器实现多个 Web站点 (比如:www.163.com和 thiz.linux.com 同时运行在一台主机 上),对于小企业来说不需要有专门的 Web服务器来搭建自己的Web站点 虚拟主机分为: -基于IP的虚拟主机 -基于名字的虚拟主机 虚拟主机 基于IP的虚拟主机:每个虚拟主机都有 自己的IP地址 基于名字的虚拟主机:每个虚拟主机IP 地址相同,主机名不同 虚拟主机指令属于容器指 令 基于IP的虚拟主机 基于IP的虚拟主机必须拥有不同的IP地址。 可以用物理网络链接来实现这一需求,或 者使用在一个网卡上绑定多个IP地址 (虚 拟网卡),也就是说要配置一个基于IP的虚 拟主机需要一个具备多IP地址的服务器, 再配置DNS 服务器,给每个IP地址以不同的 域名。 一个虚拟主机的所有配置指令都包含在 段中了,每个虚拟主机一 段。 基于IP的虚拟主机 配置过程: 1、配置IP地址 2、修改主配置文件配置虚拟主机 3、建立虚拟主机网页文件及目录 4、启动httpd服务 基于IP的虚拟主机 临时增加IP地址 #ifconfig eth0:0 192.168.1.2 永久增加IP地址 #cd /etc/sysconfig/network-scripts #cp ifcfg-eth0 ifcfg-eth0:0 #vi ifcfg-eth0:0 #service network restart 基于IP的虚拟主机 编辑httpd.conf文件,增加如下内容: ServerName www.163.com DocumentRoot /www/163 ServerName www.126.com DocumentRoot /www/126 其中,ServerName:服务器名称 DocumentRoot:虚拟主机网页根目录 基于IP的虚拟主机 建立相应的网页文件 #mkdir –p /www/163 #mkdri –p /www/126 在163和126里分别建立网页文件 index.html 基于IP的虚拟主机 注意:www.163.com与www.126.com必须 在DNS里解析 还要将本机IP与主机名的对应关系写到/etc/hosts表中,否则apache可能无法正常 启动 在客户端测试的时候别忘了指定DNS服 务器的IP 基于名字的虚拟主机 浏览器和服务器通信时,服务器能够跟踪浏览 器请求的是哪个主机名字。因此可以利用这个 新特性,使用更轻松的方式设定虚拟主机。这 种方式不需要额外的IP地址,但需要新版本的 浏览器支持。这种方式已经成为建立虚拟主机 的标准方式。要建立非IP基础的虚拟主机,多 个域名是不可少的配置,因为每个域名就对应 一个要服务的虚拟主机,因此需要更改DNS服 务器的配置。 基于名字的虚拟主机 当apache在读取httpd.conf过程中遇到 NameVirtuaHost指令时,它为指定的IP 地址建立一个虚拟主机表。 当apache分析httpd.conf时,每当它遇 见一个指令,该指令指定 的IP地址与前面分配给虚拟主机驻留的 IP地址相同时,它都在虚拟主机列表上 为该IP地址添加虚拟主机。 基于名字的虚拟主机 当 client 找 到 一 个 虚 拟 主 机 , 其 ServerName指令与输入请求的Host头部 匹配时,apache就使用该虚拟主机容器 中的配置来响应该请求,简单说,就是 用多个名字指向同一个IP地址。 基于名字的虚拟主机 配置基于名字的虚拟主机,修改httpd.conf NameVirtualHost 192.168.2.1 ServerName www.qq.com DocumentRoot /www/qq ServerName www.yahoo.com DocumentRoot /www/yahoo 练习 1、配置基于名字的虚拟主机 www.google.com www.baidu.com 2、配置基于IP的虚拟主机 www.sohu.com www.sina.com

linux apache配置

标签:密码保护   exe   设置   mod   client   家目录   请求响应   平台   http请求   

原文地址:http://www.cnblogs.com/huangfuqiang/p/7742289.html

上一篇:文件上传

下一篇:图片上传


评论


亲,登录后才可以留言!