Cloudflare缓存全站设置

本文参考了萌精灵的文章和cloudflare官方说明。

CloudFlare 默认只对静态资源进行缓存。动态资源是默认不缓存的。如果你的内容基本是静态的或者不在意实时更新的话,可以使用 CloudFlare 的页面规则设置缓存所有内容。免费用户可以设置3条页面规则,Pro 用户可以使用 30 条规则。

1、添加新的页面规则。

cf_1.png
继续阅读

MTR链路测试诊断网络

  • MTR(My traceroute)是几乎所有Linux发行版本预装的网络测试工具,此工具也有对应的Windows版本,名称为WinMTR。
  • MTR工具将ping和traceroute命令的功能并入了同一个工具中,实现更强大的功能。
  • 相对于traceroute命令只会做一次链路跟踪测试,mtr命令会对链路上的相关节点做持续探测并给出相应的统计信息。所以,mtr命令能避免节点波动对测试结果的影响,所以其测试结果更正确,建议优先使用。

安装MTR

Ubuntu

apt install mtr-tiny

CentOS

yum install mtr

Arch Linux

pacman -Syu
pacman -S mtr

Mac OS X

brew install mtr

Windows下载地址:https://sourceforge.net/projects/winmtr/

使用

mtr -r 8.8.8.8
mtr 8.8.8.8

输出

默认配置下,返回结果中各数据列的说明如下。

第一列(Host):节点IP地址和域名。如前面所示,按n键可以切换显示。

第二列(Loss%):节点丢包率。

第三列(Snt):每秒发送数据包数。默认值是10,可以通过参数“-c”指定。

第四列(Last):最近一次的探测延迟值。

第五、六、七列(Avg、Best、Wrst):分别是探测延迟的平均值、最小值和最大值。

第八列(StDev):标准偏差。越大说明相应节点越不稳定。

诊断

对链路测试结果进行分析时,需要关注如下几点:

继续阅读

腾讯轻量云一键DD Debian

#确保安装了所需软件:
#Debian/Ubuntu:
apt-get install -y xz-utils openssl gawk file

#RedHat/CentOS:
yum install -y xz openssl gawk file

#dd win,直链包链接自己找个替换下
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -dd "这里放你要dd包的直链.tar.gz" --mirror 'http://mirrors.ustc.edu.cn/debian/'

#DD成Debian10:
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -d 10 -v 64 -a -p 你的密码 --mirror 'http://mirrors.ustc.edu.cn/debian/'

