发表于 2018-11-19 07:49:14

apache配置搭建

  

  软件包下载:
  wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.25.tar.gz
  wget http://mirror.bit.edu.cn/apache/apr/apr-1.5.2.tar.gz
  wget http://mirror.bit.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
  

  yum install -y gcc autoconf automake make pcre pcre-devel openssl openssl-devel
  

  tar xvf apr-1.5.2.tar.gz
  cd apr-1.5.2
  ./configure
  make
  cd ..
  

  tar xvf apr-util-1.5.4.tar.gz
  cd apr-util-1.5.4
  ./configure --with-apr=/usr/local/apr
  make
  cd ..
  

  tar xvf httpd-2.4.25.tar.gz
  cd httpd-2.4.25
  ./configure --prefix=/usr/local/apache2 --enable-so --enable-ssl --enable-rewrite --with-mpm=worker --with-suexec-bin --with-apr=/usr/local/apr/
  make
  cd ..
  

  --prefix    //指定安装目录
  --enable-so      //开启模块化功能
  --enable-ssl      //支持ssl加密
  --enable-rewrite    //支持地址重写
  --with-mpm      //设置http工作方式
  --with-suexec-bin    //支持suid,sgid
  --with-apr      //指定apr程序绝对路径
  

  参数
  /usr/local/apache2/bin/apachectl
  -t/configtest  检测http配置文件语法是否正确
  graceful    启动httpd,不中断现有的http连接请求
  graceful-stop    关闭httpd,不中断现有的http连接请求
  

  配置文件解析
  ServerRoot "/usr/local/apache2"  //httpd 安装目录
  LoadModule foo_module modules/mod_foo.so   //编译时加--enable-so,格式LoadModule 模块    模块文件名称
  ServerAdmin you@example.com //当网站出问题,发的解决问题邮箱
  ServerName www.example.com    //网站域名
  DocumentRoot "/usr/local/apache2/htdocs"    //web服务器的根目录
  ErrorLog "logs/error_log"      //定位服务器错误日志
  Include conf/extra/httpd-mpm.conf    //在apache主配置文件中加载其它配置文件
  Options None      //不启用任何额外功能

[*]  ALL:开启除MultiViews之外的所有选项

[*]  ExecCGI:允许指定目录下的所有CGI脚本
[*]  FollowSymlinks:允许指定目录下的文件链接到目录外的文件或目录
[*]  Indexes:如果URL对应Options目录下找不到DirectoryIndex指定的首页文档,则apache将会把当前目录的所有文件索引出来
  

  Order指令:
  先检测允许,在检测拒绝,默认允许
  Order deny,allow
  Deny from all
  

  eg:
  Order Allow,Deny
  allow from 192.168.1.10
  

  IfDefine容器
  在httpd启动时测试条件为真,才会被处理 需要通过httpd -D定义
  指令
  eg:
  
  LoadModule mem_cache_module modules/mod_mem_cache.so
  

LoadModule cache_module modules/mod_cache.so

  

  IfModule容器
  仅在条件满足时才会处理的指令
  指令
  eg:
  
  User daemon
  Group daemon
  
  加载unixd_module模块后,User daemon与Group daemon才会被处理
  

  Directory容器
  用于特定文件系统,子目录以及目录下的内容
  指令 路径可以用~正则表达式匹配
  
  Options Indexs FollowSymLinks
  

AllowOverride None




Location容器
指令
  加~使用正则表达式
  

  




页: [1]
查看完整版本: apache配置搭建