学习一个服务的过程:
- 此服务器的概述:名字,功能,特点,端口号
- 安装
- 配置文件的位置
- 服务启动关闭脚本,查看端口
- 此服务的使用方法
- 修改配置文件,实战举例
- 排错(从下到上,从内到外)
本节所讲内容:
- apache服务器常见概念
- apache服务器安装及相关配置文件
- 实战:基于用户和主机的访问控制
- 实战:部署web服务器,运行一个类人人网的社交网站
注意:本节课是用rpm包来搭建LAMP环境,主要是让同学们初步了解下相关概念和LAMP环境的功能,后期会带大家用源码编译的方式来精讲LAMP和LNMP环境,包括环境搭建,调优等等。
apache服务端:jiaofy63.cn IP:192.168.0.63
apache客户端:jiaofy64.cn IP:192.168.0.64
web服务概述:
WEB服务器也称为WWW(WORLD WIDE WEB,万维网)服务器,主要功能是提供网上信息浏览服务。
常见web服务器(web):
httpd(apache)、nginx +PHP
tomcat: jsp + html
win:IIS
客户端:IE 、firefox、chrome 、手机(浏览器)Browser
今天的主角:LAMP=Linux Apache Mysql PHP 中的 Apache(HTTPD)
类 LINUX 系统
Linux+Apache+Mysql/MariaDB+Perl/PHP/Python 一组常用来搭建动态网站或者服务器 的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼 容度,共同组成了一个强大的 Web 应用程序平台。随着开源潮流的蓬勃发展,开放源代码 的 LAMP 已经与 J2EE 和.Net 商业软件形成三足鼎立之势,并且该软件开发的项目在软件方 面的投资成本较低,因此受到整个 IT 界的关注。从网站的流量上来说,70%以上的访问流量 是 LAMP 来提供的,LAMP 是最强大的网站解决方案
什么是 Apache
Apache HTTPD Server 简称 Apache,是 Apache 软件基金会的一个开源的网页服务器, 可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一。它快速、可靠并且可通过简单的 API 扩展,将 Perl/Python 等解释器编 译到服务器中!Apache HTTP 服务器是一个模块化的服务器,各个功能使用模块化进行插拔! 目前支持 Windows,Linux,Unix 等平台!
Apache 软件基金会(也就是 Apache Software Foundation,简称为 ASF),是专门为运 作一个开源软件项目的 Apache 的团体提供支持的非盈利性组织,这个开源软件项目就是 Apache 项目!那么我们的 HTTPD 也只是 Apache 的开源项目之一!
主要的开源项目:HTTP Server,Ant,DB,iBATIS,Jakarta,Logging,Maven,Struts, Tomcat,Tapestry,Hadoop 等等。只是最有名的是 HTTP Server,所以现在所说的 Apache 已 经就是 HTTPD Server 的代号了! 我们还见的比较多的是 Tomcat,Hadoop 等项目
官方网站:http://www.apache.org/httpd:http://httpd.apache.org/
图标:
什么是 Mysql
MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 旗下公司,他也是最流行的关系型数据库管理系统!特别是在 WEB 应用方面!
关系型数据库:它通过数据、关系和对数据的约束三者组成的数据模型来存放和管理数
据
什么是 PHP
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通 用开源脚本语言。语法吸收了 C 语言、Java 和 Perl 的特点,利于学习,使用广泛,主要适 用于 Web 开发领域。PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创的语法。它可以 比 CGI 或者 Perl 更快速地执行动态网页。用 PHP 做出的动态页面与其他的编程语言相比, PHP 是将程序嵌入到 HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比 完全生成 HTML 标记的 CGI 要高许多;PHP 还可以执行编译后代码,编译可以达到加密和 优化代码运行,使代码运行更快。
简单的说,PHP 就是一个脚本解释器! 官方网站:http://php.net/
PHP 服务器安装好之后,升级切记注意,不要盲目升级!因为它会废弃很多废弃低效的语法!
LAMP 工作原理
Web 服务器的工作模式和端口
工作模式是:B/S 模式
工作端口是:80/http 正常端口443/https SSL 端口
安装服务器端:httpd
httpd-2.2.3-11.el5.i386.rpm :Apache 服务的主程序包,服务器端必须安装该软件包
httpd-devel-2.2.3-11.el5.i386.rpm :Apache 开发程序包
httpd-manual-2.2.3-11.el5.i386.rpm :Apache 手册文档,包含HTML 格式的Apache 计划的
Apache User's Guide 说明指南
安装:#推荐使用yum安装
yum -y install httpd
或者:
yum install httpd-devel
后自动解决安装很多依赖的软件包,后期大家在学习源码编译安装的时候,会遇到这样的问题,需要手动把依赖的包安装好,才能编译通过。
安装字符界面的下浏览器客户端:elinks
安装:
[root@jiaofy63 Packages]# yum install elinks
浏览器
测试:
例: [root@jiaofy63 ~]# elinks 192.168.1.63
配置文件位置:
[root@jiaofy63 Packages]# vim /etc/httpd/conf/httpd.conf
启动服务
[root@jiaofy63 ~]# service httpd restart
[root@xue63 ~]# chkconfig httpd on
查看端口
[root@jiaofy63 Packages]# netstat -anutp | grep 80
tcp 0 0 :::80 :::* LISTEN 3854/httpd
此服务的使用方法
通过浏览器访问
或
elinks 192.168.0.63
主配置文件介绍:
vim /etc/httpd/conf/httpd.conf
ServerName 192.168.1.235:80 #服务器主机名
PidFile run/httpd.pid#apache #运行进程 ID 存放
Timeout 60 #超时时间,多少 s 没有反应就超时
KeepAlive Off #是否允许一个永久的链接,设置为 OFF 的时候,不 能保持连接功能,传输效率比较低,设置为 ON 时,可以提高服务器传输文件的效率,建议开启
MaxKeepAliveRequests 100 #设置 KeepAlive 为 ON 时,设置客户端每次连接允许 请求相应最大文件数,默认 100 个
KeepAliveTimeout 15 #超时时间,同一个客户端下一个请求 15s 没收到就 超时
Listen 80#监听端口,默认本地 IP,如果指定 ip 写上 IP:80
<If