好男人好资源在线观看免费视频,国产又爽又黄又不遮挡视频,国产亚洲欧美另类精品久久久,国产精品99久久久久久猫咪,国产综合久久久久久鬼色

廣告

撥號vps服務(wù)器搭建http代理ip池教程

2022-12-12

一、工具準(zhǔn)備

動態(tài)撥號vps服務(wù)器: 我用的是91VPS的動態(tài)vps,2H0.5G內(nèi)存,11G硬盤,20G寬帶(一型機(jī)器),動態(tài)vps主要是運(yùn)行代理服務(wù),比較耗寬帶,通過撥號來更換IP,實(shí)現(xiàn)動態(tài)代理的效果

固定IP服務(wù)器:用的阿里云服務(wù)器,1核1G內(nèi)存,40G云盤,該服務(wù)器主要是實(shí)時(shí)獲取動態(tài)vps的IP,并對外提供接口,這些服務(wù)不怎么耗資源,該服務(wù)器還可以用來跑爬蟲或者搭網(wǎng)站

 

二、環(huán)境搭建

撥號VPS

  • 功能:搭建代理服務(wù),并通過在vps上撥號切換IP,將切換后的IP傳到固定IP的服務(wù)器上

  • 工具:代理服務(wù)-tinyproxy, 發(fā)送IP-python的requests庫

  • 系統(tǒng):91VPS的可以預(yù)裝系統(tǒng),我選的是CentOS7.6系統(tǒng),在管理后臺進(jìn)行操作

  • 連接服務(wù)器:ssh user@ip -p port

  • 撥號操作:斷開網(wǎng)絡(luò):adsl-stop, 撥號:adsl-start

  • 查看公網(wǎng)IP:curl icanhazip.com

  • 加代理查看IP:curl -x ‘ip:port’ -v icanhazip.com

  • 判斷IP是否變化:先查看公網(wǎng)IP,然后斷開連接,重新?lián)芴?,再看下公網(wǎng)IP,如果發(fā)現(xiàn)沒有變化,可以多試幾次,有幾率重播后公網(wǎng)IP依舊沒變

 

1、代理服務(wù)搭建:tinyproxy

安裝命令:

  1. # 添加EPEL倉庫,然后更新yum源:

  2. sudo yum install epel-release

  3. sudo yum update

  4. # 安裝

  5. sudo yum install -y tinyproxy

修改配置:

  1. vim /etc/tinyproxy/tinyproxy.conf

  2. 修改 Port 端口,默認(rèn)為 8888

  3. Port 8888

  4. 注釋掉 Allow 127.0.0.1,表示允許所有人訪問代理

啟動服務(wù):service tinyproxy start

日志:/var/log/tinyproxy/tinyproxy.log

本地測試:curl -x ‘ip:port’ -v icanhazip.com

配置以上過程中,注意事項(xiàng):

  • 一定要確認(rèn)撥號vps服務(wù)器是有公網(wǎng)ip(外網(wǎng)ip),很多服務(wù)商提供的機(jī)器部分地區(qū)是內(nèi)網(wǎng)IP(如果是在機(jī)器內(nèi)部,可以正常使用,但搭建代理以后,無法訪問外部的網(wǎng)站),所以,一定要確認(rèn)清楚。

  • yum安裝時(shí),報(bào)錯(cuò):yum doesn’t have enough cached data to continue, 解決辦法:

  • 將/etc/yum.repos.d/epel.repo中的mirrorlist改為baseurl

  • /etc/resolv.conf文件中增加 nameserver 144.144.144.144

  • 在斷開重播時(shí),有時(shí)adsl-start會執(zhí)行失敗,報(bào)錯(cuò):“/usr/sbin/adsl-start: line 217: 5749 Terminated C O N N E C T " CONNECT " CONNECT"@" > /dev/null 2>&1”,最后發(fā)現(xiàn)可能是斷開連接的不干凈,多執(zhí)行幾次adsl-stop,在執(zhí)行adsl-start就會成功了

  • 在代理服務(wù)tinyproxy運(yùn)行期間,報(bào)過這個(gè)錯(cuò):Waiting servers (0) is less than MinSpareServers (5). Creating new child.,原因是達(dá)到最大連接數(shù),無法創(chuàng)建新的連接處理請求,代理服務(wù)也就掛了,重啟代理服務(wù)即可,解決辦法

  1. vim /etc/tinyproxy/tinyproxy.conf

  2. MaxClients 100 -> 500 # 最大連接數(shù)

  3. Timeout 600 -> 20 # 超時(shí)時(shí)間

2、搭建Python環(huán)境

(1) 安裝Python Python依賴

  1. sudo yum install yum-utils

  2. sudo yum-builddep python

Python源碼連接:https://www.python.org/ftp/python/

  1. curl -O https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tgz

