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

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.3

httpd-2.0

httpd-2.2

httpd-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工作模型

高度模块化:DSO

MPM:Multipath Processing Module #多处理模块

prefork:一次一个进程响应一个请求

worker:一个进程生成多个线程,一个线程响应一个请求

event:基于事件驱动,一个进程响应多个请求  


4.httpd自带的工具程序

工具 功能
htpasswd basic认证于文件实现时,用到的账号密码生成工具
apachectl httpd自带的服务控制脚本,支持start,stop,restart
apxs 由httpd-devel包提供的,扩展httpd使用第三方模块的工具
rotatelogs 日志滚动工具
suexec 访问某些有特殊权限配置的资源时,临时切换至用户运行的工具
ab apache 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 HOSTNAME T拒绝指定来源主机名的主机访问

注意: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]

 //安装开发环境
 [[email protected] ~]# yum groups mark install "Development Tools"
 [[email protected] ~]# groupadd -r apache
 [[email protected] ~]# useradd -M  -s /sbin/nologin  -g apache apache
 [[email protected] ~]# yum -y install openssl-devel pcre-devel expat-devel libt ool

     //下载并安装apr-1.4+和apr-util-1.4+
 [[email protected] ~]# cd /usr/src/
 [[email protected] ~]# wget http://mirrors.shu.edu.cn/apache//apr/apr-1.6.3.tar.bz2
 [[email protected] ~]# wget http://mirrors.shu.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2
 [[email protected] ~]# tar xf apr-1.6.3.tar.bz2
 [[email protected] ~]# tar xf apr-util-1.6.1.tar.bz2
 [[email protected] ~]# cd apr-1.6.3
 [[email protected] ~]# vim configure
     # $RM "$cfgfile" // 将此行加上注释,或者删除此行

  [[email protected] ~]# ./configure --prefix=/usr/local/apr
        配置过程略过…
  [[email protected] ~]# make && make install
        编译安装过程略…
  [[email protected] ~]# cd /usr/src/apr-util-1.6.1
  [[email protected] ~]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
  [[email protected] ~]# make && make install

 //编译安装httpd
  [[email protected] ~]# cd
  [[email protected] ~]# wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.34.tar.bz2
  [[email protected] ~]# tar xf httpd-2.4.34.tar.bz2
  [[email protected] ~]# cd httpd-2.4.34
  [[email protected] ~]# ./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
  [[email protected] ~]# make && make install
        编译安装过程略…

        //设置主机名
   [[email protected] ~]# vim /etc/httpd24/httpd.conf
#ServerName www.example.com:80 //取消#号

    //在最后一行加上一下内容,下面是配置相同IP相同端口不同域名,直接访问域名
    [[email protected] ~]# 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>

    //创建相应网页的日志目录
     [[email protected] ~]# mkdir /usr/local/apache/logs/{lan,yong}
     [[email protected] ~]# chown -R apache.apache /usr/local/apache/logs

    //创建网页目录并修改属主属组
    [[email protected] ~]# cd /usr/local/apache/htdocs/
    [[email protected] htdocs]# mkdir lan yong
    [[email protected] htdocs]# chown -R apache.apache lan
    [[email protected] htdocs]# chown -R apache.apache yong

     //创建网页
     [[email protected] htdocs]# pwd
     /usr/local/apache/htdocs
     [[email protected] htdocs]# echo ‘hello welcome to visit lan‘ > lan/index.html
     [[email protected] htdocs]# echo ‘hello welcome to visit yong‘ > yong/index.html 

     //启动httpd服务 80端口
     [[email protected] ]# cd /usr/local/apache/bin
     [[email protected] bin]# ./apachectl start 

     //查看 80端口是否启动
     [[email protected] bin]# ss -antl

      //在浏览器上验证
                 ******输入www.wangqing.com*********

                    *******输入www.lanzhiyong.com********

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

时间: 2024-08-01 23:40:41

Linux详细搭建httpd网站搭建服务(阿帕奇)的相关文章

bc网站搭建-bc网站搭建网站建设开发文档包含的内容如下

