Tag: Debian & Ubuntu

Nginx 设定密码保护目录

在 Apache 设定密码保护目录会使用 .htpasswd 这种档案,在 Nginx 有提供 auth_basic 模组,设定也很方便,以下是 Nginx 设定密码保护目录的方法。 首先建立储存使用者名称及加密密码的档案 .htpasswd,可以用 htpasswd 指令完成,以下会设定使用者名称是 username,密码档放在 /var/www/domain.com/member/ 目录下面: # htpasswd -c /var/www/domain.com/member/.htpasswd username 然后会出现提示,要求设定密码。 如果系统内没有安装 htpasswd,可以手动建立这个档案,每个使用者一行纪录。 在手动建立密码档前,需要先用 Perl 的 …

Nginx 设定 http 自动导向 https

当网站从 http 转换到 https 后,想自动将前往 http 的访客自动导向到 https 页面,以下是 Nginx 设定 http 自动转址到 https 连线的设定方法。 以下假设网站域名是 mydomain.com, 会将所有 http 的连线自动导向到 https 的页面, 另外会将没有 www 的连线自动导向到 www 的网页: 加入以下三个 block, …

检视,搜寻,解压 .tar / .tar.gz 内个别档案

当 .tar 或 .tar.gz 压缩档容量十分大, 在解压前想先检视压缩档内的内容, 可以在 tar 指令加上 -tf 参数实现, 例如: $ tar -tf myfile 以上指令会将 myfile 内所有档案列出, 想要进行档案搜寻, 可以用 pipe 配合 grep 使用, 例如想列出所有 .php 档案, 可以这样: …

ss 指令 – 显示网络 Socket 资讯

ss 指令的全写是 Socket Statistics, 顾名思义,它的作用是显示 Sockets 的统计资讯。ss 跟 netstat 指令差不多,但 ss 可以显示更多有关 TCP / UDP 及连线状态的资讯,而且由于 netstat 由 /proc 逐个资讯读取,而 ss 会由 kernel 直接读取数据,所以 ss 比 netstat 执行上更快速,尤其在连线数量多的时候。 以下是 …

Ubuntu 安装 PHP Memcached 缓存

Memcached 是一套开放源码的分布式内存快取系统, 目前已经有多个网站使用。在网站的应用上, 由于数据库的查询多数是读取, Memcached 先将数据库加以缓存, 那便可以减少数据库的读取, 从而增加效率。Memcached 在 PHP 另一个常用的地方是用作缓存 session。下文会示范在 Ubuntu 安装 Memcached 及 Memcached 的 PHP 模组。 1. 安装 Memcached 在 Ubuntu 安装 Memcached 十分简单, 可以直接用 …

重设 MySQL / MariaDB 忘记的 root 密码

在安装 MySQL 或 MariaDB 服务器后, 当执行 mysql_secure_installation 后会完成一些基本的安全设定, 其中一项就是设定 root 的密码。 如果在往后忘记了这个 MySQL root 密码, 可以用以下方法重设, 以下文章会以 CentOS 环境作为例子. 首先将运行中的 MySQL Server 停止执行: # systemctl stop mariadb 或 # …

Apache 编译错误 – cannot install ‘libaprutil-1.la’ to a directory

今天编译安装 Apache, Apache 的默认安装目录是 /usr/local/apache2, 但我将它安装到 /usr/local/apache, 但在编译时出现以下错误: 原因可能是之前编译 Apache 时, 有一些纪录是安装到 /usr/local/apache2 所致, 解决方法是有两个: 1. 执行 make clean 指令, 再重新编译。 2. 将原始码的目录删除, 再重新解压 Apache 的源始码, 再进行编译安装即可。

Linux find 指令的 exec 参数

Linux 下找档案很多时会用上 find 指令,当用 find 指令找到档案或目录后,可以在后面加上 -exec 参数,来对每一个找到的档案或目录执行特定指令。 find 指令加上 -exec 参数的具体语法是这样: $ find /path/to -name “filename” -exec command {} \; 在 -exec 前面是 find 指令找出想要的档案,在 -exec 后面的 command …

vi / vim 搜寻并取代字串

不管系统管理还是写程式,在档案内对字串进行搜寻并取代十分常用,在 Unix Like 环境下常会用 sed 或 perl 做 search & replace. 如果在开启档案后需要取代字串,其实在 vi 及 vim 内同样可以做搜查及取代字串,做法跟 sed 差不多,以下是 vi 做搜寻及取代的语法: :%s/search_from/replace_to/g 以上 vi 的语法会将档案内,所有 “search_from” 的字串替换成 “replace_to”。 将上面指令最后加上一个 “c” …

用 SSH 在远端主机执行指令

当需要在两台主机间执行指令,可以用 SSH 直接传送要执行的指令,该远端主机直接执行,而无需登入另一台主机。 以下是具体指令的语法: 上面的 “user” 是登入帐号的使用者名称,remote.server 是远端主机,而 “ls -l” 是要执行的指令。当执行以上指令后,如果系统没有设定自动免密码登入,会询问远端主机的密码,输入密码后会在远端执行指令,并输出执行结果。 如果要同时执行多个指令,可以用 “;” 或 “&&” 分隔,例如: 或 如果需要用 Shell Script 执行远端指令,当需要在指令加入变量,需要将上面的单引号,改成双引号,例如: 最后是执行类似 top 这类互动模式的指令,只要加入 -t 选项即可: 除了 top 后,也可以用在 …