2025-03-09 18:06:30
大型企业网站部署中都会有一个“Staging Site”,它是开发和部署流程中的关键组成部分。这是一个测试环境,模拟了实时生产环境,为开发人员、设计师和利益相关者提供了一个在上线前审查更改和测试新功能的平台。
那Staging Site和我这个日活1人的网站有什么关系呢?
前几天我为我的网站启用HTTP/3不太成功。开启HTTP/3后网站卡顿,Dev tools报错,部分插件不能正常工作,这让我不得已又关闭了HTTP/3。
我这个杠精自然不甘心就此罢手,因此萌生了给我这个自娱自乐的网站也安排一个测试环境的打算。
我手头碰巧也有创建一个测试网站所需的基本资源。
说干就干,刷新VM,建LEMP环境,恢复数据。30分钟后我就有了下面这个测试网站。
在oheng.com上实施后会在下面的列表里
用删除线表示,已在414080.com上部署的有✅标记,高优先级马上就要实施的带⏰标记,仍在计划中的带⏳标记
2025-03-09 17:53:18
以升级php8.3到php8.4为例
phv -v
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.4 php8.4-fpm php8.4-{cli,curl,gd,mysql,mbstring,xml,zip,imagick,intl}
- fastcgi_pass unix:/run/php/php8.3-fpm.sock;
+ fastcgi_pass unix:/run/php/php8.4-fpm.sock;
sudo systemctl restart php8.4-fpm nginx
diff /etc/php/8.3/fpm/pool.d/www.conf /etc/php/8.4/fpm/pool.d/www.conf
sudo systemctl stop php8.3-fpm
sudo systemctl disable php8.3-fpm
sudo apt-get purge php8.3*
sudo rm -rf /etc/php/8.3
sudo apt autoremove
下面是对应的 HTML 图标数位
☐ – ☐
☑ – ☑
☒ – ☒
✓ – ✓
✔ – ✔
✗ – ✗
✘ – ✘
✅ ❎⏳🗴 🗶 ⮽ 🗵 🗹 🗷
将下面的代码添加到当前主题的 functions.php 文件:
//显示页面查询次数、加载时间和内存占用
function performance( $visible = false ) {
$stat = sprintf( '本次加载耗时:%.3fs',
timer_stop( 0, 3 )
);
echo $visible ? $stat : "<!-- {$stat} -->" ;
}
然后可以在需要显示的地方,使用下面的代码进行调用:
<?php if(function_exists('performance')) performance(true) ;?>
2025-03-06 19:46:07
著名国产回合制策略战棋游戏“中国象棋”上次大更新是在距今八百多年的宋朝,此次游戏更新,加入了“炮”棋,丰富了游戏玩法。
时间节点:春秋战国(公元前5世纪)——两汉时期(公元3世纪)
时间节点:魏晋南北朝(公元3世纪-6世纪)
时间节点:唐朝(公元618-907年)
时间节点:北宋至南宋(公元10世纪-13世纪)
时间节点:元代-明代(公元13世纪-17世纪)
时间节点:清朝(公元17世纪-19世纪)
我从小就喜欢中国象棋,可就是下不好。现在我知道原因了,主要是因为没有一副好的棋。工欲善其事,必先利其器。我要有这么好的象棋,一定也会好好学棋的。
2025-03-05 16:07:00
春雷隆隆万物长,黄鹂鸣柳垒高仓。
一片园地桃色红,布谷声声茂绿浓。
惊蛰(Awakening from hibernation),于公历3月5-6日交节。动物昆虫自入冬以来即藏伏土中,不饮不食,称为“蛰”;时至惊蛰,阳气上升、气温回暖、春雷乍动、雨水增多,万物生机盎然。而“惊蛰”即上天以打雷方式惊醒蛰居动物的冬眠。这时中国大部分地区进入春耕季节。
节气分为三候,一候为五天,每一候都有相应的物候现象,称为候应。
一候:桃始华
桃花的花芽在严冬时蛰伏,于惊蛰之际开始开花。阳和发生,自此渐盛。
二候:仓庚鸣
仓庚,即黄鹂,黄鹂鸣叫,动物开始求偶。
三候:鹰化为鸠
鹰每年二三月飞返北方繁殖,只有斑鸠飞出来,古人以为春天的斑鸠是由秋天的老鹰变化出来的,意为春气温和,连鹰都变得像斑鸠一样温柔了。
《秦楼月/忆秦娥》【宋代】范成大 浮云集。轻雷隐隐初惊蛰。 初惊蛰。 鹁鸠鸣怒,绿杨风急。 玉炉烟重香罗浥。 拂墙浓杏燕支湿。燕支湿。 花梢缺处,画楼人立。 《菩萨蛮·春雨》【宋代】萧汉杰 春愁一段来无影。著人似醉昏难醒。 烟雨湿阑干。杏花惊蛰寒。 唾壶敲欲破。绝叫凭谁和。 今夜欠添衣。那人知不知。 《春日杂兴五首》 宋 陈棣 料峭寒犹薄,阴云带晚烟。雨催惊蛰候,风作勒花开。 日永消香篆,愁浓逼酒船。为君借余景,收拾赋新篇。
2025-03-04 15:16:29
在我的网站的Nginx中启用HTTP/2已经是5年前的事了,是时候启用HTTP/3了。
要运行HTTP/3,Nginx 版本必须是1.25或更高。运行nginx-v检查现有Nginx的版本。如果和我一样是Ubuntu24.04默认安装的1.24.0版本Nginx,需要手动升级。
升级过程并不复杂,按官方文档https://nginx.org/en/linux_packages.html#Ubuntu 来就好了。
升级结束后再运行一下 nginx -V,注意这里是大写的V。确保–with-http_v3_module在输出里就行。
nginx version: nginx/1.26.3
built by gcc 13.2.0 (Ubuntu 13.2.0-23ubuntu4)
built with OpenSSL 3.0.13 30 Jan 2024
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_v3_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-g -O2 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/data/builder/debuild/nginx-1.26.3/debian/debuild-base/nginx-1.26.3=. -flto=auto -ffat-lto-objects -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -fdebug-prefix-map=/data/builder/debuild/nginx-1.26.3/debian/debuild-base/nginx-1.26.3=/usr/src/nginx-1.26.3-1~noble -fPIC' --with-ld-opt='-Wl,-Bsymbolic-functions -flto=auto -ffat-lto-objects -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -pie'
sudo vi /etc/nginx/nginx.conf
首先确保TLSv1.3已经被包括在文件里
# 添加 QUIC 支持的协议版本
ssl_protocols TLSv1.2 TLSv1.3;
再添加Alt-Svc头
# 添加 Alt-Svc 头,告诉浏览器使用 HTTP/3
add_header alt-svc 'h3=":443"; ma=2592000, h3-29=":443"; ma=2592000, h3-Q050=":443"; ma=2592000, h3-Q046=":443"; ma=2592000, h3-Q043=":443"; ma=2592000, quic=":443"; ma=2592000; v="43,46"';
sudo vi /etc/nginx/sites-available/xxx.com
在server { }块中添加以下行。
# 启用HTTP/3
listen 443 quic reuseport; # QUIC over UDP
listen [::]:443 quic reuseport; # IPv6
nginx -t
sudo systemctl reload nginx
HTTP/3使用 UDP 443端口,记得要在防火墙上打开,一般默认的都只开了TCP 443端口
可以使用下面两个网站测试网站的HTTP/3是否已处于激活状态。
成功启用后大致是下面的样子。
我在网站Oheng.com上启用HTTP/3后,感觉没能给我的网点带来什么性能改进,反倒是让我的网站变慢了许多。
2月11日晚
不提了,启用HTTP/3后:
为了研究HTTP/3受挫到底是国内网络环境的问题,还是我自己的配置问题。我又在我新建的测试网站414080.com上启用了HTTP/3。
重复上面记录的步骤,在五分钟内就搞定了所需的设置。关闭cloudflare代理,打开网站,观察Dev tools里的console记录。发现有两个插件好像和HTTP3有冲突,一直在报错,分别是Optimization Detective 和 Simple Cloudflare Turnstile。 Optimization Detective 是Performance Lab插件的一部分,可有可无, Simple cloudflare Turnsitle 对我的意义也不大。直接把这两个禁用了,console里基本就没啥错了。
又测一下网站性能,完全看不出区别,没开HTTP/3的oheng.com还高一分。
好吧,我也没动力在oheng.com再启用HTTP/3了。
可这是我自娱自乐的网站,又有谁关心这性能呢。该有的都要有,该支持的都要支持,能浪就浪。
说话说得好:不在乎天长地久,只在乎曾经拥有。支持过就行了,我网站的HTTP/3配置已被注释掉了。
HTTP/3我们后会有期。。。
2025-03-01 00:00:00
Eid Mubarak
全球会议间隙,一位国外穆斯林同事给我们科普了穆斯利的斋月。下面是我记住的部分。
在全球所有的穆斯林眼中,斋月无疑是一年中最神圣的月份之一。在这个月里,穆斯林们纪念《古兰经》的启示,他们会在昼间禁食饮食,以此方式接近上帝,培养自我控制,感恩和对较不幸者的同情。斋月是一个强烈的精神复兴的月份,穆斯林会用更多的时间阅读《古兰经》并进行特殊的祷告。那些无法斋戒的人,如怀孕或哺乳的女性,病人,老人和儿童,可以被免除斋戒。
斋月是伊斯兰日历的第九个月,该日历基于一个约354天的12个月的阴历年。由于阴历年比阳历年短11天,所以每个阴历月每年都会提前11天。阴历月需要33个阳历年才能完成一个完整的周期并返回到相同的季节。传统上,这个月的开始和结束是基于新月的观察确定的。然而,近年来,许多穆斯林根据天文计算选择预定的日期。
穆斯林从黎明前到日落斋戒,根据一年中的时间斋戒时长在11-16小时之间,为期29-30天。斋月意味着放弃食物和饮料,如果已婚,还要在日间禁止性行为。对于穆斯林来说,斋月是一个通过避免任何负面行为如八卦,诽谤,撒谎或争吵来锻炼身心的时间。穆斯林将斋月视为自我反思和精神提升的机会,以及成长为道德卓越者的手段。斋月也是一个非常社交的时期,因为穆斯林会邀请彼此一起断斋,并在清真寺集合进行祷告。
斋戒的最终目标是获得对神更深的认知,这在阿拉伯语中被称为敬畏(taqwa),意指对神的持续意识。从这种意识中,人们应该获得纪律,自我约束和做好事避免做坏事的更大动力。为了纪念《古兰经》的启示,这在斋月开始,穆斯林会尝试在斋月期间读完整本书。在特殊的夜间祷告中也会朗诵整本《古兰经》。
穆斯林家庭通常在黎明前起床,吃一顿简单的早餐,称为素哈(suhur)。餐后,全家进行早晨的祷告,然后根据情况,回床睡觉或开始新的一天的生活。尤其在漫长的夏季,人们经常在下午工作或上学后的晚些时候小睡一会儿。日落时,家庭成员用一些枣和水,以及根据文化,其他轻食如汤,开胃菜或水果,来破斋。这被称为伊斯塔(iftar),意为“破斋”。完成日落祷告后,全家吃晚饭。在斋月期间,邀请客人破斋或者去别人家破斋是非常常见的。许多家庭之后会去清真寺进行晚祷和特殊的斋月祷告,称为塔拉威祷告(Tarawee)。
许多清真寺每天都会举办社区晚宴,穆斯林可以在这里一起开斋。 对于学生、穷人和任何想从烹饪中休息一下的人来说,这是一项很棒的服务。 许多清真寺还在周末举办社区晚宴。大多数清真寺在夜间祈祷后都会举行称为 Taraweeh 的特殊斋月祈祷。 在塔拉维期间,祈祷者至少背诵《古兰经》的三十分之一,这样到月底,整部《古兰经》就会被背诵完毕。由于斋月是穆斯林特别慈善的时期,而禁食可以帮助穆斯林对饥饿和不幸的人产生同情心,因此许多清真寺都会举办食物募捐活动或筹款活动。
年份 | 开始于 | 结束于 |
---|---|---|
2030 | 2030年1月5日,星期六 | 2030年2月4日,星期一 |
2029 | 2029年1月16日,星期二 | 2029年2月14日,星期三 |
2028 | 2028年1月28日,星期五 | 2028年2月26日,星期六 |
2027 | 2027年2月8日,星期一 | 2027年3月9日,星期二 |
2026 | 2026年2月18日,星期三 | 2026年3月20日,星期五 |
2025 | 2025年3月1日,星期六 | 2025年3月30日,星期日 |
2024 | 2024年3月11日,星期一 | 2024年4月10日,星期三 |
2023 | 2023年3月23日,星期四 | 2023年4月21日,星期五 |
2022 | 2022年4月2日,星期六 | 2022年5月2日,星期一 |
2021 | 2021年4月13日,星期二 | 2021年5月13日,星期四 |