Category: Linux

CentOS 7 升级核心 Kernel 4.20.x

RHEL 及 CentOS 7 现在使用的 kernel 仍然是 3.10 版本, 如果需要使用新版 kernel 才有的功能, 便需要升级 kernel. 除了手动编译 kernel 外, 以下会提供使用 yum 指令, 透过 ELRepo repository 升级到 Kernel 4.x 的方法。 要检视系统目前使用的 Kernel, …

BIND DNS Server 建立 SPF Record

DNS Server 最常见的设定是 A Record, MX Record 及 CNAME Record 等, 而随了以上的记录, 另一个经常会用到的是 TXT Record, 要设定 SPF (Sender Policy Framework) Record 也是在 TXT Record 里面定义。 SPF 主要的用途, 是定义那一台 SMTP …

Nginx 开启 gzip 压缩设定

gzip 是一种压缩工具, Web Server 透过 gzip 将数据压缩, 再发送给使用者的浏览器解压。这样所需传送的数据便会减少, 提升网站的速度。 以下是在 Nginx 开启 gzip 压缩的方法。 在开启 gzip 前, 可以先用 curl 检视一下目前 Nginx 是否有开启 gzip, 输入以下指令: /linux/curl $ curl -H “Accept-Encoding: …

Nginx 设定 WordPress 固定网址 Permalinks

WordPress 可以自行设定固定网址 (Permalinks) , 以可读性较高的格式呈现, 如果没有设定, 默认会使用类似 ?p=123 结尾的网址。 一般上如果在 Apache 上安装 WordPress, WordPress 内建的 .htaccess 会使用 mod_rewrite 自动进行对应。 但 Nginx 并不支援 mod_rewrite, 需要编辑 Nginx 的设定档。 开启网站的 Nginx 设定档, …

Ubuntu 列出及查询已安装的套件

安装、更新及管理套件是系统管理员的日常维护工作,以下文章会示范在 Ubuntu 下,列出所有已安装套件,及查询套件是否有安装的方法。 apt apt 是指令模式的套件管理工具, 要列出所有已安装的套件: $ sudo apt list –installed 由于安装的套件有很多, 最好使用 pipe 将结果输出到 head 或 less 指令显示: $ sudo apt list –installed | head 或 $ …

SSH 远端主机免密码执行指令

系统管理员很多时也有多台服务器需要管理, 以下会示范如何透过 SSH 在远端主机执行指令, 并不用输入密码。 本机设定 首先在本机用 ssh-keygen 建立 private key 及 public key, 对于 ssh-keygen 的提问, 直接按 Enter 键即可: $ ssh-keygen -t rsa Generating public/private rsa key pair. …

Shell Script 检查档案是否有指定字串

在 Linux CLI 下可以用 grep 指令, 将档案包含有指定字串的行印出, 或者配合 -c 参数直接印出匹配的行数, 例如: $ grep -c string filename.txt 如果在 Shell Script 要检查档案是否有指定字串, 当然可以检查以上指令输出的数值, 但另一个更方便的方法, 是用 grep 的 -q 参数, 具体写法是这样: grep …

Nginx 设定反向代理 Reverse Proxy

什么是反向代理 Reverse Proxy? 反向代理是在真实服务器与客户端间的代理服务器, 当使用者透过客户端 (浏览器) 访问网站时, 反向代理服务器会将请求转送到背后的真实服务器, 再将网站的结果传送给客户端。真实服务器可能是本机的其他 Port, 也可能在内部网络, 或者在其他外部网络, 这样使用者不会知道真实的服务器在那里, 可以隐藏真正服务器的位置, 而且也可以实现 load balancing. 安装 Nginx 可以用 yum 或 apt-get 安装: $ sudo yum install nginx …