echo "net.core.default_qdisc = fq" >> /etc/sysctl.conf && echo "net.ipv4.tcp_congestion_control = bbr" >> /etc/sysctl.conf && sysctl -p && sysctl net.ipv4.tcp_available_congestion_control && lsmod | grep bbr

2013-07-17 17:32
2021-08-05 17:26 更新
广州电信宽带dns:
可供设置的DNS服务器清单如下:
202.96.128.86
202.96.128.166

全球

Cisco OpenDNS, LLC
208.67.220.220
208.67.222.222

Quad9 DNS Servers
https://www.quad9.net/

IPv4 DNS Servers
Primary DNS: 9.9.9.9
Secondary DNS: 149.112.112.112

UltraDNS
https://www.publicdns.neustar/(有日本节点)

Primary DNS: 64.6.64.6
Secondary DNS: 64.6.65.6

Cloudflare 1.1.1.1 DNS Servers
https://1.1.1.1/dns

IPv4 DNS Servers
Primary DNS: 1.1.1.1
Secondary DNS: 1.0.0.1
doh:https://1.1.1.1/dns-query

Comodo Secure DNS DNS Servers
https://www.comodo.com/secure-dns/

Primary DNS: 8.26.56.26
Secondary DNS: 8.20.247.20

Google 8.8.8.8 DNS Servers

IPv4 DNS Servers
Primary DNS: 8.8.8.8
Secondary DNS: 8.8.4.4

美国
AT&T DNS Servers
http://www.att.com

Primary DNS: 68.94.156.1
Secondary DNS: 68.94.157.1

Verizon DNS Servers

Los Angeles, CA
DNS Server: 8.238.64.14
DNS Server: 8.238.64.12

Spectrum DNS Servers
https://www.spectrum.com/

IPv4 DNS Servers
Primary DNS: 71.10.216.1
Secondary DNS: 71.10.216.2

台湾

TWNIC Quad101 Public DNS https://101.101.101.101/

台湾网路资讯中心公共DNS服务器IPv4地址

首选地址101.101.101.101
备用地址101.102.103.104

香港

香港宽频 / HKBN
香港宽频 DNS
IPv4 地址
首选:203.80.96.10

和记环球电讯 DNS
和记环球电讯 DNS
IPv4 地址
首选:202.45.84.58
备用:202.45.84.59

01、身份证二要素
核验字段:姓名、身份证号码
02、手机三要素
核验字段:姓名、身份证号码、手机号
03、银行卡三要素
核验字段:姓名、身份证号码、银行卡
04、银行卡四要素认证
核验字段:姓名、身份证号码、银行卡、预留手机号码

各接口数源:身份证两要素:公安部;手机三要素:三大运营商;银行卡三要素、银行卡四要素:中国银联

亚洲四小龙(The Four Asian Dragons),是指自1960年代末至1990年代期间,亚洲四个发展迅速的经济体:韩国、中国台湾、中国香港和新加坡。
亚洲四小龙在1970年代之前以农业和轻工业为主导,1970-1990年代经济发展高速。它们利用发达国家向发展中国家转移劳动密集型产业的机会,吸引外国大量的资金和技术,利用本地廉价而良好的劳动力优势,适时调整经济发展策略而发展迅速,成为亚洲继日本后的发达国家和地区,其成功的经济发展过程和经验是发展经济学研究的典型例子。1997年亚洲金融风暴后,随着国际经济情势的发展变迁,此名词已较少使用。如今亚洲四小龙均被列入发达国家和地区。

亚洲四小虎是指东南亚的泰国、马来西亚、菲律宾和印度尼西亚四国。这四个国家的经济在20世纪80年代至90年代高速发展,经济实力仅次于亚洲四小龙,因而得名。
可惜的是,随着1997年亚洲金融风暴的打击,这四小虎未能像四小龙一样打稳经济基础,经济发展速度减缓,陷入中等收入陷阱。泰国、印尼和菲律宾欠下国际货币基金组织的一大笔债务,马来西亚实施多项硬性保护国家金融体系的货币管制条例,并在种族问题方面有不平等政策,遂开始固步自封。而在印尼,亚洲金融风暴的打击也间接引发了当地的排华暴乱。

焦耳(物理学单位)

焦耳(简称焦,符号为J),是能量和做功的国际单位。1焦耳能量相等于1牛顿力的作用点在力的方向上移动1米距离所做的功 。
符号J为纪念英国物理学家焦耳而命名。1焦=1牛·米,也等于1瓦的功率在1秒内所做的功,1焦=1瓦·秒。

