pixel实践
安装pixel
.安装node.js
wget http://nodejs.org/dist/v0.6.1/node-v0.6.1.tar.gz
本地测试下载的是这个版本,如果要高版本的话可以找高版本的地址 tar zxvf node-v0.6.1.tar.gz
./configure 如果出现以下情况:
Checking for program g++ or c++ : not found
Checking for program icpc : not found
Checking for program c++ : not found
/home/admin/pkgs/node-v0.6.10/wscript:: error: could not configure a cxx compiler! 解决办法是:
安装gcc-c++
sudo yum install gcc-c++ 如果还有
Checking for openssl : not found
Checking for function SSL_library_init : not found
Checking for header openssl/crypto.h : not found
/home/admin/pkgs/node-v0.6.10/wscript:: error: Could not autodetect OpenSSL support. Make sure OpenSSL development packages are installed. Use configure --without-ssl to disable this message. 解决办法:安装openssl-devel sudo yum install openssl-devel
然后,就可以正常编译安装了。 ./configure
make
sudo make install node -v可以查看node的相关信息 .安装npm
curl http://npmjs.org/install.sh | sudo sh
提示网址有问题的话就改为:curl https://npmjs.org/install.sh | sudo sh 如果提示,找不到node,所以:再做一个软链接: sudo ln -s /usr/local/bin/node /usr/bin/node
curl http://npmjs.org/install.sh | sudo sh
可以正常运行。 .安装pixel
sudo npm install pixel-ping 此时会在当前所在目录下生成一个node_modules目录,该文件夹下就是安装的pixel ping的相关文件。 .配置pixel
()进入node_modules/pixel-ping目录,修改config.json文件。将config.example.json复制一份,重命名为config.json。然后打开,修改端口,将host修改为自己的对外的主机地址,如我自己本地虚拟机的是192.168.1.。修改相应后请求的方法参数endpoint,改为http://romy.redidai.com/save_hits.html。如果是上线服务器的话,就改域名可以了,后面的方法保持不动。
()进入node_modules/pixel-ping/lib/下,修改pixel-ping.js文件。
修改record方法。
store[key] || (store[key] = );此句后面增加的参数代码: if (undefined != params.query.ip) {
store['ip'] = params.query.ip;
} if (undefined != params.query.area) {
store['area'] = params.query.area;
} if (undefined != params.query.keyword) {
store['search'] = params.query.keyword;
} if (undefined != params.query.uid) {
store['uid'] = params.query.uid;
} if (undefined != params.query.referer) {
store['referer'] = params.query.referer;
} if (undefined != params.query.objClick) {
store['objClick'] = params.query.objClick;
} .项目主要配置文件修改说明1
()在 index.html中添加
<div class='hitImg'><img src="http://192.168.1.1:9187/pixel.gif?key=index_hit&ip={$clientIP}&area={$area}&uid={$uid}&referer={$httpReferer}&keyword=" alt=""/></div>
将192.168.1.1改为跟config.json中的一致。
()IndexAction.class.php文件中的pixel()方法就是追踪生成的logs日志方法。
pixel实践的更多相关文章
- UGUI全面实践教程
UGUI全面实践教程 试读文档下载地址:http://pan.baidu.com/s/1hq3UYGk 介绍:UGUI是Unity官方推出的最新UI系统.本教程为国内唯一的UGUI专向资料.本教程 ...
- ASP.NET MVC5 网站开发实践(二) Member区域 - 添加文章
上次把架构做好了,这次做添加文章.添加文章涉及附件的上传管理及富文本编辑器的使用,早添加文章时一并实现. 要点: 富文本编辑器采用KindEditor.功能很强大,国人开发,LGPL开源,自己人的好东 ...
- Glow Android 优化实践
了解 Glow 的朋友应该知道,我们主营四款 App,分别是Eve.Glow.Nuture和Baby.作为创业公司,我们的四款 App 都处于高速开发中,平均每个 Android App 由两人负责开 ...
- 深入理解移动web开发之PPI,Pixel,DevicePixelRatio(转)
如果你是一个开始接触移动Web开发的前端工程师,那么你或许也遇到了和我曾经遇到的过问题:有太多新的概念需要掌握,太多相似的概念需要区分.没关系,我将用两篇文章的篇幅来解决这些问题.上篇文章关于解释和区 ...
- MonkeyDevcie API 实践全记录
1. 背景 使用SDK自带的NotePad应用作为实践目标应用,目的是对MonkeyDevice拥有的成员方法做一个初步的了解. 以下是官方列出的方法的Overview. Return Type ...
- MonkeyImage API 实践全记录
1. 背景 鉴于网上使用MonkeyImage的实例除了方法sameAs外很难找到,所以本人把实践各个API的过程记录下来然自己有更感性的认识,也为往后的工作打下更好的基础.同时也和上一篇文章& ...
- Pixel Recurrent Neural Networks翻译
Pixel Recurrent Neural Networks 目前主要在用的文档存放: https://www.yuque.com/lart/papers/prnn github存档: https: ...
- 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践
本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...
- MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map
MapServer Tutorial——MapServer7.2.1教程学习——第一节用例实践:Example 1.4 Labeling the Map 一.前言 MapServer拥有非常灵活的标签 ...
随机推荐
- [wikioi]合并果子
http://wikioi.com/problem/1063/ 这题是贪心+堆.主要想练习一下堆的写法.算法导论里的方法名是heapify()等,但大家经常用更直观的down(), up()方法(向上 ...
- SPRING IN ACTION 第4版笔记-第七章Advanced Spring MVC-001- DispatcherServlet的高级配置(ServletRegistration.Dynamic、WebApplicationInitializer)
一. 1.如想在DispatcherServlet在Servlet容器中注册后自定义一些操作,如开启文件上传功能,则可重写通过AbstractAnnotationConfigDispatcherSer ...
- 第五章 HID设备
5.1 HID介绍 为简化USB设备的开发过程,USB提出了设备类的概念.所有设备类都必须支持标准USB描述符和标准USB设备请求.如果有必要,设备类还可以自行定义其专用的描述符和设备请求,这分别被称 ...
- Pascal Game Development with Jason McMillen
In this much belated episode I talk with Jason McMillen of Pascal Game Development. We discuss the s ...
- RxJava开发精要1-从.NET到RxJava
原文出自<RxJava Essentials> 原文作者 : Ivan Morgillo 译文出自 : 开发技术前线 www.devtf.cn 转载声明: 本译文已授权开发者头条享有独家转 ...
- Spring AOP实现方式三【附源码】
注解AOP实现 源码结构: 1.首先我们新建一个接口,love 谈恋爱接口. package com.spring.aop; /** * 谈恋爱接口 * * @author Administrator ...
- MongoDB实战开发 【零基础学习,附完整Asp.net示例】
MongoDB实战开发 [零基础学习,附完整Asp.net示例] 阅读目录 开始 下载MongoDB,并启动它 在C#使用MongoDB 重构(简化)代码 使用MongoDB的客户端查看数据 使用Mo ...
- HDU5653 Bomber Man wants to bomb an Array 简单DP
题意:bc 77 div1 1003(中文题面) 分析:先不考虑将结果乘以 1e6. 设 dp[i] 为从前 i 个格子的状态可以获得的最大破坏指数. 那么我们可以枚举每个炸弹,该炸弹向左延伸的距离和 ...
- Python ImportError: No module named *****
如果想使用非当前模块中的代码,需要使用Import,这个大家都知道. 如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好,比如在a.py中使用b.py: import ...
- Bzoj 1565: [NOI2009]植物大战僵尸 最大权闭合图,拓扑排序
题目: http://cojs.tk/cogs/problem/problem.php?pid=410 410. [NOI2009] 植物大战僵尸 ★★★ 输入文件:pvz.in 输出文件:p ...