centos7系统优化,nginx优化

本文档详细介绍了系统层面的优化策略,包括调整登录提示信息、病毒扫描、内核参数调优,以及Nginx的安全与性能优化,如版本信息修改、文件上传限制、跨域访问控制和缓存策略等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统优化

调整用户登录提示信息 /etc/motd
/etc/issue 和/etc/issue.net都是登陆系统前显示的欢迎信息
但是/etc/issue是本地终端登录时显示,而/etc/issue.net是远程登陆时显示的,且/etc/issue.net 不支持转义字符

yum install -y clamav clamav-data
clamscan -ri /oldboy/wordpress扫描病毒
freshclam更新病毒库

内核优化/proc/sys/
net.ipv4.ip_forward = 1是否开启内核转化
net.ipv4.icmp_echo_ignore_all=1是否允许被ping
net.ipv4.tcp_tw_recycle=1是否开启tcp回收功能
net.ipv4.tcp_tw_reuse=1是否开启tcp重复利用
vm.swapiness=0设置 系统是否优先使用物理内存数值越小优先使用物理内存

nginx安全优化

  • 修改nginx版本信息

./configure --prefix=/etc/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_dav_module

[root@cvm ~]# sed -n '13p;14p;22p' /app/nginx-1.16.1/src/core/nginx.h
#define NGINX_VERSION      "1.16.1"
#define NGINX_VER          "nginx/" NGINX_VERSION
#define NGINX_VAR          "NGINX"
[root@cvm ~]# sed -n '49p' /app/nginx-1.16.1/src/http/ngx_http_header_filter_module.c 
static u_char ngx_http_server_string[] = "Server: nginx" CRLF;
[root@cvm ~]# sed -n '36p' /app/nginx-1.16.1/src/http/ngx_http_special_response.c 
"<hr><center>nginx</center>" CRLF

server_tokens off;
  • 优化nginx上传文件限制client_max_body_size 100m;
    匹配上传文件目录的url,进行访问控制
  • 防盗链
    实现跨域访问
    add_header Access-Control-Allow-Origin 网址
    add_header Access-Control-Allow-Methods GET,POST,PUT,DELETE,OPTIONS;允许的操作
    防止盗用静态资源
    valid_referers none blocked server_names
    if ($invalid_referer) {
    return 403;
    }
  • nginx目录设置 目录权限755 文件权限644
  • robot协议
    匹配http_user_agent
  • method请求方式限制
  • 普通用户管理,修改为比1024大的端口
  • 控制连接数和速率
  • 禁止通过IP地址访问
  • 配置错误页面
  • https

nginx性能检测工具tsar

tsar --nginx  -l  -i  1  -s time,qps,active #i间隔时间l持续监控s选择的字段
#--cpu --men
#/etc/profile
export NGX_TSAR_HOST=172.16.1.xxx
export NGX_TSAR_PORT=8080
export NGX_TSAR_URI=/nginx_status
grep -n mod_nginx /etc/tsar/tsar.conf
34 mod_nginx on
  • 修改进程数和cpu亲和
    vim /etc/nginx/nginx.conf
    worker_processes auto;
    worker_cpu_affinity auto;
    worker_rlimit_nofile 35535;
  • 使用epoll模型
    events {
    use epoll; #限制每个进程能处理多少个连接请求,10240x16
    worker_connections 10240; }
  • 优化单进程客户端连接数量
    #限制每个进程能处理多少个连接请求,10240x16
    worker_connections 10240;
  • 优化服务进程打开文件数
    vim /etc/security/limits.conf文件描述符修改
    root soft nofile 65535提醒
    root hard nofile 65535限制
    * soft nofile 25535文件数配置项
  • 使用高效传输文件方式
    静态文件读取高效
    sendfile on;
    提高网络传输效率
    tcp_nopush on;在sendfile开启的情况下
    提高网络传输的实时性
    tcp_nodelay on;和nopush相反
  • gzip压缩
gzip on;
gzip_min_length 1k; #设置大于1K才进行压缩
gzip_buffers 4 16k; #设置压缩缓存
#gzip_http_version 1.0;
gzip_comp_level 2; #压缩级别 数字越大 压缩率(占用空间)越小占用CPU越多
gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php  ;
#哪些类型的文件 需要进行压缩
  • 浏览器缓存
add_header Cache-Control
no-cache:数据内容不被客户端缓存,每次请求都重新访问服务器,若有mac-age,则缓存期间不访问服务器
no-store:不仅不能缓存,连暂存也不可以(临时文件夹中不能暂存该资源)
private(默认):只能在浏览器中缓存,只有第一次请求的时候才访问服务器,若有max-age,则缓存期间不访问服务器
public:可以被任何缓存区缓存,如,浏览器,服务器,代理服务器等
max-age:相对过期试驾,即以秒为单位的缓存时间
no-cache,private:打开新窗口时候重新访问服务器,若设置max-age,则缓存期间不访问服务器
private,正数的max-age:后退的时候不会访问服务器
no-cache,正数的max-age:后退时候会访问服务器
点击刷新:无论如何都会访问服务器

Expires:
expires @15h30m;
设置以分钟为单位的绝对过期时间,优先级比Cache-Contro低,同时设置Expires和Cache-Control则后者生效;
  • 代理缓存
[root@proxy /etc/nginx/conf.d]# vim proxy.conf
# level=1:2缓存的层次结构为2层
# keys_zone缓存空间名称为code_cache:10m,大小为10兆
# max_size=10g最大文件缓存为10G,超过10GNginx的裁判机制会剔除不经常被访问的缓存
# inactive=60m该缓存60分钟内没被访问就把清理掉
# use_temp_path=off会生成一个临时的.tmp缓存,会和自己定义的/soft/cache缓存冲突,导致性能下降,先关闭掉

proxy_cache_path /soft/cache level=1:2 keys_zone=code_cache:10m max_size=10g inactive=60m use_temp_path=off;

upstream cache {
        server 192.168.1.17:8081;
        server 192.168.1.17:8082;
        server 192.168.1.17:8083;
}
	if ($request_uri ~ ^/(url3|login|register|passwd)) {
			set $cookie_nocache 1;
	}这四个路径下的资源不缓存
server {
        listen 80;
        location / {
                proxy_pass http://cache;
                proxy_cache code_cache;
                #proxy_no_cache $cookie_nocache $arg_nocache $arg_comment;
                #proxy_no_cache $http_pargma $http_authorization;
                # 状态码为200 304的缓存12小时
                proxy_cache_valid 200 304 12h;
                # 其余的缓存10分钟
                proxy_cache_valid any 10m;
                # response响应的头信息中定义缓存的状态(有没有命中)
                add_header Nginx-Cache "$upstream_cache_status";
        }
}

  • 连接数量不多时开启会降低负载
Syntax: 	multi_accept on | off;
Default:    multi_accept off;
Context:    events
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值