网站埋点+网站日志自定义采集系统+nginx的相关安装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zimiao552147572/article/details/88602293

========== 网站日志自定义采集系统+nginx的相关安装 ================== 

1.第1台linux(192.168.25.100)安装httpd:
    httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。
    1.安装命令:yum install -y httpd
      2.启动命令:service httpd start
      打印信息如下:Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using 192.168.25.100 for ServerName [OK]
    3.浏览器通过httpd访问第一台linux的IP:192.168.25.100

2.第2台linux(192.168.25.101)安装nginx如下:
    1.服务器中安装依赖:yum -y install gcc perl pcre-devel openssl openssl-devel 
 
    2.上传 LuaJIT-2.0.4.tar.gz 并安装 LuaJIT 
        tar -zxvf LuaJIT-2.0.4.tar.gz -C /usr/local/src/ 
        cd /usr/local/src/LuaJIT-2.0.4/ 
        make && make install PREFIX=/usr/local/luajit 
 
    3.设置 LuaJIT 环境变量 
        1.vi /etc/profile 
        2.在profile 文件末尾添加以下配置信息:
            export LUAJIT_LIB=/usr/local/luajit/lib 
              export LUAJIT_INC=/usr/local/luajit/include/luajit-2.0 
        3.source /etc/profile 
 
    4.创建 modules 文件夹,保存 nginx 依赖的模块 
        mkdir -p /usr/local/nginx/modules 
 
    5.上传 nginx 依赖的模块 
        set-misc-nginx-module-0.29.tar.gz  
        lua-nginx-module-0.10.0.tar.gz 
        ngx_devel_kit-0.2.19.tar.gz 
        echo-nginx-module-0.58.tar.gz 
 
    6.将依赖的模块直接解压到 modules 目录 
        tar -zxvf lua-nginx-module-0.10.0.tar.gz -C /usr/local/nginx/modules/ 
        tar -zxvf set-misc-nginx-module-0.29.tar.gz -C /usr/local/nginx/modules/ 
        tar -zxvf ngx_devel_kit-0.2.19.tar.gz -C /usr/local/nginx/modules/ 
        tar -zxvf echo-nginx-module-0.58.tar.gz -C /usr/local/nginx/modules/ 
 
    7.安装 openresty 
        tar -zxvf openresty-1.9.7.3.tar.gz -C /usr/local/src/ 
        cd /usr/local/src/openresty-1.9.7.3/ 
        ./configure --prefix=/usr/local/openresty --with-luajit && make && make install 

    8.安装 nginx 
        tar -zxvf nginx-1.8.1.tar.gz -C /usr/local/src/ 
 
    9.编译 nginx 并支持其他模块 
        1.(可选步骤):解决nginx在记录post数据时,中文字符转成16进制的问题,取消中文字符转16进制的操作,直接保存并显示的是中文。
            1.cd /usr/local/src/nginx-1.8.1/src/http/modules
              cd到 nginx安装目录/src/http/modules目录下,执行 vi ngx_http_log_module.c 修改该文件信息
            2.进入到ngx_http_log_module.c文件中的第975行,注释掉第975行


            3.进入到ngx_http_log_module.c文件中的第1014行,执行“:1014”即跳到第1014行,把从第1014到1023行代码都注释掉。
              并在第1024行添加“*dst++ = *src++;”


        2.cd /usr/local/src/nginx-1.8.1/ 
        3.一次性执行下列命令内容:
            ./configure --prefix=/usr/local/nginx \ 
                    --with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" \ 
                        --add-module=/usr/local/nginx/modules/ngx_devel_kit-0.2.19 \ 
                        --add-module=/usr/local/nginx/modules/lua-nginx-module-0.10.0 \ 
                        --add-module=/usr/local/nginx/modules/set-misc-nginx-module-0.29 \ 
                        --add-module=/usr/local/nginx/modules/echo-nginx-module-0.58  
        4.make -j2 
        5.make install

    10.测试nginx是否安装成功:
        1.cd /usr/local/nginx 
          跳转到上面编译nginx的时候指定的目录 :--prefix=/usr/local/nginx,这就是最后的安装目录
        2.启动nginx:./sbin/nginx -c conf/nginx.conf
            执行的是/usr/local/nginx/sbin目录下的nginx启动程序
           -c:表示指定本次启动使用的配置文件
         3.ps -ef|grep nginx 查看进程是否启动
        4.nginx所在的linux的IP/index.html 访问页面(可以看到nginx的欢迎页面) 
           此处访问 192.168.25.101/index.html


        5.停止 nginx:./sbin/nginx -s stop
          执行的是/usr/local/nginx/sbin目录下的nginx启动程序
           使用命令关闭,意外关闭可能下次启动冲突

