当一些 PHP 开启 MySQL 连线后, 没有成功关闭 MySQL 连线, 会有一大堆 sleep 的 process, 在 MySQL 可以执行以下指令查看: mysql> SHOW PROCESSLIST; 执行上面的 MySQL 指令会出现很多 Sleep 的连线, 当这些 Sleep 的连线过多时, 很容易会触及 max_connections 的限制, …
有时在 Shell Script 需要检查输入的参数数量, 在 Shell Script 要检查输入的参数数量, 可以直接用 $# 变量取得, 例如建立以下 Shell Script: 将以上内容储存成 test.sh 后, 并给予可执行权限, 可以尝试执行以下指令: $ test.sh 1 2 3 3 上面在执行 test.sh 时, 输入了 …
当网站的 CSS 及 Javascript (.css 及 .js) 作出修改后,这些更新可能不会立即呈现及访客,这是因为浏览器为了提高开启网站的速度,会将 .js 及 .css 档储存在快取内,下次进入网站时不会重新加载所致。 网站访客可以清除网站的快取然后重新加载,便会看到新内容。但网站管理员总不能要求每个访客这样做,需要在网页的层面解决。 一个简单的解法是在 HTML 的 Meta Tag 加入控制快取的指示,例如: 但这个方法很多时都不会长时间有效。 另一个较简单实用的方法是在档名后面加上一个 GET 变量,这个 GET 变量可以是日期时间,也可以是版本号,例如: 当下次修改 CSS 或 JS …
在 Linux 下一般不会用空格 (Space) 作为档案名称, 会用 底线 (_) 或横线 (-) 分隔字串, 但如果档案是从 Windows 复制进来, 或者是挂载 Windows 的分割区, 可能会有空格作为档案名称的一部分。 如果有一个档案名为 “file name.txt”, 在 Linux 要开启有以下两种方法, 分别是用引号包著档案名称, 以反在空格前加入 “\” 字符: $ …
在一台安装了 Apache (httpd) 的 CentOS 主机上, 如果重新启动 Apache 会很慢, 正常情况应该几秒内便重启完成. 但启动 Apache 便很快, 只是停止及重启很慢。 根据 Redhat Bugzilla 的内容, 在 systemd 的 httpd 服务, 将 KillMode 设定成 none 便可以, 以下是解决步骤: …
有一台原本使用 Apache 的 Web Server 换成 Nginx 后, 其中一个 PHP 的上传档案程式遇到错误, 原本以为是 PHP 的 max_execution_time 或 max_upload_filesize 设定太小出问题。 后来在 Nginx 的 Log 找到以下错误: client intended to send too large …
Let’s Encrypt 在上年已经推出全网域通用凭证 (Wildcard Certificate), 也就是一张凭证可以让网域下所有子网域通用, 所有子网域也可以使用同一张凭证。原本的网域下每个子网域都会产生一个新的凭证, 但如果网址较多管理也较麻烦, 以下纪录一下申请 Let’s Encrypt Wildcard 凭证的方法。 网络上有很多申请 Let’s Encrypt 凭证的工具, 以下会使用 Certbot, 先执行以下指令安装 Certbot: /linux/install-certbot # wget https://www.eff.org/certbot-auto # chmod +x ./certbot-auto …
Swap 档案跟 Swap 分割区差不多, 分别是 Swap 档案是用档案的方式建立, 不是使用独立硬盘分割区。 以下是在 Linux 下建立 Swap 档案的方法。 建立 swap 档案是使用 block size 作为单位, 每 1 MB 有 1024, 所以建立 1GB 的 swap 档案便要建立 …
除了在 Linux 的主机外, 在其他类型的主机也经常需要检查埠号是否有开启埠号, 例如要测试主机的服务是否正常。 以下是分别用 nc, nmap 及 telnet 测试埠号是否有开启的方法。 nc (netcat) nc 的意思是 netcat, nc 可以读取经过 TCP 及 UDP 的网络连线资料, 是一套很实用的网络除错工具。 在 CentOS 用 yum 安装 nc: …
Firewalld 是 RHEL 7 及 CentOS 7 默认的防火墙, 如果要用 Firewalld 封锁 ip 的网络流量, 可以用以下指令. 以下指令会封锁 IP_ADDRESS, 将 IP_ADDRESS 换成要封锁的 ip 便可以了: /linux/firewalld # firewall-cmd –add-rich-rule=’rule family=”ipv4″ source address=”IP_ADDRESS” reject’ …