分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Linux详细搭建httpd网站搭建服务(阿帕奇)

发布时间:2023-09-06 02:09责任编辑:胡小海关键词:httpLinux
1.httpd简介
当今主流的开源Web服务器软件有httpd(Apache),lighttpd,nginx,thttpd等,而httpd是迄今为止使用量多的web服务器,据统计目前httpd的全球占有量是47%左右,虽然有所下降但是使用两仍然是最多的,统计web服务器使用率的网站是:http://news.netcraft.com/
httpd工作的原理:httpd是Apache超文本传输协议(HTTP)服务器的主程序,被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
通常httpd不应该被直接调用,而应该在类Unix系统中由apachectl调用,在Windows作为服务运行。


2.httpd的版本

httpd-1.3httpd-2.0httpd-2.2httpd-2.4目前为止最新的版本是httpd-2.4.6,但是这里我用的是系统自带的RPM包安装的httpd-2.2.15版本的,最新版本配置可能会有所不同 ???本文主要介绍httpd的两大版本,httpd-2.2和httpd-2.4。 ???CentOS6系统的版本默认提供的是httpd-2.2版本的rpm包 ???????????????CentOS7系统的版本默认提供的是httpd-2.4版本的rpm包

3.httpd工作模型

高度模块化:DSOMPM:Multipath Processing Module #多处理模块prefork:一次一个进程响应一个请求worker:一个进程生成多个线程,一个线程响应一个请求event:基于事件驱动,一个进程响应多个请求 ?

4.httpd自带的工具程序

工具功能
htpasswdbasic认证于文件实现时,用到的账号密码生成工具
apachectlhttpd自带的服务控制脚本,支持start,stop,restart
apxs由httpd-devel包提供的,扩展httpd使用第三方模块的工具
rotatelogs日志滚动工具
suexec访问某些有特殊权限配置的资源时,临时切换至用户运行的工具
abapache benchmark,httpd的压力测试工具

5.rpm包安装的httpd程序环境

