首页
关于
留言
Search
1
红米 AX3000 (AX6) 路由器解锁 SSH 教程
6,676 阅读
2
网盘挂载程序sharelist美化教程
4,216 阅读
3
小米路由器 AX3600 开启SSH教程,官方固件即可安装 ShellClash开启科学上网
2,168 阅读
4
Oracle 甲骨文 ARM VPS 自动抢购脚本
1,819 阅读
5
编译带PassWall和SSR-plus插件的Openwrt系统
1,393 阅读
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
登录
Search
标签搜索
Java
Linux
Mysql
IDEA
Debian
Docker
Springboot
CentOS
Cloudflare
Maven
JavaScript
SQL
Wordpress
宝塔
Nginx
Windows
MacBook
JS
CSS
Openwrt
William
累计撰写
144
篇文章
累计收到
702
条评论
首页
栏目
前端
Vue
React
后端
Java
Python
PHP
数据库
运维
杂谈
小程序
影视资源
页面
关于
留言
搜索到
49
篇与
的结果
2023-12-09
ARM架构安装宝塔Nginx防火墙及网站监控报表
前言目前 ARM架构 机型在宝塔面板安装 Nginx防火墙 和 网站监控报表,会出现冲突,不能正常使用;出现的错误代码包括但不限于以下两种:unknown directive "lua_shared_dict"PANIC: unprotected error in call to Lua API (bad light userdata pointer)其主要原因是因为宝塔面板在安装 Nginx 时,判断机器架构为 ARM 就会直接忽略编译和加载 LuaJIT 选项;解决方法就是重新为 Nginx 编译加载LuaJIT选项,而 ARM架构 需要 LuaJIT 版本在2.1以上才能编译成功;本方法在甲骨文 ARM架构 下测试,其它服务商的ARM架构应该同样适用,Nginx 版本测试过1.18和1.20;另外在宝塔面板首次安装Nginx时务必使用编译安装,极速安装可能会出现错误;测试时间:2023-12-09测试环境:CentOS 9宝塔版本:8.0.4插件版本:Nginx防火墙 9.2.5 / 网站监控报表 7.7.1温馨提醒:其它系统及版本未进行测试,请自行验证,请勿在生产环境下尝试;创建脚本在/www/server/panel/install目录下分别新建名为nginx_prepare.sh和nginx_configure.pl两个文件;并在两个文件中分别填写如下代码:nginx_prepare.sh#!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH wget -c -O LuaJIT-2.1.zip https://github.com/LuaJIT/LuaJIT/archive/refs/tags/v2.1.ROLLING.zip -T 10 unzip LuaJIT-2.1.zip if [ -e LuaJIT-2.1 ]; then cd LuaJIT-2.1 make make install export LUAJIT_LIB=/usr/local/lib export LUAJIT_INC=/usr/local/include/luajit-2.1/ ln -sf /usr/local/lib/libluajit-5.1.so.2 /usr/local/lib64/libluajit-5.1.so.2 if [ `grep -c /usr/local/lib /etc/ld.so.conf` -eq 0 ]; then echo "/usr/local/lib" >> /etc/ld.so.conf fi ldconfig cd .. fi rm -rf LuaJIT-2.1*nginx_configure.pl--add-module=/www/server/nginx/src/ngx_devel_kit --add-module=/www/server/nginx/src/lua_nginx_module然后将这两个文件设置权限为600,并将所有者设置为root;安装 unzip 组件ubuntu / debianapt-get update && apt-get install -y unzipcentosyum update && yum install -y unzip编译安装在SSH终端输入以下代码(清理脚本换行符,避免编译安装失败):sed -i 's/r//g' /www/server/panel/install/nginx_prepare.sh在SSH终端输入以下代码开始更新Nginx并按脚本加载LuaJIT选项:cd /www/server/panel/install && bash install_soft.sh 0 update nginx 1.18代码中的Nginx版本号需要改为你机器已经安装的Nginx版本1.18.1即为1.18;然后等待更新完成即可;安装插件注意:需要首先安装网站监控报表等待安装完成后再安装Nginx防火墙;原因是Nginx防火墙需要使用lua-cjson但在ARM下更新Nginx时直接编译lua-cjson会失败,具体原因没有深究;而安装网站监控报表时会默认使用luarocks来安装lua-cjson这就直接解决了此问题;当然你也可以先安装luarocks在使用luarocks install lua-cjson命令来安装lua-cjson;由于博主两个插件都要使用,所以就没单独测试了,需要的可以自行测试;
2023年12月09日
46 阅读
0 评论
0 点赞
2023-08-19
2024年度大更新!VPS常用脚本大全
DD网络重装脚本:系统默认为debian12moeclub大佬的脚本bash <(wget --no-check-certificate -qO- 'https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh') -d 12 -v 64 -p 密码 -port 端口 -a -firmwareleitbogioro大佬的脚本(推荐)wget --no-check-certificate -qO InstallNET.sh 'https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh' && chmod a+x InstallNET.sh && bash InstallNET.sh -debian 12 -pwd '密码'beta.gs大佬的脚本wget --no-check-certificate -O NewReinstall.sh https://raw.githubusercontent.com/fcurrk/reinstall/master/NewReinstall.sh && chmod a+x NewReinstall.sh && bash NewReinstall.sh5k哥的脚本服务器综合测试脚本(融合怪)(推荐)GitHub开源地址 curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh性能测试脚本YABS(推荐)GitHub开源地址wget -qO- yabs.sh | bash流量稀缺的服务器(不测试iperf网络)curl -sL yabs.sh | bash -s -- -i我更喜欢geekbench5(不测试geekbench6)curl -sL yabs.sh | bash -s -- -5我喜欢geekbench5,但服务器流量稀缺(不测试geekbench6、不测试iperf网络)curl -sL yabs.sh | bash -s -- -5 -iGeekbench 5 专测脚本 GitHub开源地址bash <(curl -sL gb5.top)LemonBench GitHub开源地址wget -qO- https://raw.githubusercontent.com/LemonBench/LemonBench/main/LemonBench.sh | bash -s -- --fastUnixBench.shwget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh chmod +x unixbench.sh ./unixbench.sh网络测试脚本hyperspeed 三网测速(推荐)(未开源)bash <(curl -Lso- https://bench.im/hyperspeed)AutoTrace 三网回程线路显示(推荐)wget -N --no-check-certificate https://raw.githubusercontent.com/Chennhaoo/Shell_Bash/master/AutoTrace.sh && chmod +x AutoTrace.sh && bash AutoTrace.shbacktrace 三网回程线路直接显示(小白用这个)curl https://raw.githubusercontent.com/zhanghanyun/backtrace/main/install.sh -sSf | shBench 网络带宽及硬盘读写速率(国外部分+国内部分节点)wget -qO- bench.sh | bashSuperBench.sh 网络带宽及硬盘读写速率(国内三网+speedtest+fast)wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash超售测试脚本一键检测超售wget --no-check-certificate -O memoryCheck.sh https://raw.githubusercontent.com/uselibrary/memoryCheck/main/memoryCheck.sh && chmod +x memoryCheck.sh && bash memoryCheck.sh移除virtio_balloon模块rmmod virtio_balloon内存填充测试apt-get update apt-get install wget build-essential -y wget https://raw.githubusercontent.com/FunctionClub/Memtester/master/memtester.cpp gcc -l stdc++ memtester.cpp ./a.out流媒体测试脚本RegionRestrictionCheck(推荐)bash <(curl -L -s check.unlock.media)openai解锁检测bash <(curl -Ls https://github.com/ludashi2020/OpenAI-Checker/raw/main/openai.sh)BBR脚本一键开启BBR(适用于较新的Debian、Ubuntu)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 bbrLinux-NetSpeed(锐速/bbrplus/bbr魔改版)wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" chmod +x tcp.sh ./tcp.shylx大佬的锐速/BBRPLUS/BBR2wget -O tcpx.sh "https://github.com/ylx2016/Linux-NetSpeed/raw/master/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.shmoerats大佬的添加swap脚本wget https://www.moerats.com/usr/shell/swap.sh && bash swap.shcloudflare warp脚本 添加IPv4/IPv6网络wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.shfail2ban服务器ssh防爆破wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/fail2ban.sh && bash fail2ban.sh 2>&1 | tee fail2ban.log独立服务器硬盘时间wget -q https://github.com/Aniverse/A/raw/i/a && bash a常用软件脚本Dockercurl -sSL https://get.docker.com/ | shAria2一键安装脚本wget -N git.io/aria2.sh && chmod +x aria2.sh && bash aria2.shXUIbash <(curl -Ls https://raw.githubusercontent.com/FranzKafkaYu/x-ui/master/install.sh)宝塔一键挂载硬盘脚本wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.shacme生成免费证书curl https://get.acme.sh | sh剑皇刷流量脚本wget https://cdn.jsdelivr.net/gh/maintell/webBenchmark@releases/download/0.6/webBenchmark_linux_x64 chmod +x webBenchmark_linux_x64 ./webBenchmark_linux_x64 -c 64 -s http://链接.jpg腾讯云删除监控sudo -i systemctl stop tat_agent systemctl disable tat_agent /usr/local/qcloud/stargate/admin/uninstall.sh /usr/local/qcloud/YunJing/uninst.sh /usr/local/qcloud/monitor/barad/admin/uninstall.sh rm -f /etc/systemd/system/tat_agent.service rm -rf /usr/local/qcloud rm -rf /usr/local/sa rm -rf /usr/local/agenttools rm -rf /usr/local/qcloud process=(sap100 secu-tcs-agent sgagent64 barad_agent agent agentPlugInD pvdriver ) for i in ${process[@]} do for A in $(ps aux | grep $i | grep -v grep | awk '{print $2}') do kill -9 $A done done测试 25 端口是否开放telnet smtp.aol.com 25测试 IPv4 优先还是 IPv6 优先curl ip.p3terx.com
2023年08月19日
632 阅读
0 评论
0 点赞
2022-07-23
Debian、Centos如何实现端口转发?手把手新手教程
什么是端口转发?为什么要转发?准确来讲叫流量转发,因为流量是基于端口的,所以一般称为端口转发。比如电信到伯力很差,我买了个上海联通鸡做转发,那么就是电信->联通:1200->伯力:4900,那么我访问联通的1200端口,等于访问伯力的4900端口转发还可以用于公网 frp,反代网站等用途用什么转发?推荐 iptables 或者 firewalld,都是内核级别的转发,性能损耗极少。如果用 gost/brook 等第三方工具转发,流量大或者连接数过多的时候 cpu 和负载压力变大,对于 nat 小鸡特别不友好。基于 firewalld 转发(适用于 centos7)如果 Debian 也能装 firewalld,只要能装上并正常工作,也是能用它进行转发的。以下命令都在 中转机 执行先停止iptablessystemctl stop iptables systemctl disable iptables安装,开机启动yum install firewalld systemctl start firewalld systemctl enable firewalld.service状态:显示绿色 active 说明服务运行正常systemctl status firewalld开启内核转发,然后重启echo 1 > /proc/sys/net/ipv4/ip_forward sysctl -p reboot到这里安装完成,然后直接编辑 vim /etc/firewalld/zones/public.xml 文件,这个是 firewalld 配置文件把下面的配置粘贴进去:<?xml version="1.0" encoding="utf-8"?> <zone> <short>Public</short> <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description> <service name="ssh"/> <service name="dhcpv6-client"/> <port protocol="tcp" port="10-65000"/> <port protocol="udp" port="10-65000"/> <masquerade/> <forward-port to-addr="远程ip" to-port="远程端口" protocol="tcp" port="本地端口"/> <forward-port to-addr="远程ip" to-port="远程端口" protocol="udp" port="本地端口"/> </zone>重启防火墙就生效了systemctl restart firewalld.service每次修改 public.xml 要重启防火墙才会生效基于 iptables 转发(适用于centos7,debian8+)先安装 iptables# Centos yum install -y iptables yum install -y iptables-services # Debian、Ubuntu apt-get install -y iptables apt-get install -y iptables-services设置开机启动systemctl start iptables systemctl enable iptables查看服务状态,显示 绿色 active 就可以了service iptables status清空所有防火墙规则,避免因端口没开造成影响iptables -F iptables -X开启内核转发,重启echo -e "net.ipv4.ip_forward=1" >> /etc/sysctl.conf sysctl -p reboot到这里安装完成,接下来就是添加转发规则,可以自己添加,也可以使用脚本。自己直接添加iptables -t nat -A PREROUTING -p tcp --dport [本机端口号] -j DNAT --to-destination [目标IP:端口] iptables -t nat -A PREROUTING -p udp --dport [本机端口号] -j DNAT --to-destination [目标IP:端口] iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [目标端口号] -j SNAT --to-source [本机主网卡IP] iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [目标端口号] -j SNAT --to-source [本机主网卡IP]借助脚本这个脚本是帮你一键执行 iptables 命令,还是 调用 iptables,非第三方转发软件,支持ddns感谢7MU https://github.com/cimmu/scriptwget --no-check-certificate -qO natcfg.sh https://github.com/cimmu/script/raw/main/natcfg.sh && bash natcfg.sh
2022年07月23日
21 阅读
0 评论
0 点赞
2022-04-12
Cloudflare 常用API - 自动开启5秒盾 根据平均负载自动开盾
Cloudflare API 通过编程接口公开完整的 Cloudflare 功能。您可以使用 Cloudflare API 管理帐户设置、配置产品和开发应用程序。 via 管理 API 令牌和密钥;要使用API,实现5秒盾,根据平均负载自动开盾,都需要一下几个 Cloudflare注册邮箱,Global API Key,Zone ID等;查看 API 密钥官方文档:管理 API 令牌和密钥(请自行切换语言)修改安全级别设置正常情况下,我们要设置防火墙的安全等级,我们可以在 Cloudflare 的控制面板-防火墙-设置-安全级别进行设置,简单,直观;(如上图位置);为了应对不期而至的 CC 攻击,我们可能会需要一个自动提高安全级别的策略,把安全级别从 off 提高到 under_attack;官方示例Cloudflare 常用API - 自动开启5秒盾(off, essentially_off, low, medium, high, under_attack)完整官方文档,访问 https://api.cloudflare.com/ 搜索 Security Level settingcurl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/security_level" \ -H "X-Auth-Email: cloudflare 账号邮箱" \ -H "X-Auth-Key: 你的 API Key" \ -H "Content-Type: application/json" \ --data '{"value":"medium"}'现在,我们动手制作一个可执行Shell脚本,假设命名为:cf.security.sh:#!/bin/bash #cf.security.sh CFEMAIL="填写你的Cloudflare注册邮箱" CFAPIKEY="填写你的API Key" ZONEID="填写你的ZONEID" curl -X PATCH "https://api.cloudflare.com/client/v4/zones/${ZONEID}/settings/security_level" \ -H "X-Auth-Email: ${CFEMAIL}" \ -H "X-Auth-Key: ${CFAPIKEY}" \ -H "Content-Type: application/json" \ --data '{"value":"medium"}'其中,"value" 的值可设置为:off essentially_off low medium high under_attack执行 cf.security.sh,如果成功则返回如下提示:{"result":{"id":"security_level","value":"medium","modified_on":"2022-04-12T03:41:56.393080Z","editable":true},"success":true,"errors":[],"messages":[]}根据平均负载自动开盾以下仅做示例参考,还有很多判定方法值得考量(HTTP 502 错误数量,系统平均负载,异常的IP数量,HTTP 404 状态码数量(如果用 random 攻击的话等等))#!/bin/bash #cf.security.change.sh ##近期平均负载情况判定 usage=`echo $(cat /proc/loadavg | awk '{print $2}')` #获取当前系统平均负载值 max=2 #设置最大阈值 CFEMAIL="填写你的Cloudflare注册邮箱" CFAPIKEY="填写你的API Key" ZONEID="填写你的ZONEID" if [ `echo "$usage > $max"|bc` -eq 1 ]; then curl -X PATCH "https://api.cloudflare.com/client/v4/zones/${ZONEID}/settings/security_level" \ -H "X-Auth-Email: ${CFEMAIL}" \ -H "X-Auth-Key: ${CFAPIKEY}" \ -H "Content-Type: application/json" \ --data '{"value":"under_attack"}' fi在Linux系统中,uptime、w、top 等命令都会有系统平均负载 load average 的输出,那么什么是系统平均负载呢? 命令输出的最后内容表示在过去的 1、5、15 分钟内运行队列中的平均进程数量。上面的脚本意思是当最近5分钟系统负载大于2时,则修改 Cloudflare 防御等级为最高级(under_attack模式)最后,设置一下 Crontab 每分钟自动执行脚本即可(脚本每1分钟运行一次):脚本具体位置以你自己放置位置为准*/1 * * * * /root/cf.security.change.sh
2022年04月12日
153 阅读
0 评论
0 点赞
2022-04-03
nohup 和 & 后台运行,进程查看及终止
nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ & ]无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。退出状态:该命令返回下列出口值:126 可以查找但不能调用 Command 参数指定的命令。127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。&用途:在后台运行一般两个一起用 nohup command &例子:nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &查看运行的后台进程jobs -ljobs 命令只看当前终端生效的,关闭终端后,在另一个终端 jobs 已经无法看到后台跑得程序了,此时利用 ps(进程查看命令)ps -efps -aux|grep chat.jsa:显示所有程序 u:以用户为主的格式来显示 x:显示所有程序,不以终端机来区分注:用 ps -def | grep 查找进程很方便,最后一行总是会 grep 自己用 grep -v 参数可以将 grep 命令排除掉ps -aux | grep xxx | grep -v grepaux 输出格式USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDUSER: 行程拥有者PID: pid%CPU: 占用的 CPU 使用率%MEM: 占用的记忆体使用率VSZ: 占用的虚拟记忆体大小RSS: 占用的记忆体大小TTY: 终端的次要装置号码 (minor device number of tty)STAT: 该行程的状态:D: 无法中断的休眠状态 (通常 IO 的进程)R: 正在执行中S: 静止状态T: 暂停执行Z: 不存在但暂时无法消除W: 没有足够的记忆体分页可分配<: 高优先序的行程N: 低优先序的行程L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)START: 行程开始时间TIME: 执行的时间COMMAND:所执行的指令再用 awk 提取一下 进程IDps -aux | grep chat.js | grep -v grep | awk '{print $2}'后台日志输出到文件关于如何将后台日志输出到文件,可看本博客前面发的文章:Linux定时任务crontab将错误日志与正确输出写入到文件如果某个进程起不来,可能是某个端口被占用查看使用某端口的进程lsof -i:8090netstat -ap|grep 8090查看到进程 id 之后,使用 netstat 命令查看其占用的端口netstat -nap|grep 7779终止后台运行的进程kill -9 进程号
2022年04月03日
31 阅读
0 评论
0 点赞
2022-03-31
在 Linux 上如何清除内存的 Cache、Buffer 和交换空间
像任何其他的操作系统一样,GNU/Linux 已经实现的内存管理不仅有效,而且更好。但是,如果有任何进程正在蚕食你的内存,而你想要清除它的话,Linux 提供了一个刷新或清除RAM缓存方法。如何在 Linux 中清除缓存(Cache)?每个 Linux 系统有三种选项来清除缓存而不需要中断任何进程或服务。(LCTT 译注:Cache,译作“缓存”,指 CPU 和内存之间高速缓存。Buffer,译作“缓冲区”,指在写入磁盘前的存储再内存中的内容。在本文中,Buffer 和 Cache 有时候会通指。)仅清除页面缓存(PageCache)sync; echo 1 > /proc/sys/vm/drop_caches清除目录项和inodesync; echo 2 > /proc/sys/vm/drop_caches清除页面缓存,目录项和inodesync; echo 3 > /proc/sys/vm/drop_caches上述命令的说明:sync 将刷新文件系统缓冲区(buffer),命令通过“;”分隔,顺序执行,shell在执行序列中的下一个命令之前会等待命令的终止。正如内核文档中提到的,写入到 drop_cache 将清空缓存而不会杀死任何应用程序/服务,echo 命令做写入文件的工作。如果你必须清除磁盘高速缓存,第一个命令在企业和生产环境中是最安全,echo 1 >只会清除页面缓存。 在生产环境中不建议使用上面的第三个选项 echo 3 >,除非你明确自己在做什么,因为它会清除 缓存页,目录项 和 inodes。在 Linux 上释放也许被内核所使用的缓冲区(Buffer)和缓存(Cache)是否是个好主意?当你设置许多设定想要检查效果时,如果它实际上是专门针对 I/O 范围的基准测试,那么你可能需要清除缓冲区和缓存。你可以如上所示删除缓存,无需重新启动系统(即无需停机)。Linux 被设计成它在寻找磁盘之前到磁盘缓存寻找的方式。如果它发现该资源在缓存中,则该请求不会发送到磁盘。如果我们清理缓存,磁盘缓存就起不到作用了,系统会到磁盘上寻找资源。此外,当清除缓存后它也将减慢系统运行速度,系统会将每一个被请求的资源再次加载到磁盘缓存中。现在,我们将创建一个 shell 脚本,通过一个 cron 调度任务在每天下午2点自动清除RAM缓存。如下创建一个 shell 脚本 clearcache.sh 并在其中添加以下行:注意,我们这里使用了 "echo 3",但是不推荐使用在产品环境中,应该使用 "echo 1"#!/bin/bash echo "echo 3 > /proc/sys/vm/drop_caches"给 clearcache.sh 文件设置执行权限chmod 755 clearcache.sh现在,当你需要清除内存缓存时只需要调用脚本。现在设置一个每天下午2点的定时任务来清除RAM缓存,打开 crontab 进行编辑。crontab -e添加以下行,保存并退出。0 3 * * * /path/to/clearcache.sh在生产环境的服务器上自动清除RAM是否是一个好主意?不!它不是。想想一个情况,当你已经预定脚本在每天下午2点来清除内存缓存。那么其实该脚本会执行并刷新你的内存缓存。在某一天由于某些原因,可能您的网站的在线用户会超过预期地从你的服务器请求资源。而在这时,按计划调度的脚本运行了,并清除了缓存中的一切。当所有的用户都从磁盘读取数据时,这将导致服务器崩溃并损坏数据库。因此,清除缓存仅在必要时并且在你的预料之中,否则你就是个呆瓜系统管理员。如何清除 Linux 的交换空间?如果你想清除掉 swap(交换空间),你可以运行下面的命令:swapoff -a && swapon -a此外,了解有关风险后,您可以将上面的命令添加到 cron 中。现在,我们将上面两种命令结合成一个命令,写成正确的脚本来同时清除RAM缓存和交换空间。echo 3 > /proc/sys/vm/drop_caches && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'或su -c 'echo 3 > /proc/sys/vm/drop_caches' && swapoff -a && swapon -a && printf '\n%s\n' 'Ram-cache and Swap Cleared'
2022年03月31日
32 阅读
0 评论
0 点赞
2022-03-29
用 acme.sh 免费为网站域名申请 SSL 证书开启 Https 并自动续期
为什么要给网站开启 Https,做网站的应该都知道吧,哪怕不是站长应该有略有所闻,没有 https 证书的网站,浏览器打开时会提示不安全,很多时候大家看到提示不安全都会关闭,这对网站来说是一件非常糟糕的事情,另外对于需要用到支付功能的网站,没有 https 更加不安全。如果你想搞微信小程序,没有不仅要开启 https,TLS 最低还得是 1.2版本。安装 acme.shcurl https://get.acme.sh | sh脚本会自动为你创建 cronjob, 每天 0:00 点自动检测所有的证书, 如果快过期了, 需要更新, 则会自动更新证书安装以后默认会给 acme.sh 生成别名,如果执行 acme.sh 报错 not found。需执行source ~/.bashrc手动 alias 命令 (没有alias的可手动添加):alias acme.sh=~/.acme.sh/acme.sh另外,acme.sh 已经被 ZeroSSL 商业收购, acme.sh 更改默认申请证书的服务商为 ZeroSSL。商业公司的数据可能说卖就卖了所以最好更改一下默认 CA 颁发机构,更改默认证书颁发机构为 letsencryptacme.sh --set-default-ca --server letsencrypt如果服务器还没有运行任何 web 服务, 80 端口是空闲的是,那就使用 standalone 模式,还需要另外安装 socatDebian / Ubuntuapt update -y && apt install -y socatCentOSyum update -y && yum update -y && yum install -y socat申请证书及密钥如果不替换默认CA,使用 zerossl 的话,需要先注册acme.sh --register-account -m xxxx@gmail.com申请 Let's Encrypt 的直接从下面开始执行acme.sh --issue -d 你的域名 --standalone如果前面没有更换默认CA,也可以在申请时指定acme.sh --issue -d 你的域名 --server letsencrypt --standalone 下载证书及密钥下载后,在 root 根目录下,会有一个 cert.crt 和 private.key 文件acme.sh --install-cert -d 你的域名 --key-file /root/private.key --fullchain-file /root/cert.crt撤销证书,使用:acme.sh --list acme.sh --revoke -d mydomain.com删除证书,使用:acme.sh --list acme.sh --remove -d mydomain.com更新 acme.sh升级acme.sh到最新版:acme.sh --upgrade开启自动升级:acme.sh --upgrade --auto-upgrade关闭自动更新:acme.sh --upgrade --auto-upgrade 0
2022年03月29日
46 阅读
0 评论
0 点赞
2022-03-14
wget 批量下载
wget -r -np -nd http://example.com/packages/这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。wget -r -np -nd --accept=iso http://example.com/centos-5/i386/与上一条命令相似,但多加了一个 --accept=iso 选项,这指示 wget 仅下载 i386 目录中所有扩展名为 iso 的文件。你也可以指定多个扩展名,只需用逗号分隔即可。wget -i filename.txt此命令常用于批量下载的情形,把所有需要下载文件的地址放到 filename.txt 中,然后 wget 就会自动为你下载所有文件了。wget -c http://example.com/really-big-file.iso这里所指定的 -c 选项的作用为断点续传。wget -m -k (-H) http://www.example.com/该命令可用来镜像一个网站,wget 将对链接进行转换。如果网站中的图像是放在另外的站点,那么可以使用 -H 选项
2022年03月14日
27 阅读
0 评论
0 点赞
1
2
...
7