too many open files是Linux系统中常见的错误,从字面意思上看就是说程序打开的文件数过多,不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常也可以叫做句柄数超出系统限制。
引起的原因就是进程在某个时刻打开了超过系统限制的文件数量以及通讯链接数,通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少:
1、增大允许打开的文件数——命令方式
ulimit -n 2048
这样就可以把当前用户的最大允许打开文件数量设置为2048了,但这种设置方法在重启后会还原为默认值。
ulimit -n命令非root用户只能设置到4096。
想要设置到更大需要sudo权限或者root用户。
2、增大允许打开的文件数——修改系统配置文件
vi /etc/security/limits.conf
#在最后加入
* soft nofile 65535
* hard nofile 65535
或者只加入
* - nofile 8192
最前的 * 表示所有用户,可根据需要设置某一用户,例如
roy soft nofile 8192
roy hard nofile 8192
注意”nofile”项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用”-“字符设定, 则hard和soft设定会同时被设定。
引起的原因就是进程在某个时刻打开了超过系统限制的文件数量以及通讯链接数,通过命令ulimit -a可以查看当前系统设置的最大句柄数是多少:
1、增大允许打开的文件数——命令方式
ulimit -n 2048
这样就可以把当前用户的最大允许打开文件数量设置为2048了,但这种设置方法在重启后会还原为默认值。
ulimit -n命令非root用户只能设置到4096。
想要设置到更大需要sudo权限或者root用户。
2、增大允许打开的文件数——修改系统配置文件
vi /etc/security/limits.conf
#在最后加入
* soft nofile 65535
* hard nofile 65535
或者只加入
* - nofile 8192
最前的 * 表示所有用户,可根据需要设置某一用户,例如
roy soft nofile 8192
roy hard nofile 8192
注意”nofile”项有两个可能的限制措施。就是项下的hard和soft。 要使修改过得最大打开文件数生效,必须对这两种限制进行设定。 如果使用”-“字符设定, 则hard和soft设定会同时被设定。
系统优化
vi /etc/security/limits.conf
在文件底部添加
* soft nofile 65535
* hard nofile 65535
保存退出。
ulimit -n 65535
安装screen
yum install screen
安装jq
yum install epel-release
yum list jq
yum install jq
安装wget
yum install wget
创建Bee文件夹:
cd /mnt
mkdir bee
cd bee
下载clef,安装clef
wget https://github.com/ethersphere/bee-clef/releases/download/v0.4.9/bee-clef_0.4.9_amd64.rpm
rpm -i bee-clef_0.4.9_amd64.rpm
下载Bee,安装bee
wget https://github.com/ethersphere/bee/releases/download/v0.5.2/bee_0.5.2_amd64.rpm
rpm -i bee_0.5.2_amd64.rpm
将clef-service拷贝至/mnt/bee文件夹下,并赋予文件权限
clef-service下载连接:https://www.jianguoyun.com/p/DXx1mTUQ_t-OCRjgyeUD =
怎么拷贝到文件夹下面,网络不好暂时我的文件信息没刷新出,你们这里是会有文件管理的。
或者直接从对象存储拉取:
wget https://dworld-1252691683.cos.ap-nanjing.myqcloud.com/clef-service
赋予文件权限
chmod a+x clef-service
启动CLEF
./clef-service start
这里没有报错的话就OK了,然后直接断开连接
再重新连接服务器,跳转到bee文件夹
cd /mnt/bee
新建Screen窗口,此界面用于运行bee
screen -S bee
获取提取支票脚本
wget -O cashout.sh https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
chmod a+x cashout.sh
建立计划任务,自动提取脚本
crontab -e
添加任务
* */6 * * * /mnt/bee/cashout.sh cashout-all 5 >/dev/null 2>&1
运行bee
bee start --verbosity 5 --swap-endpoint https://goerli.infura.io/v3/3c5c0f51e6c241f79a1638b484595c8b --debug-api-enable --clef-signer-enable --clef-signer-endpoint /var/lib/bee-clef/clef.ipc
备注:
如果出现不稳定的情况,
--swap-endpoint
是可以更换的:到https://goerli.infura.io 注册自己的swap
设置密码(第一次输入需要输入2遍)
如果没有报错,到这里一切正常!!
然后直接断开连接!!
====================================================
BZZ合约地址:0x2ac3c1d3e24b45c6c310534bc2dd84b5ed576335 小狐狸钱包添加代币+自定义代币就行了
如果这个图你没看到,你可以导入json文件到小狐狸钱包查看,后续就是导入小狐狸钱包教程!!!
定时领取票卷&状态查询命令
安装源,jq
依次输入
yum install epel-release
yum list jq
yum install jq
查看有无支票
curl localhost:1635/chequebook/cheque | jq
查看当前连接到多少个节点
curl -s http://localhost:1635/peers | jq '.peers | length'
检查网络拓扑
curl -X GET http://localhost:1635/topology | jq
测试连通
curl http://localhost:1633
查询当前节点余额
curl localhost:1635/chequebook/balance | jq
检查对等余额
curl localhost:1635/balances | jq
查询状态
systemctl status bee
尝试修复状态
systemctl start bee.service
查询自己节点地址
curl http://localhost:1635/addresses
兑换支票
下载脚本
wget -O cashout.sh
https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
自动兑换脚本
wget -O cashout.sh
https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
赋予执行权限
chmod a+x cashout.sh
查询兑换支票:有返回就代表又可以兑换的支票
./cashout.sh
兑换支票
./cashout.sh cashout-all 5
支票记得定时兑换,如果过期了就很亏哈哈哈
curl localhost:1635/chequebook/address
这个命令可以查看自己的支票合约地址,地址在区块浏览器能显示支票收支和余额
节点地址导入小狐狸钱包
从服务器器导出json和密码
导入小狐狸钱包
时间很久,五分钟以上!!!
到这里,教程就结束了,这个狐狸钱包导入所显示的地址就是你节点的地址,你可以往里面打测试币!!!!
screen的基础用法:
查看当前screen挂载几个界面
screen -ls
连接进入挂载界面
screen -r 页面名字
例子:screen -r bee
注意:进去screen窗口之后,你的任何动作都是在操作这个挂载进程,如果想要回到其他地方操作事务,最好不要在bee、cefl的screen里面操作,直接断开重新进去操作!!!
如果你修改了配置文件
启动bee如下
bee start --config /etc/bee/bee.yaml
vi /etc/security/limits.conf
在文件底部添加
* soft nofile 65535
* hard nofile 65535
保存退出。
ulimit -n 65535
安装screen
yum install screen
安装jq
yum install epel-release
yum list jq
yum install jq
安装wget
yum install wget
创建Bee文件夹:
cd /mnt
mkdir bee
cd bee
下载clef,安装clef
wget https://github.com/ethersphere/bee-clef/releases/download/v0.4.9/bee-clef_0.4.9_amd64.rpm
rpm -i bee-clef_0.4.9_amd64.rpm
下载Bee,安装bee
wget https://github.com/ethersphere/bee/releases/download/v0.5.2/bee_0.5.2_amd64.rpm
rpm -i bee_0.5.2_amd64.rpm
将clef-service拷贝至/mnt/bee文件夹下,并赋予文件权限
clef-service下载连接:https://www.jianguoyun.com/p/DXx1mTUQ_t-OCRjgyeUD =
怎么拷贝到文件夹下面,网络不好暂时我的文件信息没刷新出,你们这里是会有文件管理的。
或者直接从对象存储拉取:
wget https://dworld-1252691683.cos.ap-nanjing.myqcloud.com/clef-service
赋予文件权限
chmod a+x clef-service
启动CLEF
./clef-service start
这里没有报错的话就OK了,然后直接断开连接
再重新连接服务器,跳转到bee文件夹
cd /mnt/bee
新建Screen窗口,此界面用于运行bee
screen -S bee
获取提取支票脚本
wget -O cashout.sh https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
chmod a+x cashout.sh
建立计划任务,自动提取脚本
crontab -e
添加任务
* */6 * * * /mnt/bee/cashout.sh cashout-all 5 >/dev/null 2>&1
运行bee
bee start --verbosity 5 --swap-endpoint https://goerli.infura.io/v3/3c5c0f51e6c241f79a1638b484595c8b --debug-api-enable --clef-signer-enable --clef-signer-endpoint /var/lib/bee-clef/clef.ipc
备注:
如果出现不稳定的情况,
--swap-endpoint
是可以更换的:到https://goerli.infura.io 注册自己的swap
设置密码(第一次输入需要输入2遍)
如果没有报错,到这里一切正常!!
然后直接断开连接!!
====================================================
BZZ合约地址:0x2ac3c1d3e24b45c6c310534bc2dd84b5ed576335 小狐狸钱包添加代币+自定义代币就行了
如果这个图你没看到,你可以导入json文件到小狐狸钱包查看,后续就是导入小狐狸钱包教程!!!
定时领取票卷&状态查询命令
安装源,jq
依次输入
yum install epel-release
yum list jq
yum install jq
查看有无支票
curl localhost:1635/chequebook/cheque | jq
查看当前连接到多少个节点
curl -s http://localhost:1635/peers | jq '.peers | length'
检查网络拓扑
curl -X GET http://localhost:1635/topology | jq
测试连通
curl http://localhost:1633
查询当前节点余额
curl localhost:1635/chequebook/balance | jq
检查对等余额
curl localhost:1635/balances | jq
查询状态
systemctl status bee
尝试修复状态
systemctl start bee.service
查询自己节点地址
curl http://localhost:1635/addresses
兑换支票
下载脚本
wget -O cashout.sh
https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
自动兑换脚本
wget -O cashout.sh
https://gist.githubusercontent.com/ralph-pichler/3b5ccd7a5c5cd0500e6428752b37e975/raw/7ba05095e0836735f4a648aefe52c584e18e065f/cashout.sh
赋予执行权限
chmod a+x cashout.sh
查询兑换支票:有返回就代表又可以兑换的支票
./cashout.sh
兑换支票
./cashout.sh cashout-all 5
支票记得定时兑换,如果过期了就很亏哈哈哈
curl localhost:1635/chequebook/address
这个命令可以查看自己的支票合约地址,地址在区块浏览器能显示支票收支和余额
节点地址导入小狐狸钱包
从服务器器导出json和密码
导入小狐狸钱包
时间很久,五分钟以上!!!
到这里,教程就结束了,这个狐狸钱包导入所显示的地址就是你节点的地址,你可以往里面打测试币!!!!
screen的基础用法:
查看当前screen挂载几个界面
screen -ls
连接进入挂载界面
screen -r 页面名字
例子:screen -r bee
注意:进去screen窗口之后,你的任何动作都是在操作这个挂载进程,如果想要回到其他地方操作事务,最好不要在bee、cefl的screen里面操作,直接断开重新进去操作!!!
如果你修改了配置文件
启动bee如下
bee start --config /etc/bee/bee.yaml
Workerman如何创建一个wss服务,使得客户端可以用过wss协来连接通讯,比如在微信小程序中连接服务端。
答:
wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL)。
所以只需要在websocket协议的基础上开启SSL即可支持wss协议。
答:
wss协议实际是websocket+SSL,就是在websocket协议上加入SSL层,类似https(http+SSL)。
所以只需要在websocket协议的基础上开启SSL即可支持wss协议。
很多同学总是分不清楚在职研究生到底是什么意思?在职研究生包括非全日制研究生和同等学力申硕两种报考方式。
首先,同等学力申硕和非全日制研究生的区别:
同等学力申硕:同等学力申硕是免试入学,3月份在学位网报名,5月份参加考试,考试通过获得学位证书。
首先,同等学力申硕和非全日制研究生的区别:
同等学力申硕:同等学力申硕是免试入学,3月份在学位网报名,5月份参加考试,考试通过获得学位证书。
#!/bin/sh
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
#以上命令为载入模块
iptables -P INPUT DROP
iptables -F INPUT
iptables -P OUTPUT ACCEPT
iptables -F OUTPUT
iptables -P FORWARD DROP
iptables -F FORWARD
iptables -t nat -F
#以上命令为设置默认规则----禁止所有,注意会清空原有规则,请注意原有规则的保存备份。
################################add tointernet##########################
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p udp --sport 123 -j ACCEPT
iptables -A INPUT -p tcp --sport 20 -j ACCEPT
iptables -A INPUT -p tcp --sport 21 -j ACCEPT
iptables -A INPUT -p tcp --sport 80 -j ACCEPT
iptables -A INPUT -p tcp --sport 443 -j ACCEPT
iptables -A INPUT -p tcp --sport 8080 -j ACCEPT
iptables -A INPUT -p tcp --sport 25 -j ACCEPT
iptables -A INPUT -p tcp --sport 52221 -j ACCEPT
iptables -A INPUT -p tcp --sport 3306 -j ACCEPT
####VPN
iptables -A INPUT -p tcp --dport 47 -j ACCEPT
iptables -A INPUT -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
################################add tointernet##########################
#以上规则的意思是,开放你服务器对外访问的回程允许,如果你的服务器不需要对外访问,请删除
#########################禁止#####################
#iptables -A INPUT -s 121.35.244.181 -j DROP
#iptables -A INPUT -s 183.60.0.0/16 -j DROP
#iptables -A INPUT -s 59.172.110.195 -j DROP
################################add manager#############################
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -s 58.57.11.36 -p 0 -j ACCEPT
iptables -A INPUT -s 58.57.11.35 -p 0 -j ACCEPT
iptables -A INPUT -s 58.57.11.34 -p 0 -j ACCEPT
iptables -A INPUT -s 222.173.194.16 -p 0 -j ACCEPT
iptables -A INPUT -s 222.173.194.17 -p 0 -j ACCEPT
iptables -A INPUT -s 222.173.194.25 -p 0 -j ACCEPT
iptables -A INPUT -s 223.4.132.78 -p 0 -j ACCEPT
iptables -A INPUT -s 223.4.88.4 -p 0 -j ACCEPT
iptables -A INPUT -s 223.4.131.26 -p 0 -j ACCEPT
iptables -A INPUT -s 121.199.2.239 -p 0 -j ACCEPT
iptables -A INPUT -s 10.132.22.71 -p 0 -j ACCEPT
iptables -A INPUT -s 121.199.8.100 -p 0 -j ACCEPT
iptables -A INPUT -s 115.29.163.195 -p 0 -j ACCEPT
iptables -A INPUT -s 10.161.133.243 -p 0 -j ACCEPT
#iptables -A INPUT -s 112.124.6.196 -p 0 -j ACCEPT
#iptables -A INPUT -s 10.160.13.4 -p 0 -j ACCEPT
iptables -A INPUT -s 112.124.12.212 -p 0 -j ACCEPT
iptables -A INPUT -s 10.160.13.4 -p 0 -j ACCEPT
iptables -A INPUT -s 118.123.14.0/24 -p 0 -j ACCEPT
iptables -A INPUT -s 115.29.222.32 -p 0 -j ACCEPT
iptables -A INPUT -s 10.161.153.93 -p 0 -j ACCEPT
iptables -A INPUT -s 10.161.225.118 -p 0 -j ACCEPT
iptables -A INPUT -s 114.215.193.139 -p 0 -j ACCEPT
iptables -A INPUT -s 116.255.143.99 -p 0 -j ACCEPT
################################add manager#############################
#以上的规则的意思是,开放你的管理客户端的所有通讯(当然包括22端口啦),但除了这个源IP外,其它任何IP都访问该服务器的22端口了
#
#
################################add 80##################################
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
################################add 80##################################
#开放外网所有访问你的80
#如果你的MYSQL或其它服务需要对外开放,请按上面的格式添加
#
#丢弃坏的TCP包
#iptables -A FORWARD -p TCP ! --syn -m state --state NEW -j DROP
#处理IP碎片数量,防止攻击,允许每秒100个
#iptables -A FORWARD -f -m limit --limit 100/s --limit-burst 100 -j ACCEPT
#vpn
#
/etc/rc.d/init.d/iptables save
/etc/rc.d/init.d/iptables restart
一个网站的流量大部分来自长尾关键词,特别是综合型门户站,百分九十以上的流量来自长尾关键词,所以如何优化好长尾关键词排名,对于一个合格的SEO人员来说是非常重要的,小七今天手把手教大家如何优化长尾关键词。
我以前有在网络上看到一句话:内容为王,外链为皇,内链为妃,代码为将,关键词为相,结构为城,更新为太子,这句话一直非常非常的适用于SEO,无论在哪个时期,他都不会过期。总结起来就两点,内部和外部,这里重点和大家分享如何应用好长尾关键词里价值词做好内容以及如何做高质量的外链。
rsync -av --bwlimit=50000 --progress --inplace /www/wwwroot/site.com /backup/wwwroot/
安装的vsftpd, 配置文件是根据以前整理的一个vsftpd.conf, 使用系统的用户来登陆ftp, 配置文件中有
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/usr/local/etc/vsftpd.chroot_list
默认把不允许访问上级目录的ftp用户卸载vsftpd.chroot_list下, 然后配置完毕, 新建立的ftp用户也可以正常登陆, 但是自从重启了一次vsftpd之后就怎么也无法登陆了… 一直报”530 Login incorrect”错误, 我就郁闷, google,baidu了半天, 最后终于找到一点思路, 似乎和pam有关系, 最后终于在老外的一个站上发现了:
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/usr/local/etc/vsftpd.chroot_list
默认把不允许访问上级目录的ftp用户卸载vsftpd.chroot_list下, 然后配置完毕, 新建立的ftp用户也可以正常登陆, 但是自从重启了一次vsftpd之后就怎么也无法登陆了… 一直报”530 Login incorrect”错误, 我就郁闷, google,baidu了半天, 最后终于找到一点思路, 似乎和pam有关系, 最后终于在老外的一个站上发现了:
yasm安装
Yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集。
接受NASM和GNU汇编器(gas)语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。
Yasm是一个完全重写的NASM汇编。目前,它支持x86和AMD64指令集。
接受NASM和GNU汇编器(gas)语法,产出二进制, ELF32 , ELF64 , COFF , Mach - O的( 32和64 ) , RDOFF2 ,的Win32和Win64对象的格式,并生成STABS 调试信息的来源,DWARF 2 ,CodeView 8格式。