CentOS6.5下web服务安装配置,centos6.5安装配置写在前面:操作系统:


本文主要是以 CentOS 6系列为操作系统,来安装配置web服务,并实现虚拟用户,https,和基本的用户认证等相关内容。

写在前面:

操作系统: CentOS 6.5

服务器的IP: 172.16.10.9

httpd的版本:httpd-2.2.15 系列

SElINUX状态:disabled

下面开始安装配置旅程:

一、web的安装配置

1、安装:yuminstallhttpd mod_ssl -y

mod_ssl 是实现 https 协议时所依赖的包

2、配置文件的相关说明:

配置文件:

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

服务脚本:

/etc/rc.d/init.d/httpd

脚本配置文件:/etc/sysconfig/httpd,这里可以定义MPM的类型

模块目录:

/usr/lib64/httpd/modules

/etc/httpd/modules

/etc/httpd/modules是/usr/lib64/httpd/modules的链接文件

主程序:

/usr/sbin/httpd:prefork模式

/usr/sbin/httpd.event:event模式

/usr/sbin/httpd.worker:worker模式

日志文件:

/var/log/httpd/access_log:访问日志

/var/log/httpd/error_log:错误日志

站点文档的根目录:

/var/www/html

二、httpd的配置文件说明

#grep"Section"httpd.conf

###Section1:GlobalEnvironment

###Section2:'Main'serverconfiguration

###Section3:VirtualHosts

主要分为三部分:全局配置,主服务器配置,虚拟主机的配置。主服务器和虚拟主机一般不同时使用;默认仅启用了主服务器。在每个部分中有许多指令参数,这些指令参数不区分字符大小写,但其值有可能会区分大小写。

三、配置文件选项详细说明

1、持久连接

通常的参数有:

KeepAlive{On|Off}是否开启持久连接功能。默认是Off。

以下这2个指令参数只有在KeepAliveOn时才有效

KeepAliveRequests100允许的一次持久连接的最大请求数。

KeepAliveTimeout2次持久连接时间的间隔

验证效果:

2、MPM参数

ServerStart 参数的验证,共有9个相关的进程,其中一个是其他 8 个的父进程:

3、监听的端口

指定格式:Listen[IP:]port默认的端口号是80

这个端口可以自己指定,一般使用大家熟知的端口,常用的有 80 和 8080。

4、DSO动态共享对象

在这里可以实现动态库的装载,可以使用httpd-DMODULES或者httpd-M来查看已加载的模块名。

示例:

使用mod_deflate模块压缩页面来优化传输速度。

未使用mod_deflate模块,访问http;//192.168.1.66/messages文件时相应的字节数大小是:316080字节。

加载mod_deflate模块,并进行配置vim/etc/httpd/conf/httpd.conf。

加载后的验证,加载mod_deflate模块后的大小是41902字节,压缩比还是相当可观的。

5、指定站点的根目录

DocumentRoot“/var/www/html”这是rpm安装方式的默认的根站点目录。当然这个可以根据自己的需求来设定。

6、基于目录和文件的访问控制

使用directory指令基于本地文件系统来实现对目录的访问控制。

常见的控制指令有:

Options:

Indexes:Indexes:当访问的路径下无默认的主页面,将所有资源以列表形式呈现给用户。

FollowSymlinks:跳跃符号链接

AloowOverride:支持在每个页面目录下创建.htaccess用于实现对此目录中资源访问时的访问控制功能。

AuthCofig:用于实现用户认证的目的。

Order结合denyfrom、allowfrom一起使用,来基于IP地址设定访问控制

例如:

这是设置访问白名单的设置,只允许172.16网段的客户端来访问对应的目录。当然from后面的地址是比较灵活的,像:172.16,172.16.0.0,172.16.0.0/16,172.16.0.0/255.255.0.0这种形式的都是允许的。

Orderallow,deny

Allowfrom172.16.0.0/16

当然,上面对目录的控制,也可以使用Locaton指令基于URL来实现。

DocumentRoot“/var/www/html”

<Directory"/var/www/html/admin">

访问控制参数

</Directory>

等价于:

<Location"/admin">

访问控制参数

</Location>

还的注释主配置下的 DocumentRoot "/var/www/html"

