APACHE服务器是什么服务器?
apache
Apache音译为阿帕奇,是北美印弟安人的一个部落,叫阿帕奇族,在美国的西南部。相传阿帕奇是一个武士,他英勇善战,且战无不胜,被印弟安人奉为勇敢和胜利的代表,因此后人便用他的名字为印弟安部落命名,而阿帕奇族在印第安史上也以强悍著称。
Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
本来它只用于小型或试验Internet网络,后来逐步扩充到各种Unix系统中,尤其对Linux的支持相当完美。Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。
Apache服务器拥有以下特性:
支持最新的HTTP/1.1通信协议
拥有简单而强有力的基于文件的配置过程
支持通用网关接口
支持基于IP和基于域名的虚拟主机
支持多种方式的HTTP认证
集成Perl处理模块
集成代理服务器模块
支持实时监视服务器状态和定制服务器日志
支持服务器端包含指令(SSI)
支持安全Socket层(SSL)
提供用户会话过程的跟踪
支持FastCGI
通过第三方模块可以支持Java Servlets
如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。
是它的官方网站.
apache的主要模块包含哪些内容
mod_access
根据客户端的主机名,IP地址,或其他特性的客户端请求提供访问控制。
mod_actions
该模块提供了根据媒体类型或请求方法执行CGI脚本。
用到mod_alias模组
提供文档树中的主机文件系统的不同部分映射和URL重定向
mod_asis
发送文件,其中包含他们自己的HTTP标头
mod_auth
使用文本文件的用户身份验证
mod_auth_anon
允许“匿名”用户访问身份验证领域
mod_auth_dbm
提供用户认证使用DBM文件
mod_auth_digest
用户认证使用MD5摘要式身份验证。
mod_auth_ldap
允许使用LDAP目录来存放数据库的HTTP基本身份验证。
mod_autoindex
生成目录索引,自动,类似的Unix LS命令或Win32 目录的shell命令
mod_cache
内容缓存键的URI。
mod_cern_meta
CERN httpd的图元文件的语义
mod_cgi的
CGI脚本的执行
mod_cgid
使用一个外部CGI守护进程执行CGI脚本
mod_charset_lite
指定字符集转换或重新编码
mod_dav
分布式创作和版本控制(WebDAV的)功能
mod_dav_fs
为mod_dav的文件系统提供者
mod_deflate模块
压缩的内容,然后传送到客户端
mod_dir
提供“结尾的斜线”重定向和服务目录索引文件
mod_disk_cache
内容缓存存储管理器键入的URI
mod_dumpio
转储所有的I / O错误日志中。
mod_echo
一个简单的echo服务器来说明协议模块
mod_env
修改传递给CGI脚本和SSI页面的环境,
mod_example
说明在Apache模块API
mod_expires
生成到期的Cache-Control HTTP报头,根据用户指定的标准
mod_ext_filter
通过外部程序发送给客户端之前,通过响应体
mod_file_cache实现
在内存中缓存静态文件列表
mod_headers
定制的HTTP请求和响应头
mod_imap
服务器端图像映射处理
mod_include
服务器解析的HTML文件(服务器端包含)
mod_info
服务器的配置提供了一个全面的概述
mod_isapi
在Apache的ISAPI扩展为Windows
mod_ldap模块
LDAP连接池和结果缓存服务使用的其他LDAP模块
mod_log_config
记录向服务器发出的请求
mod_log_forensic
法医记录的请求到服务器
mod_logio
记录每个请求的输入和输出字节
mod_mem_cache
内容缓存键的URI
mod_mime
联营公司所要求的文件名的扩展名与文件的行为(处理程序和过滤器)和内容(MIME类型,语言,字符集和编码)
mod_mime_magic
通过在几个字节,其内容来确定一个文件的MIME类型
mod_negotiation模块
提供内容协商
mod_nw_ssl
对于NetWare启用SSL加密
mod_proxy
HTTP/1.1代理/网关服务器
mod_proxy_connect
mod_proxy的扩展名 CONNECT请求处理
mod_proxy_ftp
FTP支持模块 的mod_proxy
mod_proxy_http
HTTP支持模块 的mod_proxy
mod_rewrite
提供了一个基于规则的重写引擎重写请求的URL飞
mod_setenvif
基于请求的特性,允许设置的环境变量
则mod_so
服务器在启动时加载的可执行代码和模块或重新启动时间
mod_speling
尝试纠正错误的URL,用户可能忽略了资本输入,并允许一个拼写错误
mod_ssl的
强效加密使用安全套接字层(SSL)和传输层安全协议(TLS)
使用mod_status
提供有关服务器活动和性能
mod_suexec
允许CGI脚本来运行指定的用户和组
mod_unique_id
每个请求的唯一标识符提供了一个环境变量
mod_userdir模块
用户特定的目录
mod_usertrack
点击流记录在网站上的用户活动
mod_version
版本相关的配置
mod_vhost_alias
提供质量的虚拟主机动态配置
Apache 服务
一、介绍
二、Linux下apache的安装
三、apache的基础信息
四、配置apache服务
五、apache的虚拟主机
六、Apache httpd.conf配置详解
七、特殊使用场景
1. Linux Apache配置多个站点同时运行
Apache HTTP Server (简称Apache)是 Apache软件基金会 的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。 [2]
Apache HTTP服务器 是一个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的 Web服务器 软件。
它可以运行在几乎所有广泛使用的 计算机平台 上。
Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的 Web服务器 软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是 自由软件 ,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做 代理服务器 来使用。
yum install httpd -y #安装apache软件包
systemctl start httpd #打开服务
systemctl enable httpd #开机自启动
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld #开机不启动防火墙
systemctl restart httpd#重新开启
firewalld-cmd --permanent --add-service=http #在防火墙策略中添加http和https服务
firewalld-cmd --permanent --add-service=https
firewall-cmd --permanent --add-port=8080/tcp
firewalld-cmd --reload #重新加载策略
firewall-cmd --list-all #查看防火墙:
apache还有一个使用手册:需要安装httpd-manual包
yum install httpd-manual -y
各个主要子目录的用途如下:
bin:存放httpd服务的各种执行程序文件。包括主程序httpd、服务控制工具apachectl等。
cgi-bin:存放各种CGI程序文件。
logs:存放httpd服务的日志文件。
conf:存放httpd服务的各种配置文件,包括主配置文件httpd.conf、增强配置子目录extra等。
htdocs:存放网页文档,包括默认首页文件index.html等。
module:存放httpd服务的各种模块文件。
1.在默认发布目录发布内容
主配置目录: /etc/httpd/conf
主配置文件:/etc/httpd/conf/httpd.conf
子配置目录:/etc/httpd/conf.d
子配置文件:/etc/httpd/conf.d/*.conf
默认发布目录:/var/www/html
默认发布文件:index.html
默认端口:80
默认安全上下文:httpd_sys_content_t
程序开启默认用户:apache
apache日志:/etc/httpd/logs/*
netstat -antlupe | grep httpd ##查看当前http服务的网络接口
2.修改默认端口
vim /etc/httpd/conf/httpd.conf
Listen 8080 ##修改默认端口为8080
3.修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件。
这个文件可以指定多个,有访问顺序
vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos.html index.html
##当index.html不存在时,访问westos.html
##如果将westos.html放到index.html前面,
在两个文件都存在的情况下会默认访问westos.html里面的内容
##如果没编辑/etc/httpd/conf/httpd.conf(没添加加westos.html),
要想看到westos的页面,则在浏览器中输入:http端IP/westos.html 即可
# systemctl restart httpd.service 修改完配置文件记得一定要重启服务生效
4.修改默认发布目录
vim /etc/httpd/conf/httpd.conf
DocumentRoot \"/www/html\"
Directory \"/www/html\"
Require all granted
/Directory
index.html:apache默认发布文件
news.conf 或 music.conf:apache子配置文件
恢复默认发布目录,并创建默认文件index.html
cd /etc/httpd/conf.d/ #进入apache服务子配置目录
vim adefault.conf #建立默认发布目录配置文件
VirtualHost _default_:80
DocumentRoot /var/www/html #发布文件路径
CustomLog \"logs/adefault.log\" combined #日志路径,这里写相对路径,内容在/etc/httpd/logs/*.log里面
/VirtualHost
1. Linux Apache配置多个站点同时运行
这样一种场景;我们有一台服务器;但是想挂多个网站;那么Apache下配置虚拟主机可以满足这个需求;
1). 比较简单的是基于主机名的配置步骤如下:
step0:示例环境:
ip:115.28.17.191
域名:baijunyao.com
thinkbjy.com
目录: /var/www/html/baijunyao
/var/www/html/thinkbjy
step1:修改hosts文件
[root@iZ28qa8jt4uZ /]# ifconfig; //查看ip并记录自己的ip地址
[root@iZ28qa8jt4uZ /]# vim /etc/hosts; //修改hosts文件 添加如下两行内容
115.28.17.191 baijunyao.com
115.28.17.191 anlianma.com
step2:修改httpd.conf文件
[root@iZ28qa8jt4uZ /]# vim /etc/httpd/conf/httpd.conf; //修改httpd.conf文件 删除990行 NameVirtualHost *:80前的#注释
step3:修改httpd-vhosts.conf文件
[root@iZ28qa8jt4uZ /]# vim /etc/httpd/conf.d/virtual.conf; //设置httpd-vhosts.conf如下 如没有则新建
VirtualHost *:80
DocumentRoot /var/www/html/baijunyao
ServerName baijunyao.com
/VirtualHost
VirtualHost *:80
DocumentRoot /var/www/html/anlianma
ServerName anlianma.com
/VirtualHost
虚拟主机配置到此结束;在对应的目录下新建html页面测试即可;
2). 另一种方式是
实际应用中,一个使用自己独有的配置文件,另一个使用默认Apache配置
Apache默认配置不表述。下面仅仅介绍独立配置文件,以zabbix为例