做网站的时候,我们第一就是先拟定一个bc网站搭建在网站建设前对市场进行分析.确定网站的目的和功能,并根据需要对网站建设中的技术.内容.费用.测试.维护等做出策划.网站策划对网站建设起到计划和指导的作用,对网站的内容和维护起到定位作用.企业建设网站目的及功能定位 1.为什么要建立网站,是为了树立企业形象,宣传产品,进行电子商务,还是建立行业性网站?是企业的基本需要还是市场开拓的延伸? 2.整合公司资源,确定网站功能.根据公司的需要和计划,确定网站的功能类型: 企业型网站.应用型网站.商业型网站(行

搭建Apache网站基础服务

简介 Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上.因为它是自由的开源软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷. Apache的主要特点: 开源代码:这是它的重要特点之一,也是其他特性的基础 跨平台应用:apache服务器可以运行在绝大多数的平台上 支持各种web编程语言:Apache服务器可支持的网页编程语言包括Perl.PHP.Python.Java等. 模块化设计:Apa

lnmp平台搭建及网站搭建

一.Nginx服务基础Nginx专为性能优化开发,其最知名的优点是他的稳定性和低系统资源消耗,以及对HTTP并发链接的高处理能力.1.安装pcre.zlib开发包,以便提供相应的库和头文件yum -y install pcre-devel zlib-devel2.创建运行用户.组useradd -M -s /sbin/nologin nginx #nginx默认以nobody身份运行,建议为其创建专门的用户账号,不建立主文件夹,禁止登录到shell环境3.编译安装Nginx[[email pro

Dockerfile搭建apache、ssh服务

Dockerfile文件 实验需求: 1.  创建容器守护态运行 2.  使用dockerfile文件创建镜像 3.  使用镜像搭建httpd.sshd服务 实验步骤: 守护态运行 更多的时候,需要让 Docker 容器在后台以守护态(Daemonized)形式运行.此时,可以通过添加  -d  参数来实现.例如下面的命令会在后台运行容器. 或 容器启动后会返回一个唯一的 id,也可以通过dockerps命令来查看容器信息. 1.docker run -d 运行提个新的容器,我们通过-d命令让他

腾讯云-NGINX搭建静态网站

搭建静态网站 搭建Http静态服务器环境 任务时间:15min ~ 30min 搭建静态网站,首先需要部署环境.下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务. 00.安装 Nginx 在 CentOS 上,可直接使用 yum 来安装 Nginx yum install nginx -y 安装完成后,使用 nginx 命令启动 Nginx: nginx 此时,访问 http://ip 可以看到 Nginx 的测试页面 [?] 如果无法访问,请重试用 nginx -

Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务

Linux下使用Apache的Httpd+Mod_jk+Tomcat搭建Web集群服务 目的 ?? 使用多个tomcat服务器来对请求进行分流,防止单个服务器压力过重.这里为了简单,只使用两个tomcat. 软件 apache httpd-2.2.31(下载地址:https://httpd.apache.org/download.cgi) apache tomcat-7.0.69(下载地址:https://tomcat.apache.org/download-70.cgi) tomcat-con

httpd搭建虚拟主机与Apache网站基础服务

前言 Apache简介 Apache的主要特点 httpd 服务器的基本配置 搭建httpd虚拟主机 Apache简介: Apache HTTP Server 是开源软件项目的代表,也是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上.因为它是自由的开源软件,所以不断有人来为它开发新的功能.新的特性.修改原来的缺陷. Apache的主要特点: > 开源代码:这是它的重要特点之一,也是其他特性的基础 > 跨平台应用:apache服务器可以运行在绝大多数的平台上 支持

Linux下使用Apache搭建Web网站服务器

Linux下使用Apache搭建Web网站服务器 实验目标 apache服务器常见概念 apache服务器安装及相关配置文件 实战: 例1:为公司内网搭建一个web服务器 例2:取消apache默认欢迎页: 例3:使用rpm搭建lamp 环境 例4, 使用别名,引用网站根目录以外的路径. 例6:打开软链接功能. 通过软件链接直接引用网站根目录以外的内容 例5,当一个目录下没有默认首页时,访问http://192.168.1.63/phpmyadmin/禁止显示目录列表 例7:通过用户认证的方式,

linux下网站搭建

我们知道windows网站搭建一般是:IIS+Asp+Sqlserver,而 linux网站搭建是:Apache+php+Mysql.两者之间个有千秋,但是为什么我们许多的门户网站搭建都选择linux— apache+php+mysql呢?当然是其的安全性了,Apache 是世界排名第一的Web 服务器, 根据Netcraf所作的调查,世界上百分之五十以上的Web 服务器在使用Apache.在搭建平台时,也可以直接使用RPM 包来安装,但是由于使用RPM 包在一些系统上不支持,因此我们使用更通用