============= 自定义采集数据实现 ============= 

1.方案一:基本功能实现 
    1.第一台linux(192.168.25.100) 安装好httpd,第二台linux(192.168.25.101) 安装好nginx。
      启动httpd:service httpd start

    2.第一台linux(192.168.25.100)下:
        1./var/www/html/ 负责存放 html文件,通过httpd可访问 /var/www/html/ 目录下的html文件,
          因此把html文件都放到 /var/www/html/目录下。
        2.cd /var/www/html/
          3.此处把 index.html 放入到 /var/www/html/目录下
        4.index.html中的JS写入埋点代码,负责从第二台linux(192.168.25.101)中获取 数据采集脚本ma.js
        


    
        5.测试是否成功:浏览器通过httpd访问第一台linux的IP:192.168.25.100
        6.浏览器通过httpd 访问 /var/www/html/ 目录下的 index.html 测试是否能打开:192.168.25.100/index.html
        


    3.第二台linux(192.168.25.101)下:
        1.修改 nginx.conf 配置文件,添加自定义的信息采集的相关业务逻辑
            1.cd /usr/local/nginx/conf
             2.把原来的 nginx.conf 删除,把“\云计算大数据离线课件\02.参考资料\网站流量日志自定义采集服务\参考文档\采集方案1”中 
              修改好的 nginx.conf 上传到 /usr/local/nginx/conf 中
       
        2.同样把 “\云计算大数据离线课件\02.参考资料\网站流量日志自定义采集服务\参考文档\采集方案1”中的 数据采集脚本“ma.js”
          放到 /usr/local/nginx/html 目录下。
          因为当直接访问“nginx所在的linux的IP/文件名”时,比如访问:192.168.25.101/ma.js 和 192.168.25.101/log.gif 时,
          实际访问的是 /usr/local/nginx/html 目录下的 ma.js 和 log.gif,所以需要把ma.js 和 log.gif 都预先放到 /usr/local/nginx/html 目录下。  
          ma.js修改如下:

        3.启动nginx:
              cd /usr/local/nginx
            ./sbin/nginx -c conf/nginx.conf
               执行的是/usr/local/nginx/sbin目录下的nginx启动程序
              -c:表示指定本次启动使用的配置文件   
            
        4.ps -ef|grep nginx 查看进程是否启动
          nginx所在的linux的IP/index.html 访问页面(可以看到nginx的欢迎页面) 
           此处访问 192.168.25.101/index.html 看到nginx的欢迎页面

        5.此时访问第一台linux下的index.html:
            访问 192.168.25.100/index.html ,然后会去请求第二台linux下的 /usr/local/nginx/html 目录下数据采集脚本“ma.js”,
              执行数据采集脚本“ma.js”后把采集到的信息封装到请求参数字符串中,然后第一台linux发送请求给 第二台linux中的nginx 获取log.gif,
              同时请求参数字符串中附带的采集到的信息 会被第二台linux下的nginx接收,nginx记录下采集到的信息到日志文件中。


        6.到 /usr/local/nginx/logs 目录下 查看日志文件信息:
            1.查看nginx 默认的输出日志文件信息:tail -f access.log

              2.查看nginx 下自定义日志采集日志文件信息:tail -f user_defined.log 

        7.停止 nginx:
            cd /usr/local/nginx
            ./sbin/nginx -s stop
            执行的是/usr/local/nginx/sbin目录下的nginx启动程序
             使用命令关闭,意外关闭可能下次启动冲突


