我整理了一份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的有帮助相关推荐

  1. 整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的...

    整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的 原文:整理关于牛人们对图书管理系统领域建模的精彩讨论,以此希望大家学习下别人是如何思考的 关于图书管理系统的业务大家 ...

  2. LiveVideoStack线上分享第三季(六):深度学习与视频编码

    深度学习赋予了诸如计算机视觉等领域新的研究契机,对于视频编码,其应用也获得了视频编码领域的诸多关注.6月29日20:00,LiveVideoStack线上分享第三季,第六期,北京大学信息技术学院,助理 ...

  3. 使用thinkPhp,修改线上数据库的配置,请删除 Runtime 中的所有内容后重试

    2019独角兽企业重金招聘Python工程师标准>>> 使用thinkPhp,修改线上数据库的配置,请删除 Runtime 中的所有内容后重试 转载于:https://my.osch ...

  4. 线上squid防火墙配置

    发现日志里好多垃圾日志:如 013/05/20 23:48:23 kid12| WARNING: CONNECT method received on http Accelerator port 80 ...

  5. YK线上机器redis配置(没有主从,单点,一致性哈希)

    在YK,redis机器环境默认都是8核128g内存,一般每个核启动一个redis实例,剩余内存不能太少.如我们这启动了8个进程,每个进程15g内存. 由于我们这个业务使用的缓存,不需要那么高的可靠性, ...

  6. 线上服务器Tomcat配置JVM参数

    环境 Tomcat8.5,jdk8 配置参数说明 -Xms:初始堆大小         -Xmx:最大堆大小         -XX:NewSize:设置年轻代大小         -XX:NewRa ...

  7. 线上开票系统设计实践

    导读:为响应国家号召,提升业务效率,更好的服务企业用户,云信于9月末上线了线上开票功能.本文主要介绍了发票相关的基本知识,以及如何实现线上开票功能,遇到的问题和解决方案. 文|璐西 夜雨 2020年9 ...

  8. LiveVideoStack线上分享第三季(一):低延迟线上K歌玩法的思考与实践

    今晚7:30,LiveVideoStack线上分享开启第三季,第一期嘉宾来自腾讯音乐全民K歌iOS团队技术负责人欧阳金凯,他会聊聊连麦技术的多种方案,以及在线上K歌场景下如何选择最佳的技术方案,最后会 ...

  9. 线上服务被干爆了,竟然是日志的锅!!

    本文要介绍的是一个发生在我们线上环境的真实案例,问题发生在某次大促期间,对我们的线上集群造成了比较大的影响,这篇文章简单复盘一下这个问题.问了方便大家理解,实际排查和解决过程可能和本文描述的并不完全一 ...

  10. 拍乐云推出业内首个「线上美术教学音视频方案」,打造极致互动体验

    在线教育因为其上课的时间地点便捷.名师资源共享和强大的教研能力,获得了越来越多学生和家长的青睐,教学生如何创造美的美术教育也被滚滚浪潮推向了线上.但无法面授,笔墨丹青如何一线牵?线上美术教学效果能不能 ...

最新文章

  1. mysql5.7 数据表的基本操作
  2. EIGRP 实验2: 邻居关系
  3. android两张图片切换,android recyclerview 切换列表视图
  4. [云炬创业学笔记]第一章创业是什么测试12
  5. 走在程序世界道路上的我___大一篇
  6. socket聊天室笔记
  7. 基于PyTorch重写sklearn,《现代大数据算法》
  8. arm9 安装java_QT5.7 AM1808 ARM9的交叉编译
  9. 作者:陈昕(1982-),女,博士,中国科学院计算机网络信息中心研究员
  10. 使用gulp+browser-sync搭建Sass自动化编译以及自动刷新所需要的插件
  11. Linux之route命令
  12. python发送邮件带附件_python 发送带附件邮件
  13. JavaWeb开发之网站实现文件上传功能
  14. 宝塔linux架设手游,守望黎明架-linux手工端设教程
  15. 【数据结构初阶-oj】入门二叉树的入门oj
  16. 快捷连接 残差_残差网络解决了什么问题
  17. PS制作搞笑印章 - 仿真印章 - 水印滤色
  18. 思维导图 基础篇(06)思维方法-曼陀罗思考法
  19. 【转】10种吓跑财神的漏财风水
  20. Ambiguous method overloading for method ****** 异常的解决办法

热门文章

  1. 抓住数字经济机遇 新华三助力客户加速转型
  2. 【SQL Server】CONVERT() 函数
  3. css02基本选择器
  4. ubuntu 的chmod 和 chown
  5. spark mlilib 聚类 混合高斯
  6. rails rake和示例
  7. ASP.NET(C#)常用数据加密和解密方法1
  8. [代码片断]SQL中解析XML数据
  9. 20一个自定义集合的自述
  10. springboot——pom.xml 配置文件的设置