我整理的一份来自于线上的Nginx配置(Nginx.conf),希望对学习Nginx的有帮助
我整理了一份Nginx的配置文件说明,是真正经历过正式线上考验过。如果有优化的地方,也请朋友们指点一二,整理出一份比较全而实用的配置。
主要包含配置:负载均衡配置,页面重定向,转发,HTTPS和HTTP的配置, 缓存优化,错误页面配置等。
#user nobody;
#工作进程,于CPU核数一致
worker_processes 2;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {# 设置可连接数worker_connections 2048;#优化同一时刻只有一个请求而避免多个睡眠进程被唤醒的设置,on为防止被同时唤醒,默认为off,因此nginx刚安装完以后要进行适当的优化。accept_mutex on;#打开同时接受多个新网络连接请求的功能multi_accept on;
}http {include mime.types;default_type application/octet-stream;#隐藏nginx的版本号server_tokens off;#日志格式log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#日志保存access_log logs/access.log main;sendfile on;tcp_nopush on;#保持连接超时时间keepalive_timeout 60;# 启动内容压缩,有效降低网络流量gzip on; # 过短的内容压缩效果不佳,压缩过程还会浪费系统资源gzip_min_length 1000;# 可选值1~9,压缩级别越高压缩率越高,但对系统性能要求越高gzip_comp_level 4;# 压缩的内容类别gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;# 静态文件缓存open_file_cache max=65535 inactive=20s;open_file_cache_valid 30s;open_file_cache_min_uses 2;#server {# listen 80;# server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;# location / {# root html;# index index.html index.htm;# }#error_page 404 /404.html;# redirect server error pages to the static page /50x.html## error_page 500 502 503 504 /50x.html;# location = /50x.html {# root html;# }# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}# }# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}#负载均衡 使用ip_hash策略,集群部署upstream raysonblog.cn {server 123.45.678.901:8081 weight=10 max_fails=1 fail_timeout=10s;server 123.45.678.902:8089 weight=5 max_fails=1 fail_timeout=10s;}# HTTPS serverserver {listen 443 ssl;server_name www.raysonblog.cn;# 开启 sslssl on;# 指定 ssl 证书路径ssl_certificate cert/www.raysonblog.cn_bundle.crt;# 指定私钥文件路径ssl_certificate_key cert/raysonblog.cn.key;ssl_session_timeout 5m;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_prefer_server_ciphers on;proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade; # 支持Websocketproxy_set_header Connection "upgrade"; # 支持Websocketproxy_set_header Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; # 真实用户访问协议proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_max_temp_file_size 0;# 配置缓存client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 18000;proxy_send_timeout 18000;proxy_read_timeout 18000;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;# 处理/项目名a/a.jsp重定向到/项目名b/b.jsplocation = /项目名a/a.jsp { rewrite . /项目名b/b.jsp permanent; # permanent 永久}location /项目名c { # 转发 proxy_pass http://127.0.0.1:8080/项目名c;} location /项目名d { #转发 proxy_pass http://127.0.0.1:8080/项目名d;} location /blog { # 负载均衡跟upstream 的配置一致proxy_pass http://raysonblog.cn/blog;}}# HTTP Server
server {# 服务名及配置,一个服务下可以有多个location用来表示不同的反向代理 listen 80; # 端口号 server_name www.raysonblog.cn; #主机名,默认是本主机 proxy_http_version 1.1;proxy_set_header Upgrade $http_upgrade;proxy_set_header Connection "upgrade";proxy_set_header Host $host:$server_port; proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-Proto $scheme; # 真实用户访问协议proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 18000;proxy_send_timeout 18000;proxy_read_timeout 18000;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;location = /MP_verify_1wqwq.txt {root weixin; #weixin是nginx目录下html文件里的weixin文件夹}# 处理/项目名a/a.jsp重定向到/项目名b/b.jsplocation = /项目名a/a.jsp { rewrite . /项目名b/b.jsp permanent; # permanent 永久}location /项目名c { # 转发 proxy_pass http://127.0.0.1:8080/项目名c;} location /项目名d { #转发 proxy_pass http://127.0.0.1:8080/项目名d;} location /blog { # 负载均衡跟upstream 的配置一致proxy_pass http://raysonblog.cn/blog;}
}}
后续也会继续完善此配置,大家在配置的时候,基本上可以满足应用了。。。
微信关注:“Java技术干货”,或扫下方二维码。即刻关注,不迷路。
转载于:https://www.cnblogs.com/werewolfBoy/p/11066021.html
我整理的一份来自于线上的Nginx配置(Nginx.conf),希望对学习Nginx的有帮助相关推荐
- 整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的...
整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的 原文:整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的 关于图书管理系统的业务大家 ...
- LiveVideoStack线上分享第三季(六):深度学习与视频编码
深度学习赋予了诸如计算机视觉等领域新的研究契机,对于视频编码,其应用也获得了视频编码领域的诸多关注.6月29日20:00,LiveVideoStack线上分享第三季,第六期,北京大学信息技术学院,助理 ...
- 使用thinkPhp,修改线上数据库的配置,请删除 Runtime 中的所有内容后重试
2019独角兽企业重金招聘Python工程师标准>>> 使用thinkPhp,修改线上数据库的配置,请删除 Runtime 中的所有内容后重试 转载于:https://my.osch ...
- 线上squid防火墙配置
发现日志里好多垃圾日志:如 013/05/20 23:48:23 kid12| WARNING: CONNECT method received on http Accelerator port 80 ...
- YK线上机器redis配置(没有主从,单点,一致性哈希)
在YK,redis机器环境默认都是8核128g内存,一般每个核启动一个redis实例,剩余内存不能太少.如我们这启动了8个进程,每个进程15g内存. 由于我们这个业务使用的缓存,不需要那么高的可靠性, ...
- 线上服务器Tomcat配置JVM参数
环境 Tomcat8.5,jdk8 配置参数说明 -Xms:初始堆大小 -Xmx:最大堆大小 -XX:NewSize:设置年轻代大小 -XX:NewRa ...
- 线上开票系统设计实践
导读:为响应国家号召,提升业务效率,更好的服务企业用户,云信于9月末上线了线上开票功能.本文主要介绍了发票相关的基本知识,以及如何实现线上开票功能,遇到的问题和解决方案. 文|璐西 夜雨 2020年9 ...
- LiveVideoStack线上分享第三季(一):低延迟线上K歌玩法的思考与实践
今晚7:30,LiveVideoStack线上分享开启第三季,第一期嘉宾来自腾讯音乐全民K歌iOS团队技术负责人欧阳金凯,他会聊聊连麦技术的多种方案,以及在线上K歌场景下如何选择最佳的技术方案,最后会 ...
- 线上服务被干爆了,竟然是日志的锅!!
本文要介绍的是一个发生在我们线上环境的真实案例,问题发生在某次大促期间,对我们的线上集群造成了比较大的影响,这篇文章简单复盘一下这个问题.问了方便大家理解,实际排查和解决过程可能和本文描述的并不完全一 ...
- 拍乐云推出业内首个「线上美术教学音视频方案」,打造极致互动体验
在线教育因为其上课的时间地点便捷.名师资源共享和强大的教研能力,获得了越来越多学生和家长的青睐,教学生如何创造美的美术教育也被滚滚浪潮推向了线上.但无法面授,笔墨丹青如何一线牵?线上美术教学效果能不能 ...
最新文章
- mysql5.7 数据表的基本操作
- EIGRP 实验2: 邻居关系
- android两张图片切换,android recyclerview 切换列表视图
- [云炬创业学笔记]第一章创业是什么测试12
- 走在程序世界道路上的我___大一篇
- socket聊天室笔记
- 基于PyTorch重写sklearn,《现代大数据算法》
- arm9 安装java_QT5.7 AM1808 ARM9的交叉编译
- 作者:陈昕(1982-),女,博士,中国科学院计算机网络信息中心研究员
- 使用gulp+browser-sync搭建Sass自动化编译以及自动刷新所需要的插件
- Linux之route命令
- python发送邮件带附件_python 发送带附件邮件
- JavaWeb开发之网站实现文件上传功能
- 宝塔linux架设手游,守望黎明架-linux手工端设教程
- 【数据结构初阶-oj】入门二叉树的入门oj
- 快捷连接 残差_残差网络解决了什么问题
- PS制作搞笑印章 - 仿真印章 - 水印滤色
- 思维导图 基础篇(06)思维方法-曼陀罗思考法
- 【转】10种吓跑财神的漏财风水
- Ambiguous method overloading for method ****** 异常的解决办法