如何使用Nginx做页面采集
这篇文章主要讲解了“如何使用Nginx做页面采集”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Nginx做页面采集”吧!
创新互联公司坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的阎良网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
0.架构简介
模拟线上的实时流,比如用户的操作日志,采集到数据后,进行处理,暂时只考虑数据的采集,使用Html+Jquery+Nginx+Ngx_kafka_module+Kafka来实现,其中Ngx_kafka_module 是开源的专门用来对接Nginx和Kafka的一个组件。
1.需求描述
1.1 用html和jquery 模拟用户请求日志
其中包括下面下面几项:
用户id:user_id, 访问时间:act_time, 操作: (action,包括click,job_collect,cv_send,cv_upload)
企业编码job_code
1.2 用Nginx接受1.1中的请求
1.3 接受完请求后,使用ngx_kafka_module将数据发送到Kafka的主题tp_individual 中。
1.4 在kafka中使用一个消费者消费该主题,观察
2.搭建步骤
2.1 Kafka安装
由于使用现成的已安装好的docker-kafka镜像,所以直接启动即可.
2.2 安装Nginx,并启动
$ cd /usr/local/src $ git clone git@github.com:edenhill/librdkafka.git # 进入到librdkafka,然后进行编译 $ cd librdkafka $ yum install -y gcc gcc-c++ pcre-devel zlib-devel $ ./configure $ make && make install $ yum -y install make zlib-devel gcc-c++ libtool openssl openssl-devel $ cd /opt/hoult/software # 1.下载 $ wget http://nginx.org/download/nginx-1.18.0.tar.gz # 2.解压 $ tar -zxf nginx-1.18.0.tar.gz -C /opt/hoult/servers # 3. 下载模块源码 $ cd /opt/hoult/software $ git clone git@github.com:brg-liuwei/ngx_kafka_module.git # 4. 编译 $ cd /opt/hoult/servers/nginx-1.18.0 $ ./configure --add-module=/opt/hoult/software/ngx_kafka_module/ $ make && make install # 5.删除Nginx安装包 $ rm /opt/hoult/software/nginx-1.18.0.tar.gz # 6.启动nginx $ cd /opt/hoult/servers/nginx-1.18.0 $ nginx
3.相关配置
3.1 nginx配置nginx.conf
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
kafka;
kafka_broker_list linux121:9092;
server {
listen 9090;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
#------------kafka相关配置开始------------
location = /kafka/log {
#跨域相关配置
add_header 'Access-Control-Allow-Origin' $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
kafka_topic tp_individual;
}
#error_page 404 /404.html;
}
}3.2 启动kafka 生产者和消费者
# 创建topic kafka-topics.sh --zookeeper linux121:2181/myKafka --create --topic tp_individual --partitions 1 --replication-factor 1 # 创建消费者 kafka-console-consumer.sh --bootstrap-server linux121:9092 --topic tp_individual --from-beginning # 创建生产者测试 kafka-console-producer.sh --broker-list linux121:9092 --topic tp_individual
3.3 编写Html + Jquery代码
index


咨询
建站咨询