工作,学习,生活,这里将会有一些记录. 备用域名:http://meisw.wdlinux.cn 注册 | 登陆
浏览模式: 标准 | 列表全部文章

nginx.conf负载均衡

 upstream nginx{

server 192.168.1.10:88 weight=3;
server 192.168.1.11:80 weight=10;
ip_hash;
}
 
server{ 
 listen 80; 
 server_name nginx.test.wdlinux.cn;
 location / { 
 index index.html; 
 root /usr/html; 
 proxy_pass http://nginx;
 proxy_set_header Host $host;
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
}
 
 
# hash $cookie_jsessionid;
 hash $remote_addr consistent;
 server 192.168.142.128:8080 weight=3;
 server 192.168.142.129:80 weight=10;
# hash $cookie_jsessionid;
# server 192.168.142.130:80;
# ip_hash;
# hash_again 1;
# consistent_hash $remote_addr:可以根据客户端ip映射
# consistent_hash $request_uri: 根据客户端请求的uri映射
# consistent_hash $args:根据客户端携带的参数进行映射

视频编辑ffmpeg

 视频加水印

ffmpeg -i 094301010916b3019b0174515.mp4 -vf "movie=logo1.png [logo]; [in][logo] overlay=0:0 [out]" 13.mp4
 
 
视频合并
ffmpeg -i concat:"2122180309164d675fa82952.mp4|single_jpg.mp4" -c copy oo.mp4
 
图片转视频
ffmpeg -f image2 -stream_loop 100 -i vv5851.jpg -b:v 200k -r 10 -s 640x480 -acodec libfaac -y single_jpg.mp4
 
 
 
wget http://ffmpeg.org/releases/ffmpeg-3.1.3.tar.bz2
tar jxvf ffmpeg-3.1.3.tar.bz2
cd ffmpeg-3.1.3
./configure --prefix=/usr --disable-yasm --enable-libx264 --enable-gpl
make
make install
 
--enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
 
 
#以下脚本保存成.sh文件运行,不会出现中文乱码问题 网上查到用enable关键字控制,实际是draw
#加水印 水印位置由x,y,w,h来控制
#ffmpeg编译时需--enable-libfreetype才能用此功能
#!/bin/bash
ffmpeg -y -i jiushu.mpg -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text=‘来源:迅雷‘:x=100:y=x/dar:fontsize=24:fontcolor=yellow@0.5:shadowy=2"  drawtext.mp4     
       
#加水印,显示10秒
#!/bin/bash
ffmpeg -y -i jiushu.mpg -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text=‘来源:迅雷‘:x=100:y=x/dar:draw=‘if(gt(n,0),lt(n,250))‘:fontsize=24:fontcolor=yellow@0.5:shadowy=2"  drawtext.mp4   
       
#加水印,每3秒显示1秒
#!/bin/bash
ffmpeg -y -i jiushu.mpg -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text=‘来源:迅雷‘:x=w-100:y=100:draw=lt(mod(t\,3)\,1):fontsize=24:fontcolor=yellow@0.5:shadowy=2"  drawtext.mp4
 
http://suncom.diandian.com/post/2013-09-12/40053016139
 
 
ffmpeg -y -i 007.mp4 -acodec libfaac -b:a 30k -ar 44100 -r 15 -ac 2 -s 480x272 -vcodec libx264 -refs 2 -x264opts keyint=150:min-keyint=15 -vprofile baseline -level 20 -b:v 200k -vf "drawtext=fontfile=/root/ffmpeg/simhei.ttf: text='vv5851':x=w-100:y=100:draw=lt(mod(t\,3)\,1):fontsize=24:fontcolor=yellow@0.5:shadowy=2"  n007.mp4
 
 
 
--enable-libx264
 
 
ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
./configure --enable-shared --disable-asm && make && make install
 
 
 
编译FAAC-1.28时遇到错误:
 
mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
 
解决方法:
 
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
 
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif

iptable p2p

 Below is my iptables rules set. This works like a charm. I have created a https transparent intercept proxy and send all traffic through that proxy server.

 
Using this iptables rules, I can control the network.
 
2086, 2087, 2095 ports are open because we use WHM cpanel and cpanel web mail.
8080 for additional web server.
192.168.2.0 is the local network.
IPTables rule:
 
#Generated by iptables-save v1.4.8 on Tue Mar 10 15:03:01 2015
*nat
:PREROUTING ACCEPT [470:38063]
:POSTROUTING ACCEPT [9:651]
:OUTPUT ACCEPT [1456:91962]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.2.1:3127
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3127
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Mar 10 15:03:01 2015
# Generated by iptables-save v1.4.8 on Tue Mar 10 15:03:01 2015
*filter
:INPUT ACCEPT [2106:729397]
:FORWARD ACCEPT [94:13475]
:OUTPUT ACCEPT [3252:998944]
-A INPUT -p tcp -m tcp --dport 3127 -j ACCEPT
-A FORWARD -m string --string "BitTorrent" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "BitTorrent protocol" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "peer_id=" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string ".torrent" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "announce.php?passkey=" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "torrent" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "announce" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "info_hash" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "get_peers" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "announce_peer" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "find_node" --algo bm --to 65535 -j DROP
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 8080 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 2086 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 2087 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 2095 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.2.0/24 -p udp -m udp --sport 1024:65535 --dport 1024:65535 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Tue Mar 10 15:03:01 2015
 
 
---------------------------------------------------
iptables -t mangle -I OUTPUT -p tcp -m ipp2p --ares --soul --winmx --apple --dc -j DROP 
iptables -t mangle -I OUTPUT -m ipp2p --edk --kazaa --bit --gnu -j DROP
iptables -t mangle -I INPUT -m ipp2p --edk --kazaa --bit --gnu -j DROP
iptables -t mangle -I INPUT -p tcp -m ipp2p --ares --soul --winmx --apple --dc -j DROP
iptables -t mangle -L INPUT -nvx --line-numbers 
 
 
curl -Lk https://mirrors.dwhd.org/kernel-ml-aufs/kernel-ml-auf.repo >/etc/yum.repos.d/kernel-ml-aufs.repo
yum -y remove kernel-headers
 
 
 
yum install gcc gcc-c++ make automake unzip zip xz kernel-devel iptables-devel perl-Text-CSV_XS -y
 
curl -Lk https://sourceforge.net/projects/xtables-addons/files/Xtables-addons/2.11/xtables-addons-2.11.tar.xz|xz -d|tar x -C /usr/src/ && \
cd /usr/src/xtables-addons-2.11/
 
./configure && \
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` && make install
 
 
-----------
 
 
 
wget http://mirrors.dwhd.org/Kernel/v4.x/linux-4.2.tar.xz
tar xf linux-4.2.tar.xz -C /usr/src/
cd /usr/src/linux-4.2/
cp /boot/config-`uname -r` .config
sh -c 'yes "" | make oldconfig'
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` bzImage
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` modules
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` modules_install
make install
sed -ri 's/(default=).*/\10/' /boot/grub/grub.conf
reboot
 
 
安装ipp2p扩展
 
yum install -y http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
yum clean all && yum makecache
yum install gcc gcc-c++ make automake unzip zip xz kernel-devel iptables-devel perl-Text-CSV_XS -y
wget http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/xtables-addons-2.10.tar.xz
tar xf xtables-addons-2.10.tar.xz
cd xtables-addons-2.10/
./configure 
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` && make install && cd geoip/
./xt_geoip_dl
./xt_geoip_build GeoIPv6.csv
./xt_geoip_build GeoIPCountryWhois.csv
mkdir -p /usr/share/xt_geoip/
cp -a BE LE /usr/share/xt_geoip/
来看看ipp2p的用法格式
 
iptables -m ipp2p --help | sed -n -e '/ipp2p/,//p'
ipp2p v0.10 match options:
  --edk    [tcp,udp]  All known eDonkey/eMule/Overnet packets
  --dc     [tcp]      All known Direct Connect packets
  --kazaa  [tcp,udp]  All known KaZaA packets
  --gnu    [tcp,udp]  All known Gnutella packets
  --bit    [tcp,udp]  All known BitTorrent packets
  --apple  [tcp]      All known AppleJuice packets
  --winmx  [tcp]      All known WinMX
  --soul   [tcp]      All known SoulSeek
  --ares   [tcp]      All known Ares
 
EXPERIMENTAL protocols:
  --mute   [tcp]      All known Mute packets
  --waste  [tcp]      All known Waste packets
  --xdcc   [tcp]      All known XDCC packets (only xdcc login)
ipp2p扩展的具体用法演示
 
##下面的是封IPv4出本机的P2P
iptables -t mangle -I OUTPUT -p tcp -m ipp2p --ares --soul --winmx --apple --dc -j DROP 
iptables -t mangle -I OUTPUT -m ipp2p --edk --kazaa --bit --gnu -j DROP
##下面是封进入本机的P2P
iptables -t mangle -I INPUT -m ipp2p --edk --kazaa --bit --gnu -j DROP
iptables -t mangle -I INPUT -p tcp -m ipp2p --ares --soul --winmx --apple --dc -j DROP
iptables -t mangle -L INPUT -nvx --line-numbers
 
 
http://www.52codes.net/article/1088.html

dragonchain

 [root@localhost dragonchain-master]# python blockchain/transaction_svc.py transaction_svc.py --private-key sk.pem --public-key pk.pem

Traceback (most recent call last):
  File "blockchain/transaction_svc.py", line 39, in <module>
    import tornado
ImportError: No module named tornado
 
pip install tornado
 
 
---
http://www.cnblogs.com/mchina/archive/2012/06/06/2539003.html
https://yum.postgresql.org/repopackages.php#pg94
https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-6-x86_64/pgdg-centos96-9.6-3.noarch.rpm
 
 1060  yum install postgresql96-server
 1061  yum install postgresql96-contrib
 1062  psql
 1063  /etc/rc.d/init.d/postgresql-9.6
 1064  /etc/rc.d/init.d/postgresql-9.6 start
 1065  /etc/rc.d/init.d/postgresql-9.6 initdb
 
 
---
openssl
http://blog.csdn.net/as3luyuan123/article/details/14406429
http://www.docin.com/p-670347159.html
openssl
ecparam -list_curves
 
 
---
1.Linux环境下  
#su  postgres   
-bash-3.2$psql -U postgres   
postgres=#alter user postgres with password 'new password';  
postgres=#\q 
 
 
SELECT rolname FROM pg_roles;
 
创建用户  
grant all on all tables in schema schemaName to user; 给用户某个schema的所有权限  
----
cd <Dragonchain Home>/sql
createuser blocky
createdb -O blocky blockchain
psql -U blocky -d blockchain -a -f depl.sql
 
 
http://blog.csdn.net/suirosu/article/details/39718013
http://www.cyberciti.biz/faq/psql-fatal-ident-authentication-failed-for-user/

nginx升级181

wget http://nginx.org/download/nginx-1.8.1.tar.gz

tar zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --user=www --group=www --prefix=/www/wdlinux/nginx-1.8.1 --with-http_stub_status_module --with-http_ssl_module
make
make install
cd /www/wdlinux/nginx/conf/
cp -pR vhost/ rewrite/ nginx.conf naproxy.conf /www/wdlinux/nginx-1.8.1/conf/
cd /www/wdlinux/
service nginxd stop
rm nginx
ln -s /www/wdlinux/nginx-1.8.1 /www/wdlinux/nginx
service nginxd restart

wget和curl中使用代理

 命令使用代理

wget/curl 都支持使用代理

wget -e “http_proxy=10.1.4.43:8080″  proxy.mimvp.com

curl -x 10.1.4.43:8080 proxy.mimvp.com

 

环境变量使用代理

curl、wget也支持通过环境变量http_proxy来设置要使用的代理服务器, 如下:

# 这个帐号使用的代理服务器
http_proxy=”http://mycache.mydomain.com:3128″
export http_proxy

如果代理服务器需要用户名和密码,只要将它们加入 URL。

例如:用户名 myuser,密码 mypwd,添加设定:

# 这个帐号使用的代理服务器和用户名/密码
http_proxy=”http://myuser:mypwd@mycache.mydomain.com:3128″
export http_proxy

然后直接用wget,curl就可以

s5代理配置

 

 
yum install -y pam-devel openldap-devel openssl-devel
 
wget -c http://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
tar zxvf ss5-3.8.9-8.tar.gz
cd ss5-3.8.9-8
./configure;make;make install
 
 
# vim /etc/opt/ss5/ss5.conf
auth 0.0.0.0/0 – -
改为
auth 0.0.0.0/0 – u
 
permit – 0.0.0.0/0 – 0.0.0.0/0 – – – – -
改成为
permit u 0.0.0.0/0 – 0.0.0.0/0 – – – – -
 
# cat /etc/opt/ss5/ss5.passwd
 ##用户  密码
ttlsa 123456
 
sh /etc/rc.d/init.d/ss5 start
 
 
--------------
 
2、在/etc/rc.d/init.d/ss5 文件修改自定义端口,默认为1080
daemon /usr/sbin/ss5 -t $SS5_OPTS -b 0.0.0.0:10888
3、在/etc/sysconfig/ss5 中,取消注释。 
SS5_OPTS=” -u root”
4、添加验证用户及密码,由于密码是明文的,注意控制权限。
# cat ss5.passwd   #一行一个用户+密码
test 123
lxsym 123  
# chmod 700 /etc/rc.d/init.d/ss5
/etc/rc.d/init.d/ss5 restart  

git代理设置

 问题:

E:\PDFium>git clone https://pdfium.googlesource.com/pdfium
Cloning into 'pdfium'...
fatal: unable to access 'https://pdfium.googlesource.com/pdfium/': Failed connect to pdfium.googlesource.com:443; No error

解决:

git config --global http.proxy http://proxy.com:1234

git config --global https.proxy http://proxy.com:1234
git config --global http.sslverify false

转自:http://ricksu.blog.163.com/blog/static/18906433820125294929508/

参考:http://infong.net/config-proxy-for-git/

我使用本机上的小软件翻墙,所以设置为

E:\PDFium>git config --global http.proxy http://127.0.0.1:8580
E:\PDFium>git config --global https.proxy https://127.0.0.1:8580
E:\PDFium>git config --global http.SSLVERIFY false