卡路里 (一种热量单位)
卡路里(Calorie),简称卡,缩写为cal,由英文音译而来。其定义为在1个大气压下,将1克水提升1摄氏度所需要的热量;卡路里(calorie)是一种热量单位,被广泛使用在营养计量和健身手册上,国际标准的能量单位是焦耳(joule)。
作为食物热量的法定单位,在欧洲普遍使用焦耳,美国则采用卡路里。虽然焦耳是中国的法定单位,然而由于沿袭传统,卡路里在中国大陆与台湾地区仍然被广泛的使用。

卡路里,是一个能量单位。我们往往将卡路里与食品联系在一起,但实际上它们适用于含有能量的任何物质。
简单地说,1卡路里的能量或热量可将1克水在一个大气压下的温度升高1摄氏度。1卡路里约等于4.1859焦耳。

在英文中,“calorie”(首字母小写)表示卡路里,约等于4.186焦耳,“Calorie”(首字母大写)表示大卡,约等于4186焦耳。

由于后来科学家发现水在不同温度下的比热容不同,所以衍生了以下不同的定义:

营养学用的“15度卡路里”:将1克水在1大气压下由14.5℃提升到15.5℃所需的热量,国际委员会的15度卡路里约等于4.1855焦耳,国家统计局的15度卡路里是平常用的,约等于4.1859焦耳。

热力学和化学使用的“热化学卡路里”,大约4.184焦耳。

基本热量的精确算法
女子
年龄 公式
18- 30 岁 14.6 x 体重(公斤) + 450
31- 60 岁 8.6 x 体重(公斤) + 830
60岁以上 10.4 x 体重(公斤) + 600
男子
18- 30 岁 15.2 x 体重(公斤)+ 680
31- 60 岁 11.5 x 体重(公斤) + 830
60岁以上 13.4 x 体重(公斤) + 490

php有一个函数nl2br,可以把文本中的换行符变成 《br /》,但是有的时候,我们需要的是单个换行符换行变成《br /》,两个及以上换行符变成《p》。(注:这里的中文书名号其实要写成英文尖括号的,原因你懂得。)
网上搜索nl2p第一个就是cnblogs这个博客,那我姑且当做他是源站点吧。
https://www.cnblogs.com/hejianrong/p/5802010.html
源码摘抄如下

/**
 * Returns string with newline formatting converted into HTML paragraphs.
 *
 * @param string $string String to be formatted.
 * @param boolean $line_breaks When true, single-line line-breaks will be converted to HTML break tags.
 * @param boolean $xml When true, an XML self-closing tag will be applied to break tags (<br />).
 * @return string
 */
function nl2p($string, $line_breaks = true, $xml = true)
{
    // Remove existing HTML formatting to avoid double-wrapping things
    $string = str_replace(array('<p>', '</p>', '<br>', '<br />'), '',$string);
     
    // It is conceivable that people might still want single line-breaks
    // without breaking into a new paragraph.
    if ($line_breaks == true)
        return '<p>'.preg_replace(array("/([\n]{2,})/i","/([^>])\n([^<])/i"), array("</p>\n<p>", '<br'.($xml == true ? ' /' :'').'>'), trim($string)).'</p>';
    else
        return '<p>'.preg_replace("/([\n]{1,})/i", "</p>\n<p>", trim($string)).'</p>';
}

这个函数有两个选项。当然我觉得$xml要恒等于true的,因为现在html5提倡闭合的写法,就是< br / >这样。
然后$line_breaks=false 是换行即换段落,ture是换行就是换行,但是英文会删去前一行最后一个字和第二行第一个字,中文会变成乱码(因为中文通常是2-3字符)。

我想要的功能是一个换行符就是换行,两个或以上就是段落。
但我对正则又不熟悉。最后折腾后终于改造成自己的nl2p。如下

function nl2p($string)
{
    // Remove existing HTML formatting to avoid double-wrapping things
    $string = str_replace(array('<p>', '</p>', '<br>', '<br />'), '',$string);

    // It is conceivable that people might still want single line-breaks
    // without breaking into a new paragraph.
    
      return '<p>'.preg_replace(array("/([\n]{2,})/i","/[\n]/i"), array("</p><p>", '<br />'), trim($string)).'</p>';
}

经过测试,非常完美。

其实之前也看过相关文章,说要修改ssh默认端口22以提高安全性,但也有文章指出,如果对方有意爆破的话,他也可以扫描你所有端口。

我个人比较认同后面的说法,觉得高强度的长密码才是王道。当然也有懒的原因。

但是还是决定要修改端口号了。