2.方案二:点击事件的信息采集  
    1.第一台linux(192.168.25.100) 安装好httpd,第二台linux(192.168.25.101) 安装好nginx。
      启动httpd:service httpd start

    2.第一台linux(192.168.25.100)下:
        1./var/www/html/ 负责存放 html文件,通过httpd可访问 /var/www/html/ 目录下的html文件,
          因此把html文件都放到 /var/www/html/目录下。
        2.cd /var/www/html/
          3.此处把 index2.html、page1.html、page2.html、jquery-3.2.1.min.js 放入到 /var/www/html/目录下
        4.index2.html中的JS写入埋点代码,负责从第二台linux(192.168.25.101)中获取 数据采集脚本ma.js


        5.测试是否成功:浏览器通过httpd访问第一台linux的IP:192.168.25.100
        6.浏览器通过httpd 访问 /var/www/html/ 目录下的 index2.html 测试是否能打开:192.168.25.100/index2.html

    3.第二台linux(192.168.25.101)下:
        1.修改 nginx.conf 配置文件,添加自定义的信息采集的相关业务逻辑
            1.cd /usr/local/nginx/conf
             2.把原来的 nginx.conf 删除,把“\云计算大数据离线课件\02.参考资料\网站流量日志自定义采集服务\参考文档\采集方案2”中 
              修改好的 nginx.conf 上传到 /usr/local/nginx/conf 中
       
        2.同样把 “\云计算大数据离线课件\02.参考资料\网站流量日志自定义采集服务\参考文档\采集方案1”中的 数据采集脚本“ma.js”
          放到 /usr/local/nginx/html 目录下。
          因为当直接访问“nginx所在的linux的IP/文件名”时,比如访问:192.168.25.101/ma.js 和 192.168.25.101/log.gif 时,
          实际访问的是 /usr/local/nginx/html 目录下的 ma.js 和 log.gif,所以需要把ma.js 和 log.gif 都预先放到 /usr/local/nginx/html 目录下。  
          ma.js修改如下:

        3.启动nginx:
              cd /usr/local/nginx
            ./sbin/nginx -c conf/nginx.conf
               执行的是/usr/local/nginx/sbin目录下的nginx启动程序
              -c:表示指定本次启动使用的配置文件   
            
        4.ps -ef|grep nginx 查看进程是否启动
          nginx所在的linux的IP/index.html 访问页面(可以看到nginx的欢迎页面) 
           此处访问 192.168.25.101/index.html 看到nginx的欢迎页面

        5.此时访问第一台linux下的index2.html:
            访问 192.168.25.100/index2.html ,然后会去请求第二台linux下的 /usr/local/nginx/html 目录下数据采集脚本“ma.js”,
              执行数据采集脚本“ma.js”后把采集到的信息封装到请求参数字符串中,然后第一台linux发送请求给 第二台linux中的nginx 获取log.gif,
              同时请求参数字符串中附带的采集到的信息 会被第二台linux下的nginx接收,nginx记录下采集到的信息到日志文件中。


        6.到 /usr/local/nginx/logs 目录下 查看日志文件信息:
            1.查看nginx 默认的输出日志文件信息:tail -f access.log


              2.查看nginx 下自定义日志采集日志文件信息:tail -f user_defined.log 


        7.停止 nginx:
            cd /usr/local/nginx
            ./sbin/nginx -s stop
            执行的是/usr/local/nginx/sbin目录下的nginx启动程序
             使用命令关闭,意外关闭可能下次启动冲突

猜你喜欢

转载自blog.csdn.net/zimiao552147572/article/details/88602293