Apache之IHS相关配置

一、相关web配置文件

/home/was/was61/HTTPServer/bin

./apachetl start

/home/was/was61/HTTPServer/conf/httpd.conf

/home/was/was61/HTTPServer/Plugins/config/webserver1/plugin-cfg.xml

二、httpd的配置文件说明

more /home/was/was61/HTTPServer/conf/httpd.conf

2.1、持久连接

PidFile logs/httpd.pid

Timeout 150

KeepAlive On

MaxKeepAliveRequests 1000  //持久连接最大请求数

KeepAliveTimeout 10   --> 5   //超时时间

2.2、MPM参数

多道处理模块MPM,查看系统默认启用的模块

# httpd –l

Compiled in modules:

core.c

prefork.c  #默认启用prefork模块

httpd_core.c

mod_so.c

生产上

[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl -l

Compiled in modules:

core.c

worker.c

http_core.c

mod_suexec.c

mod_so.c

配置模块信息

<IfModule worker.c>

ThreadLimit          100   --> 200

ServerLimit           120  --> 20/45

StartServers          10

MaxClients          12000 --> 4000/9000

MinSpareThreads      100  --> 400

MaxSpareThreads      300 --> 600

ThreadsPerChild      100    --> 200

MaxRequestsPerChild  0

</IfModule>

# ThreadLimit: maximum setting of ThreadsPerChild

每个子进程建立的常驻的执行线程数的最大值,即ThreadsPerChild的最大值

# ServerLimit: maximum setting of StartServers

服务器启动时建立的子进程数的最大值,即StartServers的最大值

# StartServers: initial number of server processes to start

服务器启动时建立的子进程数

# MaxClients: maximum number of simultaneous client connections

允许同时伺服的最大接入请求数量(最大线程数量),ServerLimit*ThreadsPerChild。要增加MaxClients,必须增加ServerLimit的值。

# MinSpareThreads: minimum number of worker threads which are keptspare

最小空闲线程数,这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太少,子进程将产生新的空闲线程

# MaxSpareThreads: maximum number of worker threads which are keptspare

最大空闲线程数,这个MPM将基于整个服务器监视空闲线程数。如果服务器中总的空闲线程数太多,子进程将杀死多余的空闲线程。 MaxSpareThreads的取值范围是有限制的。Apache将按照如下限制自动修正你设置的值:worker要求其大于等于 MinSpareThreads加上ThreadsPerChild的和

# ThreadsPerChild: constant number of worker threads in each serverprocess

每个子进程建立的常驻的执行线程数

# MaxRequestsPerChild: maximum number of requests a server processserves

每个子进程在生命周期内所能够服务的最多请求的个数(0表示不做限定),到达MaxRequestsPerChild的限制后,子进程将会结束

<IfModule worker.c>

ThreadLimit          200

ServerLimit          45

StartServers          10

MaxClients          9000

MinSpareThreads      400

MaxSpareThreads      600

ThreadsPerChild      200

MaxRequestsPerChild  0

</IfModule>

2.3、配置监听端口

进入/home/was/was61/HTTPServer/conf目录,用VI编辑httpd.conf文件,增加监听端口号,格式为“Listen 端口号”。注:端口号需要网络组事先分配好,并且不能重复。

2.4、DSO机制装载的模块

显示:# httpd -DDUMP_MODULES

LoadModule Module_Name/path/to/Module_File

可以使用相对路径和绝对路径;相对路径则对于ServerRoot所定义的未知而言;

修改了需要重启服务service httpdrestart

httpd -M #可以查看系统所有装载模块

[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl -D DUMP_MODULES

[WYWEB01]:/home/was/was61/HTTPServer/bin>./apachectl –M

2.5、指定站点根目录

DocumentRoot"/path/to/somewhere"

生产上

DocumentRoot "/home/was/was61/HTTPServer/htdocs"

2.6、站点路径访问控制

基于本地文件系统路径

<Directory"/path/to/somewhere">

</Directory>

eg:

<Directory "/home/was/was61/HTTPServer/icons">

Options none

AllowOverride None

Order allow,deny

Allow from all

</Directory>

<Directory "/home/was/was61/HTTPServer/htdocs">

Options none

AllowOverride None

Order allow,deny

Allow from all

</Directory>

<Directory "/home/was/was61/HTTPServer/htdocs/default">

Options none

AllowOverride None

Order allow,deny

Allow from all

</Directory>

基于URL访问路径做访问控制

<Location"/path/to/URL">

</Location>

eg:

#<Location /server-info>

#    SetHandler server-info

#    Order deny,allow

#    Deny from all

#    Allow from .example.com

#</Location>

2.7、于Directory中可用的访问控制

(1) Options

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

FollowSymlinks: 跳跃符号链接

(2) AllowOverride

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

2.8、基于IP做访问控制

Order allow,deny

Deny from172.16.100.17

Allow from 172.16.0.0/16

2.9、定义默认的主页面

DirectoryIndex

from后面能接受的地址格式:

IP, Network Address

网络地址格式较为灵活:

172.16

172.16.0.0

172.16.0.0/16

172.16.0.0/255.255.0.0

2.10、配置日志功能

ErrorLog "/path/to/error_log"

LogLevel{debug|info|notice|warn|error|crit|alert|emerg}

LogFormat

CustomLog "/path/to/access_log" LogFormat_Name

%h: 客户端地址

%l: 远程登录名,通常为-

%u: 认证时输入用户名,没有认证时为-

%t: 服务器收到用户请求时的时间

%r:请求报名的起始行

%>s: 响应状态码

%b: 响应报文的长度,单位是字节

%{HEADER_NAME}i: 记录指定首部对应的值

eg:

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b\"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

ErrorLog "|/home/was/was61/HTTPServer/bin/rotatelogs/home/was/was61/HTTPServer/logs/error_log.%y%m%d%H 86400 +480"

TransferLog "|/home/was/was61/HTTPServer/bin/rotatelogs/home/was/was61/HTTPServer/logs/access_log.%y%m%d%H 86400 +480"

2.11、路径别名

站点根目录:/www/html

http://www.magedu.com/images/logo/new.gif

此文件位置:/www/html/images/logo/new.gif

实现URL路径的映射,从而所访问的资源不再依赖于站点根目录;

Alias /URL/"/path/to/somewhere/"

eg:Alias /icons/"/home/was/was61/HTTPServer/icons/"

2.12、CGI脚本

CGI脚本路径别名

CGI动态网关接口

/var/www/cgi-bin/

http://server/cgi-bin/

bash写CGI脚本:

所有文本都使用命令输出:echo, printf, cat

执行程序:命令引用

Content-Type:text/html

<pre>

</pre>

FastCGI: 协议

2.13、基于用户访问控制

用户认证

基本认证: Basic

摘要认证:digest

虚拟用户:仅用于访问某服务或获取某资源的凭证;

文本文件:.htpasswd

SQL数据库

dbm: 数据库引擎,提供API

ldap: 轻量级目录访问协议

authenticationprovider: 账号和密码的存储机制;

authn

authorization provider:授权

案例:基于文件做访问控制

(1) 基于用户进行认证

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

Options none

AllowOverride AuthConfig

AuthType Basic

AuthName "Admin Area."

#AuthBasicProvider file

AuthUserFile /etc/httpd/conf/.htpasswd

Require valid-user

</Directory>

Requirevalid-user: 文件中所有用户均可访问

Require userUSERNAME, ...

(2) 提供认证文件

htpasswd

-c: 如果此文件事先不存在,则创建;注意,只能在创建第一个用户时使用;

-m:以md5的格式编码存储用户的密码信息

-D:删除指定用户

(3) 组认证

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

Options none

AllowOverride AuthConfig

AuthType Basic

AuthName "Admin Area."

#AuthBasicProvider file

AuthUserFile /etc/httpd/conf/.htpasswd

AuthGroupFile /etc/httpd/conf/.htgroup

Require group GROUP_NAME

</Directory>

组文件:

组名:user1 user2 user3

2.14、虚拟主机

虚拟主机:使用不同访问路径

虚拟主机是使用特殊的软硬件技术,把一台真实的物理电脑主机分割成多个的逻辑单元,每个单元都没有物理实体,但是每一个物理单元都能像真实的物理主机一样在网络上工作,具有单独的IP地址(或共享的IP地址)以及完整的Internet服务器功能。

基于端口

基于IP

基于主机名

(1) 使用虚拟的前提:取消主服务器

注释主服务器的站点根路径指定:DocumentRoot

(2) 定义虚拟主机

NameVirtualHostIP:PORT //基于主机名

<VirtualHostIP:PORT>

ServerName

DocumentRoot

ServerAlias

ErrorLog

CustomLog

</VirtualHost>

配置文件语法检查

httpd -t

service httpdconfigtest

配置示例:

<VirtualHost172.16.100.7:80>

ServerName www.mageedu.com

DocumentRoot "/web/hosta"

</VirtualHost>

<VirtualHost172.16.100.8:80>

ServerName www.mageedu.com

DocumentRoot "/web/hostb"

</VirtualHost>

<VirtualHost172.16.100.8:8080>

ServerName www.mageedu.com

DocumentRoot "/web/hostc"

</VirtualHost>

测试:elinks

-dump: 获取到页面数据后直接退出进程;

eg: elinks [-dump] www.mageedu.com

eg:

用VI编辑httpd.conf文件,增加虚拟主机,格式如下:

<VirtualHost *:端口号>

DocumentRoot/home/was/was61/HTTPServer/htdocs/成员行主页目录/

</VirtualHost>

注:端口号必须和上面的监听端口号一致,成员行主页目录下须有相关主页内容。

<VirtualHost *:8101>

DocumentRoot

/home/was/was61/HTTPServer/htdocs/tianjinbh/

RewriteEngine on

RewriteCond %{REQUEST_METHOD}^TRACE

RewriteRule .* -[F]

RewriteCond%{REQUEST_METHOD} ^TRACK

RewriteRule .* -[F]

RewriteCond%{REQUEST_METHOD} ^OPTIONS

RewriteRule .* -[F]

</VirtualHost>

时间: 2024-10-09 05:25:24

Apache之IHS相关配置的相关文章

Windows Azure下Apache高可用服务配置介绍

pWindows Azure下Apache高可用服务配置介绍/p  pAzure现在不是一个什么新鲜话题了,但可以说Azure的功能还在逐渐增加,包括性能上的优化,具体就不多介绍了,近期呢闲着没事,就尝试在Azure上部署Apache服务的高可用性部署,如果在本地部署Apache服务的高可用性的话,会用到LVS+Keepalived等服务来实现Apache的高可用性配置,如果我们将Apache服务部署到windows azure上的话,就省去了LVS+Keepalived的配置,所以相对比较简单

2016/07/07 apmserv5.2.6 Apache启动失败,请检查相关配置。MySQL5.1已启动。

因为要用PHP做一个程序,在本机上配PHP环境,下了个APMServ5.26,安装很简单,不再多说,装好后,启动,提示错误,具体是:“Apache启动失败,请检查相关配置.√MySQL5.1已启动”,然后就在网上找解决办法,倒是找到不少,但都没有解决问题,差点就想换一个集成环境了.不过知难而进一向是我的原则,最后终于解决了,现在把所有解决步骤整理出来,希望能对碰到同样情况的朋友有所帮助,如果有有朋友碰到新的情况,欢迎同我交流.另外如果大家有自已各方面经验,欢迎在阳关道网站上发布出来跟大家共享一下

Apache相关配置

上一篇文章 我们记录了 Apache的整个安装过程 http://771541213.blog.51cto.com/10810853/1773329 现在我们讲解一下 Apache的一些基本配置 a > 基于域名配置虚拟网站 b > 基于IP地址配置 c > 基于不同端口配置 d > 禁止列表网站的目录结构(危险) e > 日志轮询配置 基于cronlog插件 f > httpd.conf扩展配置 g > 启动FQDN问题 A.基于域名配置虚拟网站 1.先要打开a

apache限制某个目录禁止解析php、apache禁止指定user_agent、php相关配置

一:apache限制某个目录禁止解析php 某个目录下禁止解析 php,这个很有用,我们做网站安全的时候,这个用的很多,比如某些目录可以上传文件,为了避免上传的文件有×××,所以我们禁止这个目录下面的访问解析php. <Directory /data/www/data> php_admin_flag engine off <filesmatch "(.*)php"> Order deny,allow Deny from all </filesmatch&g

apache的.htaccess文件作用和相关配置

首先.htaccess什么? .htaccess是一个纯文本文件,它里面存放着Apache服务器配置相关的指令. 当我们使用apache部署一个网站代码准备部署到网上的时候,我们手中的apache的httpd.conf大家肯定都知道.这是apache的配置文件,然而我们大多数的网站都是基于云服务器来部署的,还有就是团队协作开发的时候,我们很难直接修改公共的httpd.conf,这时 .htaccess就是httpd.conf的衍生品,它起着和httpd.conf相同的作用. .htaccess的

Linux centosVMware apache 限定某个目录禁止解析php、限制user_agent、php相关配置

一.限定某个目录禁止解析php 核心配置文件内容 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <Directory /data/wwwroot/www.111.com/upload> php_admin_flag engine off </Directory> curl测试时直接返回了php源代码,并未解析 二.限制user_agent user_agent可以理解为浏览器标识 核心配置文件内容 <IfModul

centos7的selinux的原理及相关配置

centos7的selinux的原理及相关配置 SELinux的全称是Security Enhanced Linux, 就是安全加强的Linux.在SELinux之前,root账号能够任意的访问所有文档和服务:如果某个文件设为777,那么任何用户都可以访问甚至删除:这种方式称为DAC(主动访问机制),很不安全. DAC 自主访问控制: 用户根据自己的文件权限来决定对文件的操作,也就是依据文件的own,group,other/r,w,x权限进行限制.Root有最高权限无法限制.r,w,x权限划分太

SpringMVC之application-context.xml,了解数据库相关配置

上一篇SpringMVC之web.xml让我们了解到配置一个web项目的时候,如何做基础的DispatcherServlet相关配置,作为SpringMVC上手的第一步,而application-context.xml则让我们了解到如何将数据库信息加载到项目中,包含关键的数据库连接信息.sqlSessionFactory.事务等关键因素. ①.xml内容 <?xml version="1.0" encoding="UTF-8"?> <beans x

spring mvc 图片上传,图片压缩、跨域解决、 按天生成目录 ,删除,限制为图片代码等相关配置

spring mvc 图片上传,跨域解决 按天生成目录 ,删除,限制为图片代码,等相关配置 fs.root=data/ #fs.root=/home/dev/fs/ #fs.root=D:/fs/ #fs.domains=182=http://172.16.100.182:18080,localhost=http://localhost:8080 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE be