网站好久没出现500错误了,今天上班的时候收到 Uptime Robot 发来的信息 “The monitor Forece Blog (http://www.forece.net) is currently DOWN (Connection Timeout). ” 然后我就知道网站又挂了。晚上回家,看了看,发现 Mysql 启动不了了。然后分析日志,发现原来是磁盘空间满了。
LNMP 从 1.4 升级到 1.5
前篇文章写了 Forece 的服务器宕机,各种方法都试了,也包括试着升级LNMP,不过网上写的都是1.x升级到1.4的,没有1.5的教程。其实照猫画虎直接把代码稍微改一下就可以了。另外顺道 Forece 也把自己的PHP升级到了7.2,。网上看了下评测,PHP 7.2 打开 WordPress 的速度竟然要比 5.4 至少快2倍。前几天正好看到 PHP 低版本有安全隐患的新闻。顺道升级了。
记又一次通过查看日志解决服务器500内部错误(xmlrpc.php)
自从上次调整了php的参数后,Forece 的 WordPress 博客几乎就再也没出现过500错误了,不过这两天自己疯狂收到服务器宕机的错误,于是又一次大排查开始了。经过重重排查,最终发现了原来是 xmlrpc.php 这个文件搞的鬼。这里写一下排查记录。
WAMP PHP 文件中文乱码问题
最近重新学PHP,发现每次PHP文件中用 echo 命令输出中文字符的时候,总是出现乱码。而纯HTML文件则不会出现乱码。网上查了半天,都说是 meta 没有写 UTF-8 的问题。可是,Forece 明明已经加载了 meta utf-8 的代码,还是乱码。最后终于找到问题所在,原来是 php.ini 默认字符集的问题。
WAMP 如何设置局域网访问
因为做网页经常需要测试手机浏览模式,有时候用 Chrome 模拟手机测试的好好的,但是切到手机上再测试的时候就会出现问题。因为用 WAMP 本地测试,发现竟然无法用 192.168.0.xxx 访问本机。网上查了一下,原来 WampServer 禁用了全网访问,只开放了本地访问。如果想改变全局访问的话,需要更改一些 WampServer 的配置。
DIV+JS+CSS 实现点击按钮弹出图片效果
刚刚写了一篇关于 如何替换 WOOCOMMERCE 的 “加入购物车” 按钮 的文章。将加入购物车按钮的功能替换成一个可以点击后弹出我微信号图片的效果。那么今天 Forece 就来讲讲如何实现这个效果的。
如何替换 WOOCOMMERCE 的 “加入购物车” 按钮
之前 Forece 写过一篇文章讲的是 如何移除 WOOCOMMERCE 的 “加入购物车” 按钮 ,不过 Forece 发现了一个弊端,就是移除 Add to Cart 按钮之后,如果有产品有分类的话,那么分类产品也不会显示了。所以没办法, Forece 只好自己改造 “加入购物车” 这个按钮了。
如何在 Nginx 添加自定义 404 500 页面
原来用惯了 Apache 里边的 .htacess 文件,感觉 rewrite 挺容易的,结果搬家后换了 Nginx 发现好多 Rewrite 不好用了。原来 .htacess 对 Nginx 不好使。必须要去手动更改设置文件来实现文件的 Rewrite 规则。因为最近老出 500 错误,我还得顺道把自定义的 500、404 之类的错误页面给弄出来,不然就会被各大搜索引擎降权。因为搜索引擎检查到你的服务器经常宕机,各个页面无法索引的话,就会降权。那么如果你添加一个 404 或者 500 页面,那么他们就会认为你给了用户一个很好的体验,而不会遭到惩罚。今天 Forece 来教大家如何在 Nginx 里配置404、500的错误页面。
利用 Crontab 自动检测 MySQL 状态并重启的脚本
很多朋友从虚拟机转到 VPS 或独立主机基本上都会碰到内存不足,然后系统自动将 MySQL 进程关闭的情况。上次已经说过,一个是做系统优化,调整 php、MySQL 的配置文件。另外一个是加载 swap 分区文件。那么如果这些都做了,那么 MySQL 被 Kill 的情况就大大减少了,不过如果你还是不放心的话,可以再加一个无人值守的自动检测 MySQL 的脚本。MySQL 异常关闭,网页中一般会显示 500 Internal Service Error ,或者是 连接数据库错误。 一般手动重启 MySQL 即可。不过这是一个人工操作,最近学习了 Linux 的定时任务 crontab,正好做一个自动化的操作。主要功能就是定时检查 MySQL,如果 MySQL 关闭了,就重启该服务。
MySQL 无法正常启动 - The server quit without updating PID file
最近 MySQL 又开始出现崩溃错误,然后就想去研究一下 MySQL 的配置文件 my.cnf。然后就随便改了点参数。然后就特么悲剧了。