• apache主要目录结构及主要配置文件


    1.apache目录结构

    [root@test apache]# tree -L 1
    .
    |-- bin       程序命令目录
    |-- build
    |-- cgi-bin
    |-- conf      配置文件目录
    |-- error
    |-- htdocs    编译安装时站点目录
    |-- icons
    |-- include
    |-- lib 
    |-- logs       默认日志文件存放包括错误日志(error_log)和访问日志(access_log) tail -f access_log可以随时看访问记录, 里面httpd.pid还会记录主进程号
    |-- man
    |-- manual
    `-- modules   模块目录  例如PHP  MEMCACHE编译后的模块在这里面

    2. bin目录

    [root@test bin]# tree
    .
    |-- ab                   apache http服务器性能压力测试工具,类似的jmeter  loadrunner  webbench
    |-- apachectl            apache的启动命令
    |-- apr-1-config
    |-- apu-1-config
    |-- apxs                 apache服务器编译和安装扩展的工具,在进行DSO方式模块编译时会用到例如编译PHP时就用到:--with-apxs2=/usr/local/apache/bin/apxs
    |-- checkgid
    |-- dbmmanage
    |-- envvars
    |-- envvars-std
    |-- htcacheclean         清理磁盘缓存区的命令,一般少用
    |-- htdbm
    |-- htdigest
    |-- htpasswd             建立更新基本认证文件  例如配置nagio监控时候会用到
    |-- httpd                为apache的控制命令程序,apachectl执行的时候会调用到httpd
    |-- httxt2dbm
    |-- logresolve
    `-- rotatelogs           apache自带日志轮换工具 ,也可以用到cronolog代替。

    3. conf目录

    [root@test conf]# tree
    .
    |-- extra                                辅助apache配置文件
    |   |-- httpd-autoindex.conf
    |   |-- httpd-dav.conf                   dav支持配置
    |   |-- httpd-default.conf               apache相关服务配置 如超时时间 保持连接时间
    |   |-- httpd-info.conf
    |   |-- httpd-languages.conf             语言支持
    |   |-- httpd-manual.conf
    |   |-- httpd-mpm.conf                    服务器池管理,如apache模式配置 连接等
    |   |-- httpd-multilang-errordoc.conf
    |   |-- httpd-ssl.conf                    支持SSL加密配置
    |   |-- httpd-userdir.conf
    |   `-- httpd-vhosts.conf                 虚拟机配置文件
    |-- httpd.conf                            主配置文件
    |-- magic
    |-- mime.types
    `-- original

    4. httpd.conf主配置文件
    路径:/usr/local/apache/conf/httpd.conf
    ServerRoot "/usr/local/apache"   apache运行目录
    Listen 9911                              apache端口 
    <IfModule !mpm_netware_module>
    <IfModule !mpm_winnt_module>
    User daemon                              apache运行用户
    Group daemon                             apache运行组
    </IfModule>
    </IfModule>
    ServerAdmin you@example.com              管理员邮箱
    DocumentRoot "/usr/local/apache/htdocs"   站点目录index.html,注意最后不要加/线
    <Directory />                            根目录权限
        Options FollowSymLinks               可以使用符号链接
        AllowOverride None
        Order deny,allow
        Deny from all
    </Directory>
    <Directory "/usr/local/apache/htdocs"> 目录权限 注意Indexes的作用是允许浏览目录
        Options Indexes FollowSymLinks
        AllowOverride None                       禁止用户对目录配置文件.htaccess修改,一般为none
        Order allow,deny
        Allow from all
       
    </Directory>
    <IfModule dir_module>
        DirectoryIndex index.html                 站点目录首页文件多个文件用空格隔开
    </IfModule>
    <FilesMatch "^.ht">                           防止WEB用户查看以.ht开头的隐藏文件
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>
    ErrorLog "logs/error_log"                       错误日志
    LogLevel warn                                    警告级别
    <IfModule log_config_module>
        LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined 复合日志格式
        LogFormat "%h %l %u %t "%r" %>s %b" common    常规日志格式
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio  复合日志格式
        </IfModule>
        CustomLog "logs/access_log" common   默认访问日志格式
    </IfModule>
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/usr/local/apache/cgi-bin/"  CGI别名配置
    </IfModule>
    <IfModule cgid_module>
    </IfModule>
    <Directory "/usr/local/apache/cgi-bin">            CGI权限访问路径
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
    DefaultType text/plain   定义不能确定MIME类型时候使用默认MIME类型,如果服务主要包含text或HTML ,text/plain是一个好选择
    <IfModule mime_module>
        TypesConfig conf/mime.types
        AddType application/x-compress .Z          允许信息在传输中使用mosaic/x 2.1+解压信息  但不是所有浏览器都支持
        AddType application/x-gzip .gz .tgz
    </IfModule>
    <IfModule ssl_module>
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>


    3.虚拟主机http_vhost.conf配置文件

    首先,进入apache配置文件httpd.conf,找到:

    #Virtual hosts

    #Include /etc/httpd/extra/httpd-vhosts.conf 去掉本行的#,默认有#


    NameVirtuaHost *:80
    表示基于名称的虚拟主机  *:80表示监听本机所有IP的80端口上提供HTTP服务,*可以设置为具体IP
    <VirtualHost *:80>
    serveradmin 管理员邮箱
    servername  域名
    serveralias 别名        可以设置多个域名指向同一个站点
    errorlog    错误日志
    customlog   访问日志
    </VirtualHost>
    虚拟主机的配置是局部优先原则,也就是http_vhost.conf配置了,那么就不会从主配置文件http.conf中读取了

    举例

    访问localhost,OK~

    遇到问题:

    1.服务器本机 访问 403

     解决办法:httpd.conf文件中增加Listen 80监听

    2.其他局域网机器访问:You don't have permission to access / on this server.

    解决办法:http_vhosts.conf中注释掉多余的虚拟机配置项,在访问IP:port 即可

    3.其他局域网机器访问,访问到的一直是真实主机的首页

    解决办法:http_vhosts.conf中<VirtualHost *:80> 不要写成<VirtualHost localhost:80>

    文章参考:http://www.woaidiannao.com/html/ITjs/fwqjs/6724.html

  • 相关阅读:
    Mybatis入门
    结合模板导出PDF文件
    生成Excel文件
    生成PDF文件
    BeanFactory not initialized or already closed
    Oracle数据库的视图
    ORACLE简介
    Cookie和session
    【cookie的使用】&【Session】
    过滤器的相关知识
  • 原文地址:https://www.cnblogs.com/xiaowei89426/p/9074985.html
Copyright © 2020-2023  润新知