2、创建对应的站点和提供密码文件

#创建对应的站点目录并提供默认的页面

mkdir/web/vhosts/www1/-p

mkdir/web/vhosts/www2/-p

echo"<h1>welcomwww1.guotig.com<h1>">/web/vhosts/www1/index.html

echo"<h1>welcomwww2.guotig.com<h1>">/web/vhosts/www2/index.html

#提供用户认证文件

htpasswd-cm/etc/httpd/conf/.htpasswdstatus

mkdir/web/hosts/www1/server-status

chowmapache.apache/web/hosts/www1/server-status

3、提供主机名解析文件 在/etc/hosts中添加:(在测试客户端)

172.16.10.9www1.stu10.comwww2.stu10.com

4、测试结果如下:

用户认证测试:

1

2

3

为上面的第2个虚拟主机提供https服务,使得用户可以通过https安全的访问此web站点;

(1)要求使用证书认证,证书中要求使用的国家(CN)、州(Henan)、城市(Zhengzhou)和组织(MageEdu)

(2)设置部门为Ops,主机名为web.magedu.com,邮件为web@magedu.com

1、编辑 vim /etc/httpd/conf.d/ssl.conf 添加以下内容

当然在/etc/httpd/conf/httpd.conf,要加载 mod_ssl 模块

使用 httpd -S 来查看已经配置好的虚拟机

2、提供证书

mkdir/etc/httpd/ssl&&cd/etc/httpd/ssl

(umask077;opensslgenrsa-outhttpd.key1024)

opensslreq-new-keyhttpd.key-outhttpd.csr

去服务端签署证书:

opensslca-inhttpd.csr-out/httpd.crt-days300

签署后的证书存放到:/etc/httpd/ssl/httpd.crt

3、验证结果

首次访问时会出现导入证书的问题,导入证书就可访问。

导入证书就可以访问了。

14、httpd程序包自带的工具介绍

httpd:apache服务器程序

-t:测试配置文件

-l:列表静态模块

-DDUMP_MODULES:列出DSO模块

-M:等价于 -t -D DUMP_MODULES

-DDUMP_VHOSTS:列出所有虚拟主机

htpasswd: 为基于文件的basic认证创建和更新用户认证文件

apachectl: 脚本,httpd服务控制工具,可启动,关闭,重新加载配置文件。

ab: (apachebenchmark)httpd的基准性能测试工具;

apxs: httpd得以扩展使用第三方模块的工具;

htcacheclean:磁盘缓存清理工具;

htdigest:为digest认证创建和更新用户认证文件

httxt2dbm:为rewritemap创建dbm格式的文件

rotatelogs:日志滚动,不关闭httpd而切换其使用日志文件的工具

suexec:当httpd进程需要以另外的用户的身份去访问某些资源时,可以以suexec作临时切换;

15、ab工具的初步使用

同类工具:http_load,webbench,seige

Usage:ab[options][http[s]://]hostname[:port]/path

常用的参数:

-c#:模拟的并发数;

-n#:总的请求数,-n的值一定要大于等于-c的值;

使用 ab -c 100 -n 5000http://www.stu10.com/index.html测试的结果如下:

但是当我们把并发量提高到2000的时候,就会出现以下的错误。

这是由于资源限定的问题,一般情况下,Linux默认打开的文件数是1024。

16、资源限定

软限定:可临时超出一定时长的上限

硬限定:绝对不可超出的上限

管理员可使用ulimit命令临时性地修改各种资源的软限制;

ulimit-n#:能同时打开的文件数

-u#:能同时启动的进程数

配置文件:

/etc/security/limits.conf,里面限定了资源的各种属性,包括核心文件的大小,最大文件数,最大进程数等信息。如果想针对某个用户最限制,在domain字段使用@USER_NAME,如果针对全局的话,使用*就可以实现。/etc/security/limits.d/*.conf 也可以定义各种资源限定。

在 15 中使用ab 测试时,会出现打开过多文件的错误。使用以下设定就可以解决。

关于httpd的基本搭建介绍到这里。其他的搭建在后续博文中介绍,像实现负载均衡。

本文出自 “逆水寒” 博客,请务必保留此出处http://guoting.blog.51cto.com/8886857/1538362

相关内容

    暂无相关文章