三期总目录链接
目录
1、Apache 的起源
2、准备工作centOS7机器一台
3、把httpd添加为系统服务
4、httpd服务和 dns服务结合使用 域名访问网站 就www.aaa.com为例
常用的全局配置参数
常用的全局配置参数(续)
Require配置项的常见语法
1、Apache 的起源
出现:针对之前出现的若干个Web 服务器程序进行整合,完善后形成的软件
管理维护: 由ASF 负责
主要特点: ①、开放源代码
②、跨平台使用 (支持绝大多数硬件平台,支持所有的Unix 系统和Linux 系统平台,,支持大多数Windows 平台)
③、支持多种Web编程语言(Perl 、PHP、Python、java 等)
④、模块化设计 (根据所需功能去安装不同的模块)
⑤、运行非常稳定 (支持大负载访问的Web站点)
⑥、安全性高 (及时修复已发现的漏洞)
2、准备工作centOS7机器一台
服务器ip地址 192.168.1.2/24 (连接的VMnet1 本机测试就可以)
查看防火墙和安全规则
关闭防火墙和安全规则 关闭后重启init 6
①、httpd 服务的默认监听端口 : 80 (为了避免端口冲突,先卸载rpm 方式安装的httpd)
rpm -e httpd --nodeps (卸载)
②、我们这里用yum安装 ,为了避免系统存在一些依赖性关系包没有安装的问题
yum -y install apr apr-devel cyrus-sasl-devel expat-devel libdb-devel apr-util-devel apr-util pcre-devel pcre openldap-devel
源码编译安装Apache (上传软件包) 这里我上传的是 httpd-2.4.25.tar.gz
③、解压: tar zxvf httpd-2.4.25.tar.gz -C /usr/src/ (把Apache 解压到 /usr/src)
切换到解压后的目录: cd /usr/src/httpd-2.4.25/
配置:(根据需要进行配置,加载相应的模块)
④、./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi
编译及安装: make && make install
确认安装结果
ls /usr/local/httpd
这里有4个重要的子目录他们的作用是:
/usr/local/httpd/bin : 存放各种执行程序文件,包括主程序httpd ;服务控制工具 apachectl
/usr/local/httpd/logs : 存放httpd 服务的日志文件
/usr/local/httpd/conf : 存放各种配置文件; 主配置文件httpd.conf 、增强配置子目录extra
/usr/local/httpd/htdocs: 存放网页文档。默认首页文件index.html
⑤、我们通过 ln -s /usr/local/httpd/bin/* /usr/local/bin/ 优化路径
原因: 通过编译安装的httpd,程序路径并不在默认的搜索路径中,为了方便使用httpd 服务,可通过添加软链接的方式优化路径
3、把httpd添加为系统服务
通过chkconfig 命令添加,由systemctl 命令管理该服务
建立可控制的服务脚本: cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd (把apache的服务脚本复制到/etc/init.d下并命名为httpd)
添加chkconfig 识别配置,将该服务在3、5 级别启动;启动和关闭的顺序分别为85 、21
vim /etc/init.d/httpd
添加: #chkconfig: 35 85 21
保存退出
chkconfig --add httpd (将httpd 添加为系统服务)
①、把httpd 服务设置为开机自启动
systemctl enable httpd
查看httpd 服务的自启动状态: systemctl is-enabled httpd (返回Enabled)
②、启动httpd服务
进行测试
成功显示It works!
4、httpd服务和 dns服务结合使用 域名访问网站 就www.aaa.com为例
(1)安装 bind
yum -y install bind
网卡也有设置dns 为自己
vim /etc/sysconfig/network-scripts/ifcfg-33
在最后一行添加 dns1=192.168.1.2 保存退出
systemctl restart network 重启网卡
cat /etc/resolv.conf 查看dns
(2)、修改主配置文件 添加 aaa.com 这个区域
vim /etc/named.conf
保存退出
(3)、添加区域配置文件
cd /var/named 进入配置文件
把named.localhost文件复制一个名为aaa
cp named.localhost aaa
进入aaa
保存退出
要保证DNS 服务器可用,就得更改区域文件和主配置文件的权限 (保证named 程序账户可用)
chown named:named aaa
chown named:named /etc/named.conf
(4)、启动服务
systemctl start named
(5)、测试DNS服务能否解析www.aaa.com ()
(6)修改httpd 服务的主配置文件 vim /usr/local/httpd/conf/httpd.conf
修改: ServerName www.aaa.com
保存退出
apachectl -t (检查配置文件是否OK)
重启httpd 服务 systemctl restart httpd
用域名测试访问: www.aaa.com 访问成功 这个网页是我自己简单弄的
常用的全局配置参数
ServerRoot:服务目录
Listen:监听的IP地址、端口号
User:运行服务的用户身份
Group:运行服务的组身份
ServerAdmin:管理员邮箱
ServerName:网站服务器的域名
DocumentRoot:网页文档的根目录
DirectoryIndex:默认的索引页文件
ErrorLog:设置错误日志文件的路径
LogLevel:记录日志的级别,默认为warn
常用的全局配置参数(续)
CustomLog:访问日志文件的位置
PidFile:保存httpd进程PID号的文件
AddDefaultCharset:设置站点中的网页默认使用的字符集编码
Timeout:网络连接超时,默认为300秒
KeepAlive:是否保持连接,可选On或Off
MaxKeepAliveRequests:每次连接最多请求文件数
KeepAliveTimeout:保持连接状态时的超时时间
Include:需要包含进来的其他配置文件
Require配置项的常见语法
Require all granted 允许所有访问
Require all denied 拒绝所有访问
Require local 允许本地访问
Require [not] host <主机名或域名列表> 限制主机名或域名访问
Require [not] ip <ip地址或网段列表> 限制ip地址访问