●httpd。1. httpd简介。2. httpd版本■2.1 httpd的特性■2.2 httpd-2.4新增的模块。3. httpd基础■3.1 httpd自带的工具程序■3.2 rpm包安装的httpd程序环境■3.3 web相关的命令■3.3.1 curl命令■3.3.2 httpd命令。4.编译安装httpd-2.4。5. httpd常用配置。作业
httpd简介httpd是Apache超文本传输协议(HTTP) 服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。通常,httpd不应该被直接调用,而应该在类Unix系统中 由apachectl调用,在Windows中作为服务运行。 httpd版本本文主要介绍httpd的两大版本,httpd-2.2和httpd-2.4.●CentOS6系列的版本默认提供的是httpd-2.2版本的rpm包●CentOS7 系列的版本默认提供的是httpd- 2.4版本的rpm包2.1 httpd的特性httpd有很多特性,下面就分 别来说说httpd- 2.2版本和httpd-2.4版本各自的特性。2.2httpd-2.4新增的模块httpd-2.4在之前的版本基础上新增了几大模块,下面就几个常用的来介绍一下。3.httpd基础3.1httpd自带的工具程序3.2rpm包安装的httpd程序环境mpm:以DSO机制提供,配置文件为/etc/httpd/conf.modules.d/00-mpm.conf3.3web相关的命令3.3.1curl命令curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP,FTPS, HTTP,HTTPS,GOPHER, TELNET, DICT,FIL E及LDAP等协议。curl支持以下功能:●https认证●http的POST/PUT等方法●ftp上传●kerberos认证●http上传●代理服务器●cookies●用户名/密码认证●下载文件断点续传●socks5代理服务器●通过http代理服务器 上传文件到tp服务器//通过curl下载文件ls
curl -o mylog,html https://blog.51cto.com/itchentao
ls
3.3.2httpd命令httpd -lhttpd -Mhttpd -vhttpd -V4.编译安装httpd-2.4httpd依赖于apr-1.4+,apr-util-1.4+,[apr-icon]apr:apache portable runtime//安装开发环境
yum groupinstall "Development Tools"
groupadd -r apache
useradd -r -g apache apache
yum -y install openssl-devel pcre-devel expat-devel libtool
cd /usr/src/
wget http://mirrors.shu.edu.cn/apache//apr/apr-util-1. 6.1.tar.bz2
ls
tar xf apr-1.6.5.tar.bz2
tar xf apr-util-1.6.1.tar.bz2
ls
cd apr-1.6.5
vim configure
cfgfile="${ofile}T"
trap "$RM \"$cfgfile\"; exit 1" 1 2 15
$RM "$cfgfile" 此行删除或注释
./configure --prefix=/usr/local/apr
make && make install
cd /usr/src/apr-util-1.6.1
/configure --prefix=/usr/local/apr-util -with-apr=/usr/local/apr
make && make install
wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.37 .tar.bz2
ls
tar xf httpd-2.4.37.tar.bz2
cd httpd-2.4.37
./configure --prefix=/usr/local/apache \ --sysconfdir=/etc/httpd24 \
make && make install
5.httpd常用配置切换使用MPM(编译/etc/httpd/conf.modules.d/00-mpm.conf文件):访问控制法则:注意:httpd-2.4版本默认是拒绝所有主机访问的,所以安装以后必须做显示授权访问示例<Directory /var/www/html/www> <RequireAll> Require not ip 192.168.1.20 Require all granted </RequireAll> </Directory>虚拟主机:虚拟主机有三类:·相同IP不同端口·不同IP相同端口·相同IP相同端口不同域名//设置主机名
vim /etc/httpd/conf/httpd.conf
ServerName www.example.com:80 //取消此行前面的#号
vim /etc/httpd/conf/httpd.conf
//在配置文件的最后加上如下内容tail -25 /etc/httpd/conf/httpd.conf
//创建网页目录并修改主属组
cd /var/www/html/
ls
mkdir www blog
ll
chown -R apache.apache blog
chown -R apache.apache www
ll
//创建网页
pwd
ls
echo 'hello welcome to visit www' > www/index.html
echo 'hello welcome to visit blog' > blog/index.html
//创建相应网页的日志目录
mkdir /var/log/httpd/{www,blog
ll /var/log/httpd/
chown -R apache.apache /var/log/httpd/
//启动服务并查看是否有80端口
systemctl start httpd
ss -antl
//在客户机上验证
1.修改hosts文件
~cat /etc/hosts
//添加以下两行
172.16.12.128 www.wangqing.com
172.16.12.128.blog.wangqing.com
2.在浏览器上打开网页测试
ssl:启用模块:编译/etc/httpd/conf.modules.d/00-base.conf文件,添加下面这行,如果已经有了但是注释了,则取消注释即可LoadModule ssl_module modules/mod_ssl.so
配置https步骤●生成证书(参考博客linux运维系列第6章)●配置httpd.conf, 取消以下内容的注释LoadModule ssl module modules/mod ssl.soIncLude /etc/httpd24/ext ra/httpd-vhos ts. confIncLude /etc/httpd24/ext ra/httpd- -SS 1. conf在httpd-vhos ts . conf中配置虚拟主机●在httpd -ssl.conf中配置证书的位置●检查配置文件是否有语法错误●启动或重启服务●设置hosts以便用域名访问(仅学习阶段, 企业实际工作中无需做此步。)