• Apache源码包安装和子配置文件介绍--update.2014-12-5


    安装apache:

    官网:http://httpd.apache.org/download.cgi#apache24

    1.wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.10.tar.gz

    2.tar zxvf httpd-2.4.10.tar.gz

    3.cd httpd-2.4.10  &&  ./configure ...  && make && make install

    **报错APR not found,解决办法(安装apache2.2.22版本没有问题,2.4才会有这个问题)

    =======================================

    1.下载所需软件包:

    wget http://archive.apache.org/dist/apr/apr-1.4.5.tar.gz  

    wget http://archive.apache.org/dist/apr/apr-util-1.3.12.tar.gz  

    wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.10/pcre-8.10.zip

     

    具体步骤如下:

     a:解决apr not found问题>>>>>>

       [root@xt test]# tar -zxf apr-1.4.5.tar.gz  
       [root@xt test]# cd  apr-1.4.5  
       [root@xt apr-1.4.5]# ./configure --prefix=/usr/local/apr  
       [root@xt apr-1.4.5]# make && make install


    b:解决APR-util not found问题>>>>

       [root@xt test]# tar -zxf apr-util-1.3.12.tar.gz  
       [root@xt test]# cd apr-util-1.3.12  
       [root@xt apr-util-1.3.12]# ./configure --prefix=/usr/local/apr-util -with- apr=/usr/local/apr
       [root@xt apr-util-1.3.12]# make && make install

     

    c:解决pcre问题>>>>>>>>>

       [root@xt test]#unzip -o pcre-8.10.zip  
       [root@xt test]#cd pcre-8.10  
       [root@xt pcre-8.10]#./configure --prefix=/usr/local/pcre  
       [root@xt pcre-8.10]#make && make install

    2.最后编译Apache时加上:

    --with-apr=/usr/local/apr

    --with-apr-util=/usr/local/apr-util/

    --with-pcre=/usr/local/pcre

    =======================================

    4.重新编译安装:./configure --prefix=/usr/local/apache2  --with-apr=/usr/local/apr  --with-apr-util=/usr/local/apr-util  --with-pcre=/usr/local/pcre  --enable-so  --enable-rewrite

    5.make && make install

    安装完成后配置配置文件:

    修改ServerName localhost.localdomain  (可通过hostname查看本机servername)

    开启Include conf/extra/httpd-mpm.conf(配置prefork模式的选项,下边有介绍)

    开启Include conf/extra/httpd-default.conf (下边有介绍)

    Apache源码包安装的子配置文件介绍:

       配置文件位置:/usr/local/apache2/etc/httpd.conf

       子配置文件: /usr/local/apache2/etc/extra/*.conf 

    源码包安装的Apache的配置文件并不是在一个文件里,主配置文件里边只有400多行,里边加载了extra子配置文件,但默认都是注释的。

    常用子配置文件介绍:

    ====================

    1.httpd-autoindex.conf      #apache系统别名,设置别名目录在此配置文件中设置。

    Alias /icons/ "/usr/local/apache2//icons/"        #通过www.domain.com/icons/访问

    <Directory "/usr/local/apache2//icons">

       Options Indexes MultiViews

       AllowOverride None

       Order allow,deny

       Allow from all

    </Directory>

     

    Alias /soft/ "/www/soft/"           #通过www.domain.com/soft访问              

    <Directory "/www/soft/">

       Options Indexes MultiViews

       AllowOverride None

       Order allow,deny

       Allow from all

    </Directory>

    tips:别名目录不一定在apache根目录下,在任意目录下都可以,能够跳出网站主目录的限制,直接通.过www.domain.com/alias/访问。指定的别名目录下边一定要指定目录权限,即<Directory>。别名目录中 / 不能省略。

     

    2.httpd-default.conf        #apache线程控制,必须开启。

    Timeout 300   #超时时间

    KeepAlive On  #开启线程控制(不开启的话用户访问页面会产生一个进程,访问其他页面会产生另一个进程,这样的话一个用户会产生好多个进程,会降低apache性能。开启此项,当用户访问网站时会产生一个进程,打开其他页面时会产生线程,保证了一个用户只产生一个进程。网站此项功能必须开启。)

    MaxKeepAliveRequests 100   #最大线程连接数

     

    3.httpd-info.conf    #apache状态统计

     

    <Location /server-status>

       SetHandler server-status

       Order deny,allow

       Deny from all

       Allow from .example.com

    </Location>

    通过访问www.domain.com/server-status可以查看apache状态。如果页面显示not found 则需要修改目录权限,在Deny from all下加上allow from ip(允许的ip)。

     

    4.httpd-manual.conf     #apache帮助文档

    通过访问www.domain.com/manual 查看apache帮助文档,一般为英文,没用,可以到apache官网下载帮助文档。

     

    5.httpd-languages.conf    #语言编码

    要使其生效需要在主配置文件中打开,如果中文乱码不是浏览器编码的原因可能是此配置文件注释没打开。

     

    6.httpd-mpm.conf     #最大客户端限制

     

    <IfModule mpm_prefork_module>

       StartServers          5

       MinSpareServers       5

       MaxSpareServers      10

       MaxClients          150

       MaxRequestsPerChild   0

    </IfModule>

    MaxClients为最大客户端数量,即进程数。里边有两个上边的<IFModule>默认mpm_worker_module生效。

    最大客户端数量由服务器性能决定,可通过top命令查看当前状态,进行调整。

     

    7.httpd-multilang-errordoc.conf       #报错页面

     

    ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var

    ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var

    ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var

    ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var

    ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var

    ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var

    ErrorDocument 410 /error/HTTP_GONE.html.var

    ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var

    ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var

    ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var

    ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var

    ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var

    ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var

    ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var

    ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var

    ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var

    ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var

    可以到对应的页面下修改显示的报错页面。

    7.其他:

     

    httpd-ssl.confssl      #安全套接字访问   没讲,不用研究。

    httpd-userdir.conf     #用户主目录配置  用的不多,不讲。

    httpd-vhosts.conf虚拟主机,单独介绍。

  • 相关阅读:
    IsBadReadPtr|IsBadWritePtr调试崩溃
    VSCode配置python调试环境
    Visual Studio Code 如何编写运行 C、C++ 程序?
    使用nginx做反向代理
    Win10环境下配置VScode的C++编译环境
    关于java 获取 html select标签 下拉框 option 文本内容 隐藏域
    【VSCode】Windows下VSCode编译调试c/c++【更新 2018.03.27】
    VS Code 配置 C/C++ 环境
    改变你一生的编辑器:VSCode使用总结
    CentOS7,安装Tomcat8.5、JDK1.8,并设置开机启动(Linux CentOS Tomcat、JDK+Tomcat、Tomcat开机自启动)
  • 原文地址:https://www.cnblogs.com/leezhxing/p/3298066.html
Copyright © 2020-2023  润新知