nginx常作为反向代理或负载均衡服务,前端业务数据缓存服务,提高静态资源的高并发并利用反向代理加速。在此前提下,一般来说nginx的优化一般有本文中阐述的几项。
echo "* soft nofile 65535" >> /etc/security/limits.conf
echo "* hard nofile 65535" >> /etc/security/limits.conf
echo "* soft nproc 65535" >> /etc/security/limits.conf
echo "* hard nproc 65535" >> /etc/security/limits.conf
1)全局配置
2)事件驱动模型配置
events {
...........
...........
}
3)http服务相关配置
http {
http服务全局配置
server { //虚拟主机
location { //匹配客户端访问请求,根据不同的请求做不同的响应
}
}
}
2. 全局配置
4. http服务相关配置
log_format main $remote_addr $remote_user [$time_local] "$request"
$status $body_bytes_sent "$http_referer"
"$http_user_agent" "$http_x_forwarded_for"
"$http_cookie" "$request_time" "$upstream_response_time"
"$upstream_addr" "$upstream_status";
gzip on; #开启压缩模块
gzip_min_length 4K; #允许压缩的页面最小字节数,默认值为0(建议设置大于1K,小于1K可能越压越大)
gzip_buffers 4 16K; #用于处理请求压缩的缓冲区数量和大小,申请4个16K的内存作为数据流缓冲
gzip_http_version 1.1; #用于设置识别http协议版本,默认为1.1
gzip_comp_level 2; #用来指定压缩比,1压缩比最小处理速度最快,9压缩比最大,传输速度快,处理慢,同时较耗费CPU资源
proxy_cache_path /nginx/cache/first levels-2:1:2 keys_zone=first:20m max_size=1G;
http {
limit_zone one $binary_remote_addr 10m;
server {
location /download/ {
limit_conn one 1;
}
http {
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
server {
location /search/ {
limit_req zone=one burst=5; #允许用户平均每秒不超过1个请求,突发不超过5个查询
}
}
}
location /status {
stub_status on; #开启该模块
access_log off;
allow ***.***.230.1; #允许访问的ip地址
deny all; #拒绝所有ip地址访问
}
proxy_pass http://itower;
proxy_redirect default; #默认配置为default,建议默认即可;如果设置off,则将禁止所有的proxy_redirect指令;
proxy_buffering off;
proxy_connect_timeout 600; #向后端服务器等待建立连接的超时时间; 单位s;
proxy_set_header Host $host:$server_port;
proxy_send_timeout 600; #向后端服务器发送write请求时等待的超时时间; 单位s;
proxy_read_timeout 600; #向后端服务器发送read请求时等待的超时时间; 单位s;
proxy_buffer_size 8k; #用于配置接收一次后端服务器的响应数据的proxy buffer的个数和每个buffer的大小;
proxy_cache first; #开启缓存,结合http块中的proxy_cache_path使用;
proxy_cache_vaild 200 1m; #表示为状态码为200的数据缓存1分钟,结合http块中的proxy_cache_path使用。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129618.html
摘要:配置如下指令是设定的工作模式及连接数上限。指令用来指定的工作模式。该参数默认是,建议开启。配置进程的最大打开文件数调整配置进程的最大打开文件数,这个控制连接数的参数为。但副作用是资源更新可能无法及时。 工作上,需要配置 Nginx,要投入生产使用,做了一点优化工作,加上以前也经常折腾 Nginx,故记下一些优化工作。 优化 Nginx 进程数量 配置参数如下: worker_proce...
摘要:本文主要从以下几点讲解如何优化,以增强高并场景中的吞吐量。系统可通过命令查看核数,假如为,则指单个进程能并发处理的最大连接数,包含了所有的链接不仅仅来源于客户端,默认值是,在一些瞬间并发量较高的场景中,这个值是远远不够用的。 本文主要从以下几点讲解如何优化Nginx,以增强高并场景中Nginx的吞吐量。 调整worker_processes和worker_connections参数 ...
摘要:使用了多路复用技术的,就成了并发事件驱动的服务器。进程主要负责收集分发请求。同时进程也负责监控的状态,保证高可靠性进程一般设置为跟核心数一致。所以才使得支持更高的并发。配置调优调整指要生成的数量最佳实践是每个运行个工作进程。 Nginx 是如何实现高并发的? Nginx 采用的是多进程(单线程) & 多路IO复用模型。使用了 I/O 多路复用技术的 Nginx,就成了并发事件驱动的服务...
摘要:优化删除自带的不必要的文件是有必要的,最大限度保证系统安全。所以我们要对进行必要的修改,让等待数据库启动完毕再启动。 showImg(https://segmentfault.com/img/remote/1460000014711637?w=1010&h=276); 本文是钢哥的Oracle APEX系列文章中的第五篇,完整 Oracle APEX 系列文章如下: Oracle A...
阅读 1346·2023-01-11 13:20
阅读 1684·2023-01-11 13:20
阅读 1132·2023-01-11 13:20
阅读 1858·2023-01-11 13:20
阅读 4100·2023-01-11 13:20
阅读 2704·2023-01-11 13:20
阅读 1385·2023-01-11 13:20
阅读 3595·2023-01-11 13:20