Skip to main content

moregeek program

nginx高并发优化之模板-多极客编程

下面的Nginx.conf实现nginx在前端做反向代理服务器的完整配置文件的例子,处理js、png等静态文件,jsp/php等动态请求转发到其它服务器tomcat/apache
user www www;
worker_processes auto;
worker_cpu_affinity auto;
error_log logs/error.log;
worker_rlimit_nofile 102400;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 102400;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
'"$upstream_cache_status"';
access_log logs/access.log main;
server_tokens off;
sendfile on;
tcp_nopush on;
keepalive_timeout 65;
#Compression Settings
gzip on;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_proxied any;
gzip_min_length 1k;
gzip_buffers 16 8k;
gzip_types text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
#end gzip
# http_proxy Settings
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 75;
proxy_send_timeout 75;
proxy_read_timeout 75;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_buffering on;
proxy_temp_path /usr/local/nginx1.10/proxy_temp;
proxy_cache_path /usr/local/nginx1.10/proxy_cache levels=1:2 keys_zone=my-cache:100m max_size=1000m inactive=600m max_size=2g;
#load balance Settings
upstream backend {
hash $remote_addr consistent;
server 192.168.31.141:80 weight=1 max_fails=2 fail_timeout=10s;
server 192.168.31.250:80 weight=1 max_fails=2 fail_timeout=10s;
}
#virtual host Settings
server {
listen 80;
server_name localhost;
charset utf-8;
location ~/purge(/.*) {
allow 127.0.0.1;
allow 192.168.31.0/24;
deny all;
proxy_cache_purge my-cache $host$1$is_args$args;
}
location / {
index index.php index.html index.htm;
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_ignore_headers Set-Cookie;
proxy_hide_header Set-Cookie;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}
location ~ .*\.(gif|jpg|png|html|htm|css|js|ico|swf|pdf)(.*) {
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_cache my-cache;
add_header Nginx-Cache $upstream_cache_status;
proxy_cache_valid 200 304 301 302 8h;
proxy_cache_valid 404 1m;
proxy_cache_valid any 1d;
proxy_cache_key $host$uri$is_args$args;
expires 30d;
access_log off;
}
location /nginx_status {
stub_status on;
access_log off;
allow 192.168.31.0/24;
deny all;
}
}
}

$upstream_cache_status这个变量来显示缓存的状态,我们可以在配置中添加一个http头来显示这一状态,
$upstream_cache_status包含以下几种状态:
·MISS 未命中,请求被传送到后端
·HIT 缓存命中
·EXPIRED 缓存已经过期请求被传送到后端
·UPDATING 正在更新缓存,将使用旧的应答
·STALE 后端将得到过期的应答
expires : 在响应头里设置Expires:或Cache-Control:max-age,返回给客户端的浏览器缓存失效时间。

©著作权归作者所有:来自51CTO博客作者哭泣的馒头的原创作品,请联系作者获取转载授权,否则将追究法律责任

elasticsearch集群安装-多极客编程

1、前置条件,服务器必须安装了JDK环境可使用java -version或 rpm -qa | grep jdk 验证服务器是否安装了JDK由于之前已安装过,所以这里略过。2、上传elasticsearch-7.2.0-linux-x86_64.tar.gz、kibana-7.2.0-linux-x86_64.tar.gz、node-v10.15.0-linux-x64.tar.xz 、elast

1. drf前奏-多极客编程

DRF前奏 DRF大纲 Django的基本使用 前后端分离开发模式 前后端分离前 前后端分离前: 前端页面看到的效果都是由后端控制,即后端渲染HTML页面,前端与后端的耦合度很高 前后端分离前存在的问题 PC,APP,Pad多端流行 前后端开发职责不清晰: 各司其职,最大程度减少开发难度,方便协作 开发效率问题: 一般后端开发需要等前端页面准备好,有时候前端也一直配合后端,能力受限 前

使用kubeadm安装k8s集群(v1.18.0)-多极客编程

