Tag: Linux
scp 可以在透过 SSH 加密下, 在本机或两台主机间复制档案, 今天执行 scp 时出现以下错误: 主机原来已经有安装 scp, 为何会出现 “command not found” 呢? 而且如果没有安装 scp, 应该不会出现要我输入远端主机密码的提示, 再细心想一想, 原来只是自己太大意。scp 在两台主机间复制档案时, 需要在两边都有安装好 scp, 而远端主机是新安装的, 没有安装 scp. 用 SSH 登入远端主机, …
当 Nginx 发生 504 Gateway Time-out 时, 一般上原因是一些程式执行需时较长时间, 当执行时间超出 Nginx 的限制时, 便会出现 504 Gateway Time-out 问题, 如果排除了程式上的问题, 解决方法是将执行时限延长 (或者升级主机的硬件也可以)。 首先开启 Nginx 的网站设定档, Nginx 将网站设定档都放在 /etc/nginx/ 目录下, 下面以 www.phpini.com 为例: …
rsync 是十分好用的同步备份工具,rsync 默认传输时不会加密,但其实 rsync 是支援 SSH 传输档案,以下是 rsync 透过 SSH 同步档案的方法: 从本机用 rsync 透过 SSH 复制档案到远端: 在 rsync 加上参数 “-e” 可以自订通讯协定,后面加上要用的通讯协定即可。 # rsync -avzhe ssh my_backup.tgz username@192.168.1.100:/backups/ username@192.168.1.100’s password: …
现在 PHP 其中一个很大的问题, 是很多个不同的 PHP 版本都有人使用, 对于开发者需要顾及程式码是否可以在不同版本执行, 而对系统管理员, 就要面对不同程式可能需要不同 PHP 版本。 以下记录一下在系统安装不同 PHP 版本, 并可以按需要设定不同 Virtualhost 或目录, 可以使用不同 PHP 版本的方法, 以下会以 CentOS 7 及 Apache 作为安装环境。 首先在系统用 YUM 安装好 …
Linux 下的 “useradd” 指令用作建立新帐号, 当执行 useradd 指令时, 它会完成以下工作: — 编辑 /etc/passwd, /etc/shadow, /etc/group 及 /etc/gshadow 档案, 加入新帐号的内容. — 为新帐号建立家目录. — 设定新帐号家目录的权限及 owner. 执行 useradd 建立帐号时, 如果没有指定参数, 会用系统的默认值建立帐号, 以下是建立帐号时改变默认值的例子。 建立新帐号 …
在 Shell Script 连接 MySQL, 可以用以下语句实现: $ mysql -u db_user -pdb_password db_name -e ‘sql_query’ 如果系统内没有其他使用者,这个方法没什么问题,但如果系统有其他使用者,在执行 Shell Script 时,其他使用者便可以用 ps 这类指令,看到正在连接 MySQL 的使用者名称及密码。 较安全的方法是将 MySQL 使用者名称及密码储存到家目录的 .my.cnf 档案,那便不用在 Shell Script …
以下是安装 MySQL 后可以尝试的优化项目,建议逐样项目修改,以检视每个项目的优化成效,而大部份的设定可以在运行中 MySQL 设定,不用重新启动 MySQL。 innodb_buffer_pool_size: 这个设定是 innodb 储存引擎数据库,所使用的资料及索引快取,根据内存的大小䀆量设定大一点,可以减低读取资料时从硬盘读取的次数。如果是独立的 MySQL 服务器,可以这样设定: 系统 8GB 内存: 5GB – 6GB 系统 32GB 内存: 20GB – 25GB 系统 128GB 内存: 100GB – …
今天将一台 CentOS 6 服务器内所有网站,輚移到另一台 CentOS 7,转移过程连同档案权限, owner 及 group 都一同复制,测试后发现多数网站都运作正常,唯独有用 PHP 建立的档案及目录便有写入失则的问题。 查看了档案的权限是正确的,但用 “ls -l” 查看那些出问题的档案及目录,看到 owner 不是显示 “apache”, 而是显示 “80”, 原来 CentOS 6 时 Apache 帐号的 uid 是 …
如果想对整个目录内所有档案及目录改变权限,可以用 chmod -R 实现,例如: $ chmod -R dir_name/ 644 以上指令会对 dir_name/ 目录及它的所有内容,改变权限为 644. 但如果要做到档案及目录设定不同权限,例如目录设定为 755, 档案设定为 644, 可以透过 find 指令来找出目录或档案,并用 -exec 参数执行 chmod 指令。 改变所有 dir_name/ 目录下所有目录的权限为 755: $ …
Shell Script 的 if / else 条件判断式会用 test 或者中括号 “” 表达,以下是 Shell Script 的 if / else 写法: if 写法: if / else 写法: if / else / else …