我在用curl時(shí)無法下載,可以到官網(wǎng)下載指定版本的Python,然后傳到服務(wù)器上

  1. tar xf Python-3.5.0.tgz

  2. cd Python-3.5.0

  3. ./configure

  4. make

  5. sudo make install

安裝完成后通過python3 -V來查看當(dāng)前版本

(2) 安裝虛擬環(huán)境

  1. cd ~

  2. mkdir venv

  3. cd venv

  4. python3 -m venv python3-forcrawl

  5. source ~/venv/python3-forcrawl/bin/activate

(3) 安裝相應(yīng)的python庫

  1. pip install requests

  2. # 安裝其他環(huán)境導(dǎo)出的庫

  3. pip install -r requirements.txt

阿里云服務(wù)器:

  • 功能:接受動態(tài)VPS發(fā)送的IP,并提供接口,返回動態(tài)VPS實(shí)時(shí)的IP&端口

  • 工具:web服務(wù)-tornado

  • 連接:ssh root@ip -p 22, 如果忘記服務(wù)器密碼,可以重置實(shí)例登陸密碼和遠(yuǎn)程連接密碼:更多->密碼、密鑰

  • 搭建Python環(huán)境同上,安裝tornado

  1. pip install tornado

  2. sudo yum install -y redis

  3. # 啟動服務(wù)

  4. redis-server >> /dev/null 2>&1 &

  5. # 連接redis

  6. redis-cli

  • mongo數(shù)據(jù)庫(可以不進(jìn)行安裝,實(shí)現(xiàn)基本的代理功能不需要該庫)

  1. # yum中沒有mongo的下載源,需要手動添加

  2. vi /etc/yum.repos.d/mongodb-org-3.4.repo

  3. # 寫入以下信息,針對centos7

  4. [mongodb-org-3.4]

  5. name=MongoDB Repository

  6. baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.4/x86_64/

  7. gpgcheck=1

  8. enabled=1

  9. gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

  10. # 安裝

  11. sudo yum install -y mongodb-org

  12. 啟動:

  13. systemctl start mongod.service

注意事項(xiàng):

  • ssh鏈接時(shí),報(bào)錯(cuò)Permission denied (publickey,gssapi-keyex,gssapi-with-mic),解決辦法:

  • 通過阿里云web終端登錄到服務(wù)器,修改ssh配置文件

  1. vim /etc/ssh/sshd_config

  2. 更改:PasswordAuthentication no(默認(rèn)yes)

  3. 或打開注釋:PermitRootLogin yes

     

代碼實(shí)現(xiàn)邏輯

1、客戶端:撥號VPS

  • 通過Python執(zhí)行斷開連接&撥號的操作,成功后匹配獲取公網(wǎng)IP,通過requests庫將IP發(fā)送至服務(wù)端

  • 為了避免惡意干擾,可以加上一個(gè)傳輸秘鑰,服務(wù)器驗(yàn)證傳輸秘鑰,驗(yàn)證失敗的不進(jìn)行IP更新

  • 設(shè)置定時(shí)任務(wù)來實(shí)現(xiàn)IP的更換

  • 傳送的數(shù)據(jù)中,包含IP、秘鑰、name(區(qū)分vps服務(wù)器)

2、服務(wù)端:固定IP服務(wù)器

使用tornado啟動服務(wù),提供兩個(gè)接口

  • post接口:接收客戶端發(fā)送的IP,驗(yàn)證秘鑰成功后,以name為key,ip&port為val,存入redis

  • get接口:從redis中取出ip&port并返回

代理檢測程序:可用于檢測IP的可用性,剔除失效IP

最后總結(jié):

1,自主搭建的http代理ip池,相比直接購買的代理ip,價(jià)格便宜,最主要的點(diǎn)是IP速度,并發(fā)等不受任何限制。

2,不適用于對IP切換速度要求很快的服務(wù),撥號太頻繁了,一個(gè)是IP有時(shí)不變,另一個(gè)容易撥號失敗

3,撥號vps在每次撥號的過程中,會出現(xiàn)一個(gè)寬帶連接等待的時(shí)長(無網(wǎng)狀態(tài)),那么,此時(shí)會導(dǎo)致代理不可用,所以,在線上正式的環(huán)境中,我們建議多部署一些機(jī)器,做到一定的冗余,就能完美的解決這個(gè)問題。

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。本站原創(chuàng)內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明出處!

上一篇:91HTTP代理IP不限量套餐上線試運(yùn)營

下一篇:【上架】新上鞍山、遼陽、漳州、舟山等多地區(qū)高配置動態(tài)撥號VPS

這條幫助是否解決了您的問題?已解決未解決

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!很抱歉未能解決您的疑問。我們已收到您的反饋意見,同時(shí)會及時(shí)作出反饋處理!

立即注冊91VPS賬號,免費(fèi)體驗(yàn)多款產(chǎn)品
立即注冊
聯(lián)系我們
全國咨詢熱線:
0712-5319406
QQ客服:
800193021
91VPS微信客服

掃碼聯(lián)系微信客服