文件/目录对应的功能
/var/log/httpd/access.log访问日志
/var/log/httpd/error_log错误日志
/var/www/html/站点文档目录
/usr/lib64/httpd/modules/模块文件路径
/etc/httpd/conf/httpd.conf主配置文件
/etc/httpd/conf.modules.d/*.conf模块配置文件
/etc/httpd/conf.d/*.conf辅助配置文件

6.httpd常用的 配置
#切换使用MPM(编辑/etc/httpd/conf.modules.d/00-mpm.conf文件)
//LoadModule mpm_NAME_module modules/mod_mpm_NAME.so
//NAME有三种,分别是:
prefork
event
worker

访问控制法则:

法则功能
Require all granted允许所有主机访问
Require all deny拒绝所有主机访问
Require ip IPADDR授权指定来源地址的主机访问
Require not ip IPADDR拒绝指定来源地址的主机访问
Require host HOSTNAME授权指定来源主机名的主机访问
Require not host HOSTNAMET拒绝指定来源主机名的主机访问

注意:httpd-2.4版本默认是拒绝所有主机访问的,所以安装以后必须做显示授权访问
示例:
<RequireAll>
Require not ip 192.168.1.20
Require all granted
</RequireAll>

虚拟主机有三类:
1.相同IP不同端口
2.不同IP相同端口
3.相同Ip相同端口不同域名


7.编译安装httpd-2.4(以下实例是编译安装,相同IP相同端口不同域名)
httpd依赖于apr-1.4+,apr-util-1.4+,[apr-icon]

 //安装开发环境 [root@lanzhiyong ~]# yum groups mark install "Development Tools" ?[root@lanzhiyong ~]# groupadd -r apache [root@lanzhiyong ~]# useradd -M ?-s /sbin/nologin ?-g apache apache [root@lanzhiyong ~]# yum -y install openssl-devel pcre-devel expat-devel libt ool ????//下载并安装apr-1.4+和apr-util-1.4+ [root@lanzhiyong ~]# cd /usr/src/ [root@lanzhiyong ~]# wget http://mirrors.shu.edu.cn/apache//apr/apr-1.6.3.tar.bz2 [root@lanzhiyong ~]# wget http://mirrors.shu.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2 [root@lanzhiyong ~]# tar xf apr-1.6.3.tar.bz2 ?[root@lanzhiyong ~]# tar xf apr-util-1.6.1.tar.bz2 ?[root@lanzhiyong ~]# cd apr-1.6.3 [root@lanzhiyong ~]# vim configure ??????????????????????????# $RM "$cfgfile" // 将此行加上注释,或者删除此行 ?[root@lanzhiyong ~]# ./configure --prefix=/usr/local/apr ???????配置过程略过… ?[root@lanzhiyong ~]# make && make install ??????????编译安装过程略… ?[root@lanzhiyong ~]# cd /usr/src/apr-util-1.6.1 ??[root@lanzhiyong ~]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr ?[root@lanzhiyong ~]# make && make install //编译安装httpd ?[root@lanzhiyong ~]# cd ?[root@lanzhiyong ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.34.tar.bz2 ?[root@lanzhiyong ~]# tar xf httpd-2.4.34.tar.bz2 ??[root@lanzhiyong ~]# cd httpd-2.4.34 ????[root@lanzhiyong ~]# ./configure --prefix=/usr/local/apache ?--sysconfdir=/etc/httpd24 ?--enable-so ?--enable-ssl ?--enable-cgi ?--enable-rewrite ?--with-zlib ?--with-pcre ?--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all ?--with-mpm=worker ?[root@lanzhiyong ~]# make && make install ???????编译安装过程略… ???????//设置主机名 ??[root@lanzhiyong ~]# vim /etc/httpd24/httpd.conf #ServerName www.example.com:80 //取消#号 ???//在最后一行加上一下内容,下面是配置相同IP相同端口不同域名,直接访问域名 ???[root@lanzhiyong ~]# vim /etc/httpd24/httpd.conf ????<VirtualHost 192.168.209.12:80> ???ServerName www.wangqing.com ???DocumentRoot "/usr/local/apache/htdocs/lan" ???ErrorLog "logs/lan/error_log" ???CustomLog "logs/lan/access_log" combined <Directory "/usr/local/apache/htdocs/lan"> ????<RequireAll> ?????Require all granted ????</RequireAll> ????</Directory> ????</VirtualHost> ???<VirtualHost 192.168.209.12:80> ????ServerName www.lanzhiyong.com ????DocumentRoot "/usr/local/apache/htdocs/yong" ????ErrorLog "logs/yong/error_log" ????CustomLog "logs/yong/access_log" combined ???<Directory "/usr/local/apache/htdocs/yong"> ???<RequireAll> ???????Require all granted ??????</RequireAll> ??????</Directory> ??????</VirtualHost> ???//创建相应网页的日志目录 ????[root@lanzhiyong ~]# mkdir /usr/local/apache/logs/{lan,yong} ????[root@lanzhiyong ~]# chown -R apache.apache /usr/local/apache/logs ???//创建网页目录并修改属主属组 ???[root@lanzhiyong ~]# cd /usr/local/apache/htdocs/ ???[root@lanzhiyong htdocs]# mkdir lan yong ???[root@localhost htdocs]# chown -R apache.apache lan ???[root@localhost htdocs]# chown -R apache.apache yong ????//创建网页 ?????[root@localhost htdocs]# pwd ????/usr/local/apache/htdocs ?????[root@localhost htdocs]# echo ‘hello welcome to visit lan‘ > lan/index.html ????[root@localhost htdocs]# echo ‘hello welcome to visit yong‘ > yong/index.html ?????//启动httpd服务 80端口 ????[root@lanzhiyong ]# cd /usr/local/apache/bin ????[root@lanzhiyong bin]# ./apachectl start ?????//查看 80端口是否启动 ????[root@lanzhiyong bin]# ss -antl ?????//在浏览器上验证 ????????????????******输入www.wangqing.com*********
 ???????????????????*******输入www.lanzhiyong.com********

Linux详细搭建httpd网站搭建服务(阿帕奇)

原文地址:http://blog.51cto.com/13833047/2158455

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved