久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

用好anyproxy提高公眾號文章采集效率

給大家分享一下anyproxy進階使用方法,并且通過這個分享如何提高公眾號文章采集效率的分析,需要的朋友參考學習下吧。

影響因素主要會有以下幾點:

1、網絡環(huán)境不佳;

2、手機或模擬器中微信客戶端崩潰;

3、其它一些網絡傳輸錯誤;

因為我比較看重采集系統(tǒng)的運行成本,這個成本包括硬件投入,運算力投入和占用的人工精力。所以必須提高運行的穩(wěn)定性。因此如果采集中斷,必然增加人工精力的成本。所以針對這一點我對anyproxy做了一些進階的改造,并且借助了其它一些工具提高了運行效率。以下就是具體的解決方法:

一、代碼升級

1)微信瀏覽器白屏

解決方法:修改文件requestHandler.js,還是在rule_default.js同級目錄下,(mac系統(tǒng)/usr/local/lib/node_modules/anyproxy/lib/;win系統(tǒng)評論區(qū)網友cnbattle提供C:\Users\Administrator\AppData\Roaming\npm\node_modules\anyproxy\lib)

在代碼中找到proxyReq.on("error",function(e){這個函數,并修改內容

//userRes.end();//把這一行注釋掉
userRes.end('<script>setTimeout(function(){window.location.reload();},2000);</script>');//插入這一行

這樣當發(fā)生錯誤時,會返回一個刷新當前頁面的js;這樣程序就能繼續(xù)下去了

2)替換所有圖片,減輕瀏覽器負擔

首先需要制作一張非常小的圖片,我做的是1x1像素,png透明圖;放到任意文件夾里。然后修改文件rule_default.js的代碼:

在文件開頭有許多var的位置加入以下代碼

var fs = require("fs"),
 img = fs.readFileSync("/Library/WebServer/Documents/space.png");//代碼絕對路徑替換成自己的

在下面的代碼中找到shouldUseLocalResponse : function(req,reqBody){函數,在函數內插入代碼:

if(/mmbiz\.qpic\.cn/i.test(req.url)){
 req.replaceLocalFile = true;
 return true;
}else{
 return false;
}

繼續(xù)在下面的代碼中找到dealLocalResponse : function(req,reqBody,callback){函數,在函數內插入代碼:

if(req.replaceLocalFile){
 callback(200, {"content-type":"image/png"},img );
}

這三段代碼就會將公眾號里面的所有圖片替換成本地圖片,減輕網絡傳輸壓力和瀏覽器占用的內存,有效的提高運行效率;

3)禁止手機或模擬器訪問一些無用的和會導致錯誤的網址

同樣在rule_default.js里找到代碼replaceRequestOption : function(req,option){函數,在函數內部插入代碼:

var newOption = option;
if(/google|btrace/i.test(newOption.headers.host)){//這里面的正則可以替換成自己不希望訪問的網址特征字符串,這里面的btrace是一個騰訊視頻的域名,經過實踐發(fā)現特別容易導致瀏覽器崩潰,所以加在里面了,繼續(xù)添加可以使用|分割。
 newOption.hostname = "127.0.0.1";//這個ip也可以替換成其他的
 newOption.port  = "80";
}
return newOption;

這個修改之前的文章也提到過了,在這里重新再詳細介紹一下。他的用途很多,不同的手機和模擬器都有可能訪問一些無用的地址導致設備變慢,通過這個代碼就可以阻止訪問。

二、使用pm2管理anyproxy進程

pm2 是一個帶有負載均衡功能的Node應用的進程管理器.

當你要把你的獨立代碼利用全部的服務器上的所有CPU,并保證進程永遠都活著,0秒的重載, PM2是完美的。它非常適合IaaS結構,但不要把它用于PaaS方案(隨后將開發(fā)Paas的解決方案).

主要特性:

內建負載均衡(使用Node cluster 集群模塊)

后臺運行

0秒停機重載,我理解大概意思是維護升級的時候不需要停機.

具有Ubuntu和CentOS 的啟動腳本

停止不穩(wěn)定的進程(避免無限循環(huán))

控制臺檢測

提供 HTTP API

遠程控制和實時的接口API ( Nodejs 模塊,允許和PM2進程管理器交互 )

測試過Nodejs v0.11 v0.10 v0.8版本,兼容CoffeeScript,基于Linux 和MacOS.

首先安裝pm2

sudo npm install -g pm2

在pm2環(huán)境下運行anyproxy

sudo pm2 start anyproxy -x -- -i

現在anyproxy就在pm2的環(huán)境中運行了

用好anyproxy提高公眾號文章采集效率

之后還有幾個pm2的命令可以幫助管理和監(jiān)控anyproxy

//查看運行日志
sudo pm2 logs anyproxy [--lines 10]
//關閉anyproxy
sudo pm2 delete anyproxy
//重啟anyproxy
sudo pm2 restart anyproxy
//監(jiān)控內存占用
sudo pm2 monit
//監(jiān)控運行狀態(tài)
sudo pm2 list

特別提示:pm2運行后,終端窗口是可以關閉的。

使用pm2管理anyproxy進程,最重要的目的是:anyproxy因為錯誤而退出程序之后,pm2可以另anyproxy自動重啟。

三、取消sudo密碼,并使pm2開機自啟

以下內容是在mac環(huán)境下的方法,windows也應該有類似的方法,如果了解的網友可以私信發(fā)給我。

1)首先取消sudo的密碼

運行命令:

sudo visudo

找到代碼:

%admin   ALL = (ALL) ALL

修改為:

%admin   ALL = (ALL) NOPASSWD: ALL

這樣sudo的密碼就取消掉了,然后就可以將pm2加入到開機自啟動中了

2)設置開機自啟

在終端中輸入命令:

cd
touch autoexec.sh
vim autoexec.sh
【網站聲明】本站除付費源碼經過測試外,其他素材未做測試,不保證完整性,網站上部分源碼僅限學習交流,請勿用于商業(yè)用途。如損害你的權益請聯系客服QQ:2655101040 給予處理,謝謝支持。

相關文檔推薦

給大家分析一下如何用PHP寫出采集微信公眾號文章的方法以及代碼詳細講解,需要的朋友學習一下。
給大家講解了微信公眾號文章采集的入口歷史消息頁信息獲取方法,有需要的朋友參考一下本內容。
主站蜘蛛池模板: 久久精品国产一区二区三区 | av电影一区二区 | 久久国产精品色av免费观看 | 欧美日韩国产一区二区三区 | 男女网站免费观看 | 日韩视频在线免费观看 | 国产精品日韩欧美一区二区 | 精品一区二区三区四区外站 | 欧美成人免费在线 | 成年人在线电影 | 自拍视频精品 | 久久久精彩视频 | av电影一区| 亚洲欧美视频一区 | 亚洲最新在线 | 国产重口老太伦 | 婷婷综合| 欧美日韩成人影院 | 亚洲综合五月天婷婷 | 性色av网站| 日韩中文字幕一区 | 亚洲一区二区 | 日韩第1页 | 国产精品一区二区三区四区 | 欧美在线视频一区二区 | 亚洲伦理自拍 | 日本三级播放 | 久久狠狠 | 亚洲精品美女在线观看 | 国产精品一区二 | 欧美日韩亚洲国产 | 免费一级毛片 | 国产一区精品 | 成人欧美一区二区三区视频xxx | 精品欧美一区二区在线观看视频 | 久久久久国产精品一区二区 | 成人小视频在线观看 | 久久久久久久久蜜桃 | 亚洲国产一区二区在线 | 国产精品美女久久久久久久久久久 | 黄网站在线播放 |