Linux系统优化
1. selinux 关闭
2. firewalld 关闭 iptables 关闭 都是防火墙
3. 网络管理服务关闭NetworkManager
NetworkManager通过nmcli管理网络
network通过修改配置文重启网卡
4. 时间同步
5. 添加普通用户 配置sudo
oldboy ALL=(ALL) NOPASSWD: ALL
6. ssh优化
/etc/ssh/sshd_config
修改默认端口
禁止root远程登入
优化ssh连接速度(禁止把IP解析对应域名)
优化内网进入
7. 优化yum源
8. 下载常用软件包
tree vim wget bash-completion bash-completion-extras lrzsz net-tools
sysstat iotop iftop htop unzip nc bc nmap telnet
9. 优化文件描述符数量65535
查询: nlimit -n
临时: nlimit -n65535
永久: echo '* - nofile 65535'>>/etc/security/limits.conf
10. 开机自启动 OS6
crond sysstat network rsyslog sshd
11.修改历史命令环境变量
export TMOUT=300 #timeout linux不进行任何操作 300s之后自动登出
export HISTFILE=1000 history 命令最多记录几条
export HISTFILESIZE=1000 history 历史记录的文件里面最多记录几条
export HISTCONTROL=ignorespace #控制history 命令如何记录 历史命令
#只要以空格开头的命令 history不记录
12.禁止被ping
net.ipv4.icmp_echo_ignore_all=1
echo "net.ipv4.icmp_echo_ignore_all=1" >> /etc/sysctl.conf
sysctl -p (生效)
nmap -p22 10.0.0.205 能查询端口是否开启,从而判断服务器是否开启
13.开启内核转发
echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
sysctl -p
Nginx优化
安全优化
1. 隐藏版本信息
2. 修改版本信息 (编译安装的时候把nginx名字替换)
3. 修改nginx工作进程用户信息
4. 优化nginx服务上传文件限制
5. 防盗链
$http_referer 用户从哪里跳转过来
利用cookie防盗链
6. 防爬虫优化
robots机器人协议防爬虫(君子协议)
$http_user_agent
程序开发验证码,发短信验证
性能优化
1. 修改nginx进程数量 (cpu2倍)
查询 lscpu top
inter 超线程技术
1个核心可以处理两件事情
2. 利用cpu亲和力进行优化,每个核心平均工作
4颗cpu 0001 0010 0100 1000
2颗cpu 0101 1010
worker_cpu_affinity auto;
worker_cpu_affinity auto;
使某进程运行在1,2核心
taskset -p 某进程号 -c 1,2
3. 优化nginx事件处理模型
4. 优化nginx单进程客户端连接数
5. 优化nginx服务进程打开文件数
6. 优化nginx服务超时信息
7. 配置nginx gzip压缩
8. 配置nginx客户端缓存
location ~ \.(gif|jpg|jpeg|png|bmp|ico)$ {
root /var/www/img/;
expires 30d;
}
9. cdn加速
日志优化
1. 日志文件切割
/etc/logrotate.d/nginx
2.Nginx站点目录及文件URL访问控制
禁止非法域名解析
限制用户访问
URI:统一资源标识符
URL:统一资源定位符
其他优化
1. nginx错误页面优雅显示
PHP优化
tmpfs基于内存的文件系统
mount -t tmpfs -o size=16m tmpfs /tmp
安装缓存插件:xcache eacceleratpr