Apache网站服务
Apache 下载地址: http://mirror.bit.edu.cn/apache/httpd/
相关软件下载地址:http://mirror.bjtu.edu.cn/apache/apr/apr
http://mirror.bjtu.edu.cn/apache/apr/apr-util
=============Apache 简介: 进程技术,高资源消耗,但是稳定;
MPM (multi process moudles): 多处理模块;
Apache工作模式:
进程池(prefork):适合动态页面,总是提前准备好进程等待访问者,一个进程对应一个web访问请求;
线程池(worker,event):适合静态页面,比如先开启5个进程,每个进程里开启100线程,一个线程接待一个web访问请求;
httpd------->prefork ---->默认
httpd.worker------->worker
httpd.event-------->event
如果使用简化安装的Apache,如何改变它的MPM工作模式?
=================LAMP平台概述:
=========Apache中的进程与线程:
1》安装Apache软件:
rpm 和 yum 安装:
1> yum install httpd
service httpd restart
启动服务的脚本------》运行/usr/sbin/httpd----》调用/etc/httpd/conf/ httpd.conf;
真正提供httpd服务的程序的名字;
2>源码安装:
==下载软件包:
http://mirror.bit.edu.cn/apache/httpd/
http://mirror.bjtu.edu.cn/apache/apr/apr
http://mirror.bjtu.edu.cn/apache/apr/apr-util
==安装软件:
yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel
apr:
./configure
make && make install
apr-util:
./configure --with-apr=/usr/local/apr
make && make install
httpd:
./configure --prefix=/usr/local/apache --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --with-suexec-bin --with-apr=/usr/local/apr
make && make install
可以通过./configure --help 命令来查看脚本支持的所有选项:
--prefix 指定Apache httpd程序的安装主目录
--enable-so 开启模块化功能,支持DSO(动态共享对象)
--enable-ssl 支持SSL加密
--enable-rewrite 支持地址重写
--with-mpm 设置Apache 工作模式
--with-suexec-bin 支持SUID,SGID
--with-apr 指定apr程序绝对路径
2》修改配置文件:
主配置文件:/etc/httpd/conf/httpd.conf:
简单配置:
出现上述提示说明没有标准的域名,需要指定:
ServerName:www.chw.com:80 -----276行》打开配置,去掉注释,然后修改;
配置文件详情解析:Apache服务的主配置文件主要由指令以及容器组成,容器使用<容器名称>开始,以</容器名称>结尾,容器的指令一般仅在容器内有效:
1>SeverRoot指令:
设置软件的安装主目录,如果采用源码安装,则默认路径为/usr/local/apache2;
2>Listen指令:
设置服务器监听的IP以及端口号,默认监听服务器本机所有的IP地址的80端口,语法格式为:Listen[IP地址:]端口[协议],其中IP地址与协议为可选项, 默认监听所有的IP ,使用TCP协议,一个配置文件可以多次使用Listen指令来开启多个端口;
3>LoadModule指令:
如果希望Apache动态加载模块,需要在编译Apache时通过enable-so将mod_so以静态方式编译到Apache核心模块中,此指令的作用就是加载模块,语法 格式为:LoadModule 模块 模块文件名称,其中模块文件一般位于ServerRoot目录下的modules目录中;
4>LoadFile指令:
功能类似于上述指令,区别在于后者可以通过绝对路径加载modules目录下的模块文件;
5>ServerAdmin指令:
当网站出现故障时,需要为客户提供一个可以帮助解决问题的邮件地址,ServerAdmin指令的作用就是提供这样的邮件地址;
6>ServerName指令:
设置服务器本机的主机名称以及端口,对URL地址的重定向很重要;
7>DocumentRoot指令:
设置WEB服务队客户端开放可见的文档根目录,也就是客户端访问网站的根目录;
8>ErrorLog指令:
定位服务器错误日志的位置,默认使用相对路径;
9>ErrorLogFormat指令:
设置错误日志的格式;
10>CustomLog指令:
设置客户端的访问日志文件名以及日志格式,格式为:CustomLog 文件名 格式;
11>LogFormat指令:
描述用户日志文件格式,一般我们会为此指令设置的日志格式创建别名,然后通过CustomLog指令调用该日志格式别名;
12>Include指令:
允许Apache在主配置文件中加载其他的配置文件;
13>Options指令:
为特定目录设置选项,选项可以设置为None,代表不启用任何额外的功能,也可以使用如下常用选项:
All:开启除MultiViews之外的所有选项;
ExecCGI:允许执行Options指定目录下的所有CGI脚本;
FollowSymlinks:允许Options指定目录下的文件链接到目录外的文件或目录;
Indexes:如果与URL对应的Options目录下找不到DirectoryIndex指定的首页文档,则服务器将会把当前目录的所有文件索引出来;
14>Order指令:
控制默认访问状态以及Allow与Deny的次序,如果使用Order deny,allow,则先检查拒绝,再检查允许,当拒绝与允许有冲突时,允许优先,默认规则为 允许;如果使用Order allow ,deny,则先检查允许,再检查拒绝,当允许与拒绝有冲突时,拒绝优先,默认规则为拒绝;
具体案例:
Order deny,allow
Deny from all 拒绝所有;
Order Allow,Deny
allow from all 允许所有;
Order Allow,Deny
allow from 192.168.1.2 除此IP外拒绝所有;
Order Allow,Deny
allow from 192.168.1.2
Deny from All 拒绝所有人访问;
Order Deny,Allow
Deny from all
allow from 192.168.1.2 除此IP外拒绝所有;
15>IfDefine容器:
此容器封装的指令仅在启动Apache时测试条件为真才会被处理,测试条件需要在启动Apache时通过-D定义:
实例:
service httpd -D UseCache -D MemCache restart
<IfDefine MemCache>
LoadModule mem_cache_module modules/mod_mem_cache.so
</IfDefine>
<IfDefine UseCache>
LoadModule cache_module modules/mod_cache.so
</IfDefine>
16>IfModule容器:
此容器封装仅在条件满足时才会处理的指令,根据指定的模块是否已被加载来决定条件是否满足;
案例:
<IfModule unixd_module>
User daemon
Group daemon
</IfModule>
17>Directory容器:
该容器内 指令仅应用于特定的文件系统目录,子目录以及目录下的内容;
18><DirectoryMatch>
此指令类似于上述指令,但可以直接使用正则表达式匹配,无须使用~符号;
19>Files容器:
容器内的指令仅应用于特定的文件,它可以使用~匹配正则表达式;
20>FilesMatch容器:
仅使用正则表达式匹配需要的文件,;
21>Location容器:
容器内定义的指令仅对特定的URL有效,语法格式为:<Location URL-path|URL> </Location>,如果需要使用正则表达式,可以用~符号来匹配;
22>LocationMathch容器和VirtualHost容器:
仅使用正则表达式来匹配URL,等同于使用了~符号匹配的Location;
=============虚拟主机应用案例:
虚拟主机是在一台服务器上同时运行多个WEB业务,Apache服务支持基于域名以及基于IP的虚拟主机类型,但是更多时候我们更喜欢基于域名的虚拟主机,服务器可以根据客户端访问HTTTP的头部信息来实现网站的分离解析,客户端可以使用不同的域名访问位于同一IP地址的服务器资源;
1》修改主配置文件:
将主配置文件中的Include conf/extra/httpd-vhosts.conf语句开启,Include指令将会读取次配置文件的内容作为主配置文件的一部分,并且两个虚拟主机的端口 也应该不同,所以主配置文件应该监听两个端口;
2》修改次配置文件:
3》为两个不同的虚拟主机创建各自的页面根目录:
当访问这两个网站时,如果没有合法的DNS服务器,可以通过修改hosts文件来进行域名解析,如果需要进行基于IP 地址的虚拟主机,只需将*修改为固定的IP地址即可,多个虚拟主机需要使用多个VirtualHost封装;
# prefork MPM
# StartServers: number of server processes to start
# MinSpareServers: minimum number of server processes which are kept spare
# MaxSpareServers: maximum number of server processes which are kept spare
# ServerLimit: maximum value for MaxClients for the lifetime of the server
# MaxClients: maximum number of server processes allowed to start
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule prefork.c>
StartServers 8
MinSpareServers 5
MaxSpareServers 20
ServerLimit 256
MaxClients 256
MaxRequestsPerChild 4000
</IfModule>
# worker MPM
# StartServers: initial number of server processes to start
# MaxClients: maximum number of simultaneous client connections
# MinSpareThreads: minimum number of worker threads which are kept spare
# MaxSpareThreads: maximum number of worker threads which are kept spare
# ThreadsPerChild: constant number of worker threads in each server process
# MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule worker.c>
StartServers 4
MaxClients 300
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
当上述的数值赋值不当时,刷新服务时的提醒?
*******注意:
linux内核默认情况下一个进程可以打开的文件的数量是1024;
可以使用命令来修改这个值:
ulimit -n 25535 只能暂时有效;
默认情况下Apache编译进来了哪些模块:
3》启动服务,配置防火墙规则或关闭防火墙:
service httpd restart
iptables -I INPUT -p tcp --dport 80 -j ACCEPT
service iptables save
转载于:https://www.cnblogs.com/xiaocheche/p/7613317.html
Apache网站服务相关推荐
- Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站
Linux常用命令下,以及再CentOS7下搭建apache网站服务,以及同一服务器上搭建第二个网站 Linux 常用命令ls -l 以长格式显示-a 显示.. 和 .-A 不显示 . 和 ..-d ...
- linux中apache配置文件在哪,linux网站服务Apache的安装与配置方法详解
这篇文章介绍下linux网站服务apache的安装与配置方法,包括挂载光盘,安装http服务,管理httpd服务,httpd的配置文件几大部分.具体详情可以参考下文. 1.挂载光盘 自己习惯将光盘挂载 ...
- Linux系统CentOS 7修改httpd服务Apache网站根目录
python 版本: python2.7 操作系统: Windows10 64bit 虚拟机:CentOS7 linux安装httpd,做文件服务器 Linux系统CentOS 7修改httpd服务A ...
- 在Red Hat Linux5下构建LAMP网站服务平台之MySQL、PHP的安装与配置
在Red Hat Linux5下构建LAMP网站服务平台之MySQL.PHP的安装与配置 2010-09-09 16:40:49 标签:PHP Linux mysql RedHat [推送到技术圈] ...
- linux 怎么配置apache,在Linux下配置Apache Web服务
<在Linux下配置Apache Web服务>由会员分享,可在线阅读,更多相关<在Linux下配置Apache Web服务(10页珍藏版)>请在人人文库网上搜索. 1.在Lin ...
- linux进阶-网络安全系统网站服务
网络安全系统网站服务 1)网站服务概念介绍 2)网站服务部署过程 静态方式 nginx (静态*),apache 2) nginx程序: 3) 网站服务目录结构: 4) 网站服务配置介绍: 5)网站服 ...
- Tomcat网站服务
Tomcat网站服务 一.Tomcat简介 二.Tomcat的应用场景 三.部署Tomcat网站服务 四.Tomcat的主要目录以及经常修改的配置文件内容 (1)主目录 (2)经常修改的配置文件内容 ...
- Nginx网站服务与LNMP架构部署(详解)
Nginx网站服务与LNMP架构部署 1.Nginx服务基础 2.编译安装Ngiax 3.Nginx的运行控制 4.配置文件nginx.conf 5.Nginx虚拟主机 6.LNMP架构部署 1.源码 ...
- nginx 根据目录指定root_部署Nginx网站服务实现访问状态统计以及访问控制功能
Nginx专为性能优化而开发,最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力,单个物理服务器可支持30000-50000个并发请求. Nginx的安装文件可以从官方网站h ...
最新文章
- MySQL主从的一致性校验及修复
- 消息积压在消息队列里怎么办
- 如果乔布斯还在,今天他65岁了
- 2013-2014 ACM-ICPC, NEERC, Southern Subregional Contest Problem D. Grumpy Cat 交互题
- C++中的变量不初始化是什么结果?(整型、bool型、字符型)结果都是随机的,不确定
- Python实现换位加密
- Linux笔记2 文件权限管理
- 随手记:IDAPro蛮强大
- PHP完整的一次请求过程:请求 dns nginx监听 转发给php-fpm worker处理 返给nginx
- CSS+jQuery/JavaScript图片切换播放
- 使用 JavaScript 实现灵活的固定导航功能
- 计算与推断思维 六、可视化
- ArcEngine 相关-转载
- 2000W条数据的Oralce数据库SQL查询优化经验 - 机会总会留给有准备的人
- 8 款好用的 React Admin 管理后台模板推荐
- 新手小白~千元左右新手入门值得推荐的十款吉他
- 《posix多线程编程》笔记(四)
- csm和uefi_[整理]BIOS设置UEFI和安全引导
- LDA与PCA数据降维算法理论与实现(基于python)
- python选取特定行_pandas实现选取特定索引的行
热门文章
- phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...
- python周末吃什么_中午不知道吃什么?用Python爬取美团外卖评论帮你选餐!
- python cmd命令 循环传参数_将参数从cmd传递给python脚本
- django ModuleNotFoundError: No module named 'tinymce***'
- Packet Tracer 通过配置静态路由实现不同网段之间的通信(详细步骤)
- LeetCode 2044. 统计按位或能得到最大值的子集数目(状态压缩DP)
- 天池 在线编程 木材加工(二分查找)
- LeetCode 291. 单词规律 II(回溯)
- LeetCode 第 29 场双周赛(890/2259,前39.4%)
- 潜在语义分析(Latent Semantic Analysis,LSA)