原因是看了这篇文章《虚拟主机和VPS的几个区别》http://www.auiou.com/relevant/00001444.jsp
提到“尤其是Linux主机下的/var/log/btmp文件的增长速度特别快”。

笛声大佬评论说:

你怎么总是纠结 /var/log/btmp 这个文件,这个文件你用 lastb -f /var/log/btmp
看看,里面全是记录了失败的登录,就是说有人一直在爆破你的密码,你把sshd的端口改一下,一般就没人来爆破了,我登录了好几台机器去看了,这个文件大小一直是0。

所以虽然目前我的vps没有被破,但是为了节约磁盘空间,还是说干就干。

第一、修改 /etc/ssh/sshd_config
找到#Port 22,再插入一行设置成你想要的端口号,注意不要跟现有端口号重复。建议一万以上的,当然要小于65535。
第二、重启ssh: systemctl restart sshd
第三、用你刚才的端口登录进去,如果成功了,就注释掉port 22,继续重启ssh。
第四、用端口22登录,发现登不了了,再用新端口,能用,那么就恭喜啦!

另附:清空文件的方法

: > filename
> filename  #最简单,推荐
echo "" > filename
echo > filename

1和2两种方式是0字节,3和4两种方式是1字节。

清空多个文件,比如清空多个log:
ls *.log | awk 'NR>1 {print "echo > " $NF }' |sh

为什么要清空文件,而不是删除文件呢?其实还可以写一篇文章,但我还是一并写在这里了。有一次按照网上的文章,删除了许多log文件,但是nginx等却启动不了了,要手动启动。我感觉linux下的软件简直是白莲花,就不能像windows下面的软件一样,自己再生成文件吗?比如Windows下某某软件,我删了他的缓存,启动该软件后,它又重新生成了一堆缓存。感觉自己是习惯了这些流氓行为,而对linux下的白莲花行为不习惯呢!(晕……)

附上勇哥的脚本:

port='3635'; a=''; a2='/etc/ssh/sshd_config'; a1=`cat $a2`; if [[ $a1=~ '#Port 22' ]]; then sed -i "s/#Port 22/Port $port/g" $a2; fi; if [[ $a1 =~ 'Port 22' ]]; then sed -i "s/Port 22/Port $port/g" $a2; fi; if [[ $a1 =~ 'Port ' ]]; then a=''; else sed -i '$a\'"\nPort $port" $a2; fi; reboot;

请修改上述的 port='3635'; 的值.

递归修改目录权限为755,文件权限为644

linux的原则是最小权限够用就行,不相关的文件只需要只读权限即可。

实现方法:递归修改权限方法是通过 find命令 根据文件参数查找到对应的类型之后执行指定权限。

说明:以下**path**为你需要修改的目录的路径。

1.修改所有者:
chown -R root.root path (递归修改指定路径的所有文件为root用户组所有)
如果是网站目录建议修改所有者为:www-data:www-data

2.递归修改目录权限、文件权限:
find -type d|xargs chmod 755
find -type f|xargs chmod 644
方法二:
#find 路径 -type d -exec chmod 755 {} \;
#find 路径 -type f -exec chmod 644 {} \;

Let's encrypt Wildcard(Wildcard其实是通配符的意思,但是网友们喜欢称“野卡”)

网上的代码,我试过很多都不行,下面这个代码是我从certbot官网以及经过本人一些改动得来,在Debian 8 nginx下通过。

apt-get remove certbot
wget https://dl.eff.org/certbot-auto
sudo mv certbot-auto /usr/local/bin/certbot-auto
sudo chown root /usr/local/bin/certbot-auto
sudo chmod 0755 /usr/local/bin/certbot-auto

sudo /usr/local/bin/certbot-auto certonly --manual
解释:certonly 表示只要申请证书,不需要它自动配置nginx,--manual表示手动的意思。
接下来,会有几个yes or no,自己看清楚来选,然后有一个是添加dns解析的,请按提示操作即可。
/usr/local/bin/certbot-auto renew #这个代码是用来更新证书的,其实有一个是加入任务列表,自动更新的,但运行不了,不知道怎么回事。

date("M-d Y , h:i:s")显示的是服务器本地的时间,比如纽约的时间。
time()显示的是时间戳(UTC1970-1-1 0点开始的秒数)。
gmdate("M-d Y , h:i:s")显示的永远是UTC时间,不管服务器本地,也不管php.ini怎样设定,也不管php语句中设置的时区。
如果要显示北京时间可以gmdate("M-d Y , h:i:s",time()+3600*8)