博客
关于我
web服务之Apache的配置与应用
阅读量:255 次
发布时间:2019-02-28

本文共 3617 字,大约阅读时间需要 12 分钟。

Apache虚拟主机配置与AwStats日志分析

1. Apache虚拟主机配置

1.1 基于域名的虚拟主机

在实际应用中,最常用的虚拟主机类型是基于域名的配置。这种方式下,多个虚拟站点共享相同的IP地址,但各自拥有不同的域名。服务器通过域名来区分不同的站点。

配置步骤:

  • /etc/hosts文件中添加域名解析:
  • echo "192.168.249.30 www.lisi.com" >> /etc/hostsecho "192.168.249.30 www.zhangsan.com" >> /etc/hosts
    1. 在Apache配置文件中添加虚拟主机定义:
    2. ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/var/www/html/lisi" ServerName www.lisi.com ServerAlias www.dummy-host.example.com ErrorLog "logs/lisi.com-error_log" CustomLog "logs/lisi.com-access_log" common
      ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/var/www/html/zhangsan" ServerName www.zhangsan.com ServerAlias www.dummy-host2.example.com ErrorLog "logs/zhangsan.com-error_log" CustomLog "logs/zhangsan.com-access_log" common
      1. 设置目录访问权限:
      2. Options None AllowOverride None Require all granted

        1.2 基于IP地址的虚拟主机

        这种方式需要为每个虚拟主机分配不同的IP地址,通常用于测试或特定场景。由于IP地址的唯一性,通常不推荐用于生产环境。

        配置步骤:

      3. 在Apache配置文件中添加虚拟主机定义:
      4. ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/var/www/html/lisi" ServerName www.lisi.com ServerAlias www.dummy-host.example.com ErrorLog "logs/lisi.com-error_log" CustomLog "logs/lisi.com-access_log" common
        ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/var/www/html/zhangsan" ServerName www.zhangsan.com ServerAlias www.dummy-host2.example.com ErrorLog "logs/zhangsan.com-error_log" CustomLog "logs/zhangsan.com-access_log" common
        1. 修改Apache监听地址:
        2. Listen 192.168.249.100:80

          1.3 基于端口的虚拟主机

          这种方式通过不同的端口号来区分虚拟站点,用户需要在浏览时指定端口号。

          配置步骤:

        3. 在Apache配置文件中添加虚拟主机定义:
        4. ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/var/www/html/lisi" ServerName www.lisi.com ServerAlias www.dummy-host.example.com ErrorLog "logs/lisi.com-error_log" CustomLog "logs/lisi.com-access_log" common
          ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/var/www/html/zhangsan" ServerName www.zhangsan.com ServerAlias www.dummy-host2.example.com ErrorLog "logs/zhangsan.com-error_log" CustomLog "logs/zhangsan.com-access_log" common
          1. 修改Apache监听地址:
          2. Listen 192.168.249.30:80Listen 192.168.249.30:8080

            2. AwStats日志分析

            2.1 安装AwStats

          3. 下载并解压AwStats软件包:
          4. cd /opttar zxvf awstats-7.6.tar.gzmv /opt/awstats-7.6 /usr/local/awstats
            1. 配置AwStats:
            2. cd /usr/local/awstats/tools./awstats_configure.pl

              2.2 修改Apache配置

            3. 启用CGI模块:
            4. LoadModule cgid_module modules/mod_cgid.soLoadModule cgi_module modules/mod_cgi.so
              1. 设置AwStats访问权限:
              2. Options None AllowOverride None Require all granted

                2.3 修改站点统计配置

              3. 修改AwStats配置文件:
              4. vim /etc/awstats/awstats.www.lisi.com.conf
                1. 设置日志文件路径:
                2. LogFile="/usr/local/httpd/logs/access_log"DirData="/var/lib/awstats"

                  2.4 设置定期更新

                3. 启用crond服务:
                4. crontab -e*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
                  1. 重启服务:
                  2. systemctl restart httpdsystemctl start crond

                    2.5 访问AwStats

                  3. 在浏览器中访问:
                  4. http://www.lisi.com/awstats/awstats.pl

                    3. 高级配置

                    3.1 连接保持

                    KeepAlive onMaxKeepAliveRequests 100KeepAliveTimeout 5

                    3.2 用户认证

                  5. 创建用户数据文件:
                  6. cd /usr/local/httpd/bin./htpasswd -c /usr/local/httpd/user zhangsan./htpasswd /usr/local/httpd/user lisi
                    1. 修改目录配置:
                    2. AuthName "请输入用户名和密码" AuthType Basic AuthUserFile "/usr/local/httpd/user" Require valid-user

                      3.3 日志分割

                      ErrorLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/error_%Y%m%d.log 86400"CustomLog "| /usr/local/bin/rotatelogs -l /var/log/httpd/access_%Y%m%d.log 86400" combined

                      3.4 AwStats访问优化

                      通过以上配置,您可以轻松构建多个虚拟Web主机,并使用AwStats进行日志分析和统计。这种配置方式既高效又灵活,适合开发、测试和生产环境。

    转载地址:http://cvis.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
    查看>>
    OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
    查看>>
    OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
    查看>>
    OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
    查看>>
    OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
    查看>>
    OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
    查看>>
    OpenCV与AI深度学习 | 深度学习检测小目标常用方法
    查看>>
    OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
    查看>>
    OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
    查看>>
    OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
    查看>>
    Opencv中KNN背景分割器
    查看>>
    OpenCV中基于已知相机方向的透视变形
    查看>>
    OpenCV中的监督学习
    查看>>
    opencv中读写视频
    查看>>
    OpenCV中遇到Microsoft C++ 异常 cv::Exception
    查看>>
    opencv之cv2.findContours和drawContours(python)
    查看>>
    opencv之namedWindow,imshow出现两个窗口
    查看>>
    opencv之模糊处理
    查看>>