一、安装环境系统[root@master1 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)[root@master1 ~]# uname -aLinux master1 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x

34-ansible常用playbook和大型项目role角色拆分-多极客编程

yaml简单示例#格式要求 在单一文件第一行,用连续三个连字号"-" 开始,还有选择性的连续三个点号( ... )用来表示文件的结尾 次行开始正常写Playbook的内容,一般建议写明该Playbook的功能 使用#号注释代码 缩进的级别也必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换 行来实现的 缩进不支持tab,必须使用空格进行缩

docker开启tls认证-多极客编程

变更内容:修复Docker远程API调用漏洞,启用TLS认证1、执行脚本生成证书文件cat cert.sh#创建 Docker TLS 证书#!/bin/bash #相关配置信息:SERVER=${HOSTNAME}PASSWORD="pass@3"COUNTRY="CN"STATE="上海"CITY="上海"ORGANIZATION="pass"ORGANIZATIONAL_UNIT="pass

nginx四层负载均衡配置模板-多极客编程

一、模板1、nginx模板user nginx nginx;#cpu核数上百,设置成auto最方便worker_processes auto;worker_cpu_affinity auto;error_log logs/error.log;worker_rlimit_nofile 102400;pid logs/nginx.pid;events { use epoll;

linux下如何安装mysql?-多极客编程

目标主机:centos8 MySQL 安装 所有平台的 MySQL 下载地址为:https://dev.mysql.com/downloads/repo/yum/。 挑选你需要的 MySQL Community Server 版本及对应的平台。 注意:安装过程我们需要通过开启管理员权限来安装,否则会由于权限不足导致无法安装。 安装前,我们可以检测系统是否自带安装 MySQL: rpm -qa |

elasticsearch集群安装-多极客编程

1、前置条件,服务器必须安装了JDK环境可使用java -version或 rpm -qa | grep jdk 验证服务器是否安装了JDK由于之前已安装过,所以这里略过。2、上传elasticsearch-7.2.0-linux-x86_64.tar.gz、kibana-7.2.0-linux-x86_64.tar.gz、node-v10.15.0-linux-x64.tar.xz 、elast

centos7.5安装redmine-3.4.6-5-多极客编程

1.下载redmine​​https://downloads.bitnami.com/files/stacks/redmine/3.4.6-5/bitnami-redmine-3.4.6-5-linux-x64-installer.run  ​​2.删除mariadbyum remove mariadb-libs-5.5.56-2.el7.x86_643.安装依赖yum install -y pe

34-ansible常用playbook和大型项目role角色拆分-多极客编程

yaml简单示例#格式要求 在单一文件第一行,用连续三个连字号"-" 开始,还有选择性的连续三个点号( ... )用来表示文件的结尾 次行开始正常写Playbook的内容,一般建议写明该Playbook的功能 使用#号注释代码 缩进的级别也必须是一致的,同样的缩进代表同样的级别,程序判别配置的级别是通过缩进结合换 行来实现的 缩进不支持tab,必须使用空格进行缩

srv6的四种部署场景-多极客编程

SRv6可以应用于单个网络域,如IP骨干网、城域网、移动承载网和数据中心等单自治域网络,也可以应用于端到端网络,如跨域VPN和运营商的运营商。一、IP骨干网中的部署场景SRv6网络在IP骨干网中可以用于承载全业务,包括上网业务、专线业务、语音业务等。不同业务的SLA需求各不相同,可根据具体的业务需求选择使用SRv6 BE路径或者SRv6 TE隧道承载。例如,上网业务和普通专线可以采用SRv6 BE

docker开启tls认证-多极客编程

变更内容:修复Docker远程API调用漏洞,启用TLS认证1、执行脚本生成证书文件cat cert.sh#创建 Docker TLS 证书#!/bin/bash #相关配置信息:SERVER=${HOSTNAME}PASSWORD="pass@3"COUNTRY="CN"STATE="上海"CITY="上海"ORGANIZATION="pass"ORGANIZATIONAL_UNIT="pass