#DD Debian 9:
bash <(wget --no-check-certificate -qO- 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh') -d 9 -v 64 -a -p 你的密码 --mirror 'http://mirrors.ustc.edu.cn/debian/'

不同镜像:

#国外服务器
bash InstallNET.sh -d 10 -v 64 -a --mirror 'http://ftp.debian.org/debian/' -p "yourpassword" 
 
#国内服务器 
bash InstallNET.sh -d 10 -v 64 -a --mirror 'http://mirrors.ustc.edu.cn/debian/' -p "yourpassword" 
 
#腾讯云 
 
bash InstallNET.sh -d 10 -v 64 -a --mirror 'https://mirrors.cloud.tencent.com/debian/' -p "yourpassword"

拓展:cxhhhhhh魔改版dd(适用于Linux / Windows)

继续阅读

upgrade和update的区别

Linux系统中,upgrade和update的区别:

update:更新软件包列表到最新版本,但是他不会去升级软件;

upgrade:升级软件到最新版本。

所以一般是先update软件包列表到最新版本,然后upgrade安装最新版软件。

引用原文如下:

You should first run update, then upgrade. Neither of them automatically runs the other.

  • apt-get update updates the list of available packages and their versions, but it does not install or upgrade any packages.
  • apt-get upgrade actually installs newer versions of the packages you have. After updating the lists, the package manager knows about available updates for the software you have installed. This is why you first want to update.

Additionally, you can use apt-get update && apt-get upgrade to do both steps after each other.

Linux服务器常用的测速一键脚本

脚本:一

面向国内地区下载上传速度测试

wget -qO- git.io/superbench.sh | bash

可以使用参数分别进行测试:

wget git.io/superbench.sh; chmod +x superbench.sh
./superbench.sh info
./superbench.sh io
./superbench.sh speed
./superbench.sh share

详细测试过程,展开查看

----------------------------------------------------------------------
 CPU Model            : AMD EPYC 7551 32-Core Processor
 CPU Cores            : 2 Cores @ 1996.244 MHz x86_64
 CPU Cache            : 512 KB 
 OS                   : Ubuntu 16.04.6 LTS (64 Bit) Dedicated
 Kernel               : 4.14.129-bbrplus
 Total Space          : 6.0 GB / 45.5 GB 
 Total RAM            : 382 MB / 986 MB (434 MB Buff)
 Total SWAP           : 57 MB / 1999 MB
 Uptime               : 8 days 20 hour 9 min
 Load Average         : 0.00, 0.00, 0.00
 TCP CC               : bbrplus
 ASN & ISP            : AS31898, Oracle Corporation
 Organization         : Oracle Public Cloud
 Location             : Palo Alto, United States / US
 Region               : California
----------------------------------------------------------------------
 I/O Speed( 1.0GB )   : 55.8 MB/s
 I/O Speed( 1.0GB )   : 51.7 MB/s
 I/O Speed( 1.0GB )   : 51.5 MB/s
 Average I/O Speed    : 53.0 MB/s
----------------------------------------------------------------------
 Node Name        Upload Speed      Download Speed      Latency     
 Speedtest.net    49.89 Mbit/s      47.24 Mbit/s        18.712 ms  
 Fast.com         0.00 Mbit/s       47.5 Mbit/s         -           
 Guangzhou CT     43.65 Mbit/s      43.57 Mbit/s        -          
 Wuhan     CT     50.70 Mbit/s      40.07 Mbit/s        -          
 Hangzhou  CT     41.08 Mbit/s      14.41 Mbit/s        -          
 Lanzhou   CT     41.35 Mbit/s      37.82 Mbit/s        -          
 Shanghai  CU     55.85 Mbit/s      48.61 Mbit/s        -          
 Heifei    CU     50.94 Mbit/s      48.21 Mbit/s        -          
 Chongqing CU     47.33 Mbit/s      43.52 Mbit/s        -          
----------------------------------------------------------------------

脚本:二

测速虚高修复版

wget -qO- https://git.io/Jvh0J | bash

详细测试过程,展开查看

继续阅读

宝塔 7.5.2版收费插件免费用

2021.8.20 update:
使用过程中,发现宝塔防火墙突然失效了,测试模拟攻击也没有拦截;
解放方法:将宝塔面板升级到最新,卸载安装的防火墙,记住一定要在文件中把/www/server/btwaf目录删除掉,然后重新用下面的方法走一遍,搞定!

网上收集来的,备用,亲测在最新的宝塔7.5.2中可用。

服务器测试环境Ubuntu 20.04.2,Debian / CentOS应该也可以。

打开目录/www/server/panel/class找到并编辑panelplugin.py文件
使用Ctrl+F搜索并找到

softList['list'] = tmpList

这段代码,在其下方添加如下代码:

softList['pro'] = 1
        for soft in softList['list']:
            soft['endtime'] = 0

修改完成后重启面板,重启完成后就可以直接安装收费的插件了,Nginx防火墙也可以直接安装使用!

如果需要使用网站监控报表还需另外修改一次代码:
安装好网站监控报表插件后打开/www/server/panel/plugin/total目录并编辑total_main.py文件
使用Ctrl+F搜索并找到

4.9 以上版本:

if cache.get('bt_total'): return public.returnMsg(True, 'OK!');

4.9以下版本:

if 'bt_total' in session: return public.returnMsg(True,'OK!');


在这段代码前加上#将其注释掉,并在其下方加入以下代码:

session['bt_total'] = True
        return public.returnMsg(True,'OK!');

然后再次重启面板,即可使用网站监控报表插件了;

继续阅读

Linux服务器修改时区及时间

查看服务器当前时间及时区

date -R

显示如下:

Fri, 28 May 2021 10:42:41 +0000

同步网络时间

    ntpdate命令:

 ntpdate -u 210.72.145.44

    注意:若不加上-u参数, 会出现以下提示:no server suitable for synchronization found
    -u:从man ntpdate中可以看出-u参数可以越过防火墙与主机同步;
    210.72.145.44:中国国家授时中心的官方服务器。

    ntp常用服务器:

中国国家授时中心:210.72.145.44
NTP服务器(上海) :ntp.api.bz
美国: time.nist.gov
复旦: ntp.fudan.edu.cn
微软公司授时主机(美国) :time.windows.com
北京邮电大学 : s1a.time.edu.cn
清华大学 : s1b.time.edu.cn
北京大学 : s1c.time.edu.cn
台警大授时中心(台湾):asia.pool.ntp.org

时区修改

tzselect
# 服务器时间,输入命令进行选择,全部输入数字即可
# 4. Asia (亚洲)
# 9. China (中国)
# 1. Beijing Time (北京时间)
# 1. Yes (确认)

复制相应的时区文件,替换系统默认时区 文件链接法

[[email protected] ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

将系统时间写入到硬件(bios)

1.hwclock

hwclock


2.clock -w

 clock -w

参考链接:

继续阅读

用rsync给网站搬家和网站备份

发现用rsync 来给网站搬家和网站备份,简直太高效了,尤其对于数据量级较大的网站,比之前常用到的tar打包,wget下载再解压,高效多了,而且不会因为打包导致网站负载过重,CPU飙升!

首先是两台服务器都必须安装了rsync,可以用以下命令。

# Debian/Ubuntu
$ sudo apt-get install rsync

# Red Hat
$ sudo yum install rsync

# Arch Linux
$ sudo pacman -S rsync

安装rsync如果出现以下错误:

Unmet dependencies. Try ‘apt –fix-broken install’ with no packages (or specify a solution)

执行以下代码:

sudo apt install --fix-broken
sudo apt-get update
sudo apt-get upgrade

将mysql数据库备份放到网站根目录:

mysqldump -uroot -pmypassword 168itw > /home/wwwroot/www.168itw.com/168itw.sql

将本地服务器内容同步到远程服务器:

$ rsync -av source/ [email protected]_host:destination

也可以将远程内容同步到本地。

$ rsync -av [email protected]_host:source/ destination

还原数据库:

mysql -uroot -pmypassword database_name < dumpfilename.sql
继续阅读

甲骨文Oracle安装宝塔搭建网站

系统是Ubuntu20.04

首先需要去甲骨文后台— 防火墙设置中,开放端口,否则即使下面开了端口,机器还是无法使用!

0.0.0.0/0	All Protocols				All traffic for all ports

开启密码登录,如果需要

修改/etc/ssh/sshd_config

PermitRootLogin yes  #允许root登录
PasswordAuthentication yes #开启密码登录

主要是开端口

sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 8888 -j ACCEPT
sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 443 -j ACCEPT
sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp --dport 888 -j ACCEPT
sudo iptables-save
sudo apt-get update
sudo apt-get install iptables-persistent -y
sudo netfilter-persistent save
sudo netfilter-persistent reload

开启BBR

sudo bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
sudo bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
sudo sysctl -p

安装宝塔

curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh

宝塔安装软件

继续阅读

mysql大数据库的备份方法

一是mysqldump,二是xtrabackup备份工具。

mysqldump

mysqldump是一款mysql逻辑备份的工具,它将数据库里面的对象(表)导出作为SQL脚本文件。它是mysql备份常用的备份方法,适合于不同版本mysql之间的升级、迁移等,不过在数据库比较大的时候,效率不高。

mysqldump命令的常见用法:

# 备份单个的数据库,如备份db1这个数据库
mysqldump -uroot -p123456 db1 > /backup/db1_`date +%F`.sql

# 备份所有数据库,-A参数
mysqldump -uroot -p123456 -A > /backup/all_db.sql

# 备份远程主机的数据库,-h指定IP地址,-P(大写P)指定端口
mysqldump -uroot -p123456 -h192.168.30.4 -P3306 db1 > /backup/db1.sql

# 只备份表结构,不备份数据,使用-d参数
mysqldump -uroot -p123456 -d db1 > /backup/db1.sql

# 只备份数据,不备份表结构,使用-t参数
mysqldump -uroot -p123456 -t db1 > /backup/db1.sql 

# 备份指定的多个库,-B参数
mysqldump -uroot -p123456 -B db1 db2 db3 > /backup/db123.sql

# 备份指定的表,如备份db1库里面的stu表
mysqldump -uroot -p123456 db1 stu > /backup/db1_stu.sql

# 备份多个表
mysqldump -uroot -p123456 库1 表1 表2 表3... > db_tables.sql

# 恢复数据
mysqldump -uroot -p123456 dbname < xxx.sql
#或者
mysqldump -uroot -p123456 < xxx.sql
继续阅读