Linux用户和组操作

Linux用户和组操作。

添加用户

添加用户`ftpuser`到组`ftp`并指定目录 `/opt/ftp`

# -s /sbin/nologin 表示不可通过SSH登录
/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser

MySQL数据库优化总结

MySQL数据库优化总结。

1. 尽量将多次查询放到一条SQL语句里执行,避免循环中的SQL查询,特别是数据库和网站分离时。

2. 对于left join,如果只是为了查询right表的某个字段,可选择使用配置文件来代替left join,将right的字段放入一个数组中,把数组序列化到一个文件中,需要用的时候反序列化,根据key查找value。

3. 使用数据库的内置函数

4. 只select用到的字段,而非select *

PHP站点被攻击时处理方案

攻击模式处理方案。

方案(阿里云)

1. MySQL RDS添加只读实例,开启读写分离,平时可预留低配实例备用
2. MySQL数据库配置 wait_timeout和 interactive_timeout为 5~10,以便超时自动释放连接,避免连接数过多的问题
3. WAF CC自定义规则,设置单ip规定时长的访问限制及封禁时长,可设置2~3个阶段
4. WAF精准控制规,主要是黑白名单

PHP SESSION心得

PHP SESSION心得:

1. 单台服务器时,`session.save_handler`用`files`,不要用`memcache`,不然 `session_start` 会有1%左右的机率出现严重耗时的情况。Redis未测试,应该也没有files快。

2. 多台服务器时,session可以存储在Memcache/Redis/Mysql中

3. 并发高时,应降低session回收机率,即配置 `session.gc_divisor`

4. 在PHP环境下,默认的 `session.lazy_write = On`无需禁用。不然也会出现1中的问题。

豫ICP备19001387号-1