Category: 运维
是时候告别 PHP 7.4 了,我的博客也要升级了 用了好多年的 PHP 7.4,终于要升级到 8.x 了 “能跑就别动”的日子结束了,该升级 PHP 了 WordPress 警告来了:PHP 7.4 已过时,我得动手了 WordPress 已开始向站点管理员显示警告,指出 PHP 7.x 已不再受支持。这些提示是一个重要的提醒:继续使用过时的 PHP 版本将带来严重风险,包括安全漏洞、性能下降,以及与最新的 WordPress 功能和插件不兼容。事实上,PHP 开发团队早在 2022 年 11 …
这些年我陆续折腾过一些小项目,比如博客、在线工具、STEEM见证人等。目前我手头上管理着28台服务器,大多是一些价格便宜的VPS,最近新添的一台是家里鞋柜里的一块树莓派4B(Raspberry Pi)。 我把每台服务器的信息都记录在一个 Excel 表格中,包括 IP 地址、VPS 提供商、内存、硬盘等。这些信息都是静态配置数据。 平时我也写了不少小工具和 Bash 脚本,挂在 crontab 上定期运行,用来监控一些异常情况,比如磁盘空间不足、高 CPU 负载等。一旦检测到异常,就会通过邮件及时通知我。 比如以下BASH脚本(awk/sed)检测硬盘剩余空间: #!/bin/bash disk=$(df / | tail -1 | awk '{print $5}' | sed 's/%//') …
理解 Linux Shell 中前导空格的行为 概述 在像 bash 这样的 Linux shell 环境中,命令前加一个空格可能会影响该命令是否被保存到命令历史中。 这个小技巧在处理敏感数据时非常有用,或者当你不希望某个命令被记录下来时也能派上用场。 关键变量:HISTCONTROL 这种行为是由一个叫做 HISTCONTROL 的 shell 环境变量控制的。 查看当前设置的方法如下: echo $HISTCONTROL 例如,你可能会看到: ignoredups:ignorespace 值的含义解释 选项 描述 ignoredups 防止连续重复的命令被保存到历史中。 ignorespace …
回国的时候最麻烦就是访问国外的网站:邮箱、油管视频等。在中国大陆,翻墙是违法的,但是好像在上海北京等大城市,可以申请许可,比如一些国际驻公司和政府机构因需要则可以申请绕过大墙网GFW/Great Firewall。 翻墙/建梯子的方式很多种,怕麻烦可以买现成的VPN,自己有服务器的可以建Wireguard等。这里再介绍一种简单的方式。 Docker容器里跑火狐FireFox浏览器 假设你的主机/服务器/VPS里已经装有Docker。只需要把下面的脚本存成一个BASH文件,比如 docker-firefox.sh 然后在命令行下跑:./docker-firefox.sh PASS 其中PASS是密码,这个我们下面要用到,PASS如果不写的话则要把 “-e VNC_PASSWORD=” 那行删掉即可。 #!/bin/bash VNC_PASS=$1 docker run -itd \ --restart always \ --name=firefox \ -p 5800:5800 \ -v $(pwd)/config:/config:rw \ …
理解VPS、专用服务器和云管理专用服务器 选择合适的托管解决方案可能会让人感到困惑,尤其是在当今可用选项繁多的情况下。其中,虚拟专用服务器(VPS)、专用服务器和云管理专用解决方案各自具有独特的优势。在本文中,我们将深入探讨它们之间的区别,并提供建议,帮助您做出明智的决定。 什么是VPS? 虚拟专用服务器(VPS = Virtual Private Server)是在物理服务器上创建的虚拟化环境。使用VPS托管时,您与其他用户共享物理服务器的资源(CPU、内存、存储)。然而,虚拟化技术确保您获得这些资源的专用部分,相比共享主机,提供了更多的控制、灵活性和性能。 VPS托管非常适合需要可扩展性的中小型项目,而不需要支付专用服务器的高成本。 什么是专用服务器? 专用服务器(Dedicated Server)为您提供一整台物理机器,专供您使用。此设置提供无与伦比的性能、定制性和控制力。没有资源共享,您可以根据特定的工作负载优化服务器,使其适用于高流量网站、大型数据库或有高要求的应用程序。 尽管专用服务器提供顶级性能,但它们的价格较高,并且需要高级的技术知识来进行管理。 什么是云管理专用服务器? 云管理专用服务器(Cloud-Managed Dedicated Servers)将专用硬件的优势与云基础设施的灵活性和便捷性结合起来。例如,许多供应商提供裸金属云解决方案,提供专用的CPU和内存,同时融入云的特性,如快速部署、可扩展性和按需计费。 这些解决方案提供专用服务器的原始计算能力,但消除了传统服务器管理的复杂性。它们非常适合那些希望在性能、可扩展性和易用性之间找到平衡的企业。 关键区别 以下是这些托管解决方案之间的主要区别: VPS:共享物理资源,价格实惠,可扩展,适合中等负载的项目。 专用服务器:专用物理资源,价格昂贵,高度可定制,适合资源密集型任务。 云管理专用服务器:专用物理资源,具有云特性如可扩展性和简化的管理。 建议:什么时候选择哪种? VPS托管:最适合创业公司、小型企业或正在发展中的开发者,他们需要一个性价比高且可扩展的解决方案。 专用服务器:最适合企业、大型网站或需要不妥协性能和完全服务器控制的应用程序。 云管理专用服务器:推荐给那些需要专用服务器的计算能力,但又希望拥有云平台的灵活性和管理简易性的企业。 对比表:VPS vs …
我一直是自己租用VPS服务器,然后搭建各种服务,比如博客就是Apache2+MySQL数据库。一般来说就是默认参数,没有去管,不过最近发现MySQL的性能参数都很保守,不能发挥整个服务器的性能。 然后我就网上搜索了一下,根据参数配置建议,用ChatGPT写了以下Python和BASH脚本。只需要在需要优化的服务器上,跑一下该脚本,然后就会显示参数配置,然后直接把参数添加到MySQL数据库配置参数文件上: /etc/mysql/mysql.conf.d/mysqld.cnf 然后运行: service mysql restart 重启MySQL服务器。 运行了几周,发现效果很好,博客反应速度也快了很多,这很大原因是根据了内存增加了MySQL缓存大小。 Python脚本优化MySQL数据库参数 把下面的Python脚本存成 mysql_config.py 然后运行 python3 mysql_config.py def get_total_ram(): with open('/proc/meminfo', 'r') as f: for line in f: if line.startswith("MemTotal:"): total_ram_kb …
apache 服务器将访问请求记录在 /var/log/apache2 中,因此我们可以分析这个日志文件来找出最后的几个请求。 下面解析 apache2 服务器日志,并逐行打印请求。它基于 BASH 命令:tail 和 awk。 #!/bin/bash NUMBER_OF_REQUESTS=50 LOG_FILES_PREFIX=/var/log/apache2/access tail -n $NUMBER_OF_REQUESTS $LOG_FILES_PREFIX* | awk -F'"' ' # 确保 IP 地址、请求和用户代理字段存在 $1 ~ /^+\.+\.+\.+/ …