一·关于Apache
1.Apache的了解
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,它快速、
可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。Apache HTTP服务器是一
个模块化的服务器,源于NCSAhttpd服务器,经过多次修改,成为世界使用排名第一的Web服务器软件。
Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有
人来为它开发新的功能、新的特性、修改原来的缺陷。
Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache有多种产品,可以
支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统
开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充
群集节点而不是增加处理器。世界上很多著名的网站如Amazon、Yahoo!、W3 Consortium、Financial Times
等都是Apache的产物,
它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行
在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面。
2.Apache web服务器的特性
1.支持最新的HTTP/1.1通信协议
2.拥有简单而强有力的基于文件的配置过程
3.支持网关接口
4.支持基于IP和基于域名的虚拟主机
5.支持多种方式的HTTP认证
6.集成Perl处理模块
7.集成代理服务器模块
8.支持实时监视服务器状态和定制服务器日志
9.支持服务器端包含指令(SSI)
10.支持安全Socket层(SSL)
11.提供用户会话过程的跟踪
12.支持FastCGI
13.通过第三方模块可以支持JavaServlets
二.Apache的安装部署
1.apache服务的基本配置
[root@apache-server ~]# yum install -y httpd.x86_64
[root@apache-server ~]# systemctl start httpd
[root@apache-server ~]# systemctl enable httpd
[root@apache-server ~]# netstat -antlp | grep httpd
tcp6 0 0 :::80 :::* LISTEN 1195/httpd
[root@apache-server ~]# firewall-cmd --permanent --add-service=http # 把http服务添加到火墙策略中
[root@apache-server ~]# firewall-cmd --permanent --add-service=https
[root@apache-server ~]# firewall-cmd --list-all
打开网页访问
[root@apache-server ~]# cd /var/www/html/ # 这是httpd的默认发布目录
[root@apache-server html]# ls
[root@apache-server html]# vim index.html # 这是httpd的默认发布文件
hello world # 添加内容
再次打开网页访问
[root@apache-server html]# yum install -y httpd-manual # 这是提供apache使用的手册的软件
[root@apache-server html]# systemctl restart httpd
网页访问 http://172.25.254.142/manual/ ,即可看到手册内容
2.修改apache的端口
/etc/httpd/conf.d/ # 子配置目录
/etc/httpd/conf.d/.* # 子配置文件
/etc/httpd/conf/ # 主配置目录
/etc/httpd/logs/* # httpd的日志文件
httpd_sys_content_t # 安全上下文
[root@apache-server html]# rpm -qc httpd # 查看httpd服务的所有目录
[root@apache-server html]# getenforce # 查看selinux的状态
Enforcing
[root@apache-server html]# vim /etc/httpd/conf/httpd.conf
42 Listen 8080
[root@apache-server html]# systemctl restart httpd
[root@apache-server html]# netstat -antlp | grep httpd
打开浏览器进行访问:发现不能访问(这是因为selinux阻止了)
[root@apache-server html]# firewall-cmd --add-port=8080/tcp --zone=public # 在火墙中添加httpd的8080端口
success
[root@apache-server html]# firewall-cmd --add-port=6666/tcp --zone=public
success
[root@apache-server html]# firewall-cmd --list-all
再次打开浏览器进行访问,成功访问到内容