一授段、參數(shù)性能測試
image.png
image.png
image.png
image.png
image.png
image.png
image.png
測試結(jié)果 rsync -r -c --progress /rsync/2dir/ 192.168.133.123:/rsync/1dir/
加上需求的參數(shù)(不影響性能): rsync -cgroupDt
二、各節(jié)點(diǎn)配置同步目錄(支持多臺(tái))
各節(jié)點(diǎn)配置情況(相同操作)
yum -y install rsync
yum -y install inotify-tools
腳本:
#!/bin/bash
src=/rsync/
#src為inotifywait監(jiān)控目錄/同步目錄
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e create,modify,move $src | while read file
do
txt=`echo $file | awk '{print $3}'`
filename=`echo $txt | cut -c1-10`
filetype=`echo $txt | cut -c 8 `
if [ $filetype != '.' ];then
rsync -cgroupDt $filename* 192.168.133.123:/rsync/ &>/dev/null &
rsync -cgroupDt $filename* 192.168.133.124:/rsync/ &>/dev/null &
#以上主機(jī)為另外兩臺(tái)同步服務(wù)器節(jié)點(diǎn)(幾臺(tái)寫幾個(gè))
fi
echo " ${file} was rsynced" >>/opt/soft/log/rsync.log 2>&1
#同步日志存放在/opt/soft/log/rsync.log
done
運(yùn)行以上腳本 加 & 放在后臺(tái)執(zhí)行即可實(shí)現(xiàn)實(shí)時(shí)同步
三谐檀、nginx圖床配置
代理端配置nginx.conf
http {
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 /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See http://nginx.org/en/docs/ngx_core_module.html#include
# for more information.
include /etc/nginx/conf.d/*.conf;
server {
listen 80;
server_name localhost;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
#這里的“bal”應(yīng)與已存在的某一策略名稱一致
proxy_pass http://bal;
}
}
#配置均衡策略骤宣,"bal"為策略名稱
upstream bal {
#輪詢
server 192.168.133.122;
server 192.168.133.123;
server 192.168.133.124;
}
}
nginx節(jié)點(diǎn)配置nginx.conf
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
root /rsync; #nginx工作目錄
#只匹配圖片
location ~ .*\.(gif|jpg|jpeg|png|jfif)$ {
autoindex on;
}
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
反爬蟲配置
#禁止Scrapy等工具的抓取
if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) {
return 403;
}
#禁止指定UA及UA為空的訪問
if ($http_user_agent ~ "WinHttp|WebZIP|FetchURL|node-superagent|java/|
FeedDemon|Jullo|JikeSpider|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|
CrawlDaddy|Java|Feedly|Apache-HttpAsyncClient|UniversalFeedParser|ApacheBench|
Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|
lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BOT/0.1|
YandexBot|FlightDeckReports|Linguee Bot|^$" ) {
return 403;
}