Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务,其因丰富的功能集、稳定性、示例配置文件和低系统资源的消耗受到了开发者的欢迎。

本文,我们总结了一些常用的 Nginx 配置代码,希望对大家有所帮助。

侦听端口

server {# Standard HTTP Protocollisten 80;# Standard HTTPS Protocollisten 443 ssl;# For http2listen 443 ssl http2;# Listen on 80 using IPv6listen [::]:80;# Listen only on using IPv6listen [::]:80 ipv6only=on;
}

访问日志

server {# Relative or full path to log fileaccess_log /path/to/file.log;# Turn 'on' or 'off'access_log on;
}

域名

server {# Listen to yourdomain.comserver_name yourdomain.com;# Listen to multiple domainsserver_name yourdomain.com www.yourdomain.com;# Listen to all domainsserver_name *.yourdomain.com;# Listen to all top-level domainsserver_name yourdomain.*;# Listen to unspecified Hostnames (Listens to IP address itself)server_name "";}

静态资产

server {listen 80;server_name yourdomain.com;location / {root /path/to/website;}
}

重定向

server {listen 80;server_name www.yourdomain.com;return 301 http://yourdomain.com$request_uri;
}server {listen 80;server_name www.yourdomain.com;location /redirect-url {return 301 http://otherdomain.com;}
}

反向代理

server {listen 80;server_name yourdomain.com;location / {proxy_pass http://0.0.0.0:3000;# where 0.0.0.0:3000 is your application server (Ex: node.js) bound on 0.0.0.0 listening on port 3000}}

负载均衡

upstream node_js {server 0.0.0.0:3000;server 0.0.0.0:4000;server 123.131.121.122;
}server {listen 80;server_name yourdomain.com;location / {proxy_pass http://node_js;}
}

SSL 协议

server {listen 443 ssl;server_name yourdomain.com;ssl on;ssl_certificate /path/to/cert.pem;ssl_certificate_key /path/to/privatekey.pem;ssl_stapling on;ssl_stapling_verify on;ssl_trusted_certificate /path/to/fullchain.pem;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_session_timeout 1h;ssl_session_cache shared:SSL:50m;add_header Strict-Transport-Security max-age=15768000;
}# Permanent Redirect for HTTP to HTTPS
server {listen 80;server_name yourdomain.com;return 301 https://$host$request_uri;
}

其实可以采用可视化的方式对 Nginx 进行配置,我在 GitHub 上发现了一款可以一键生成 Nginx 配置的神器,相当给力。

先来看看它都支持什么功能的配置:反向代理、HTTPS、HTTP/2、IPv6, 缓存、WordPress、CDN、Node.js 支持、 Python (Django) 服务器等等。

如果你想在线进行配置,只需要打开网站:https://nginxconfig.io/,按照自己的需求进行操作就行了。

图片

选择你的场景,填写好参数,系统就会自动生成配置文件。

开源地址:

  • github.com/digitalocean/nginxconfig.io

网站:

  • digitalocean.com/community/tools/nginx

你应该知道的 Nginx 配置清单相关推荐

  1. nginx location 匹配 多个规则_你需要知道的Nginx配置二三事

    Nginx是俄罗斯人Igor Sysoev基于C语言编写的十分轻量级的HTTP服务器,它主要有以下特点: 它是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 ...

  2. Nginx 配置清单(一篇够用)

    欢迎关注方志朋的博客,回复"666"获面试宝典 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务,其因丰富的功能集 ...

  3. Nginx常用配置清单

    本文来说下Nginx常用配置清单 文章目录 概述 侦听端口 访问日志 域名 静态资源 重定向 反向代理 负载均衡 SSL协议 概述 Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同 ...

  4. 从一份配置清单详解Nginx服务器配置

    概述 在前面<Nginx服务器开箱体验> 一文中我们从开箱到体验,感受了一下Nginx服务器的魅力.Nginx是轻量级的高性能Web服务器,提供了诸如HTTP代理和反向代理.负载均衡.缓存 ...

  5. Nginx 常用配置清单

    点击关注公众号,Java干货及时送达 作者 | vishnu chilamakuru 来源 | https://vishnu.hashnode.dev/nginx-cheatsheet?guid=no ...

  6. 前端开发者应该知道的 Centos/Dokcer/Nginx/Node/Jenkins 操作( 长文)

    服务器作为开发的一环,并且现在非常多的商业公司部署在生产环境上的服务器都是CentOS系统! 让我们了解了解也在情理之中! 作为前端开发者,我们应该跳出自己的一亩三分地,跳出舒适区.扩大自己的技术广度 ...

  7. 开发者都应该知道的 Centos/Docker/Nginx/Node/Jenkins 操作(长文,建议收藏)

    来源:望道同学 https://juejin.cn/post/6951684431597797389 服务器作为开发的一环,并且现在非常多的商业公司部署在生产环境上的服务器都是CentOS系统! 让我 ...

  8. 前端开发者应该知道的 Centos/Docker/Nginx/Node/Jenkins 操作

    点击上方 程序员成长指北,关注公众号 回复1,加入高级 Node 进阶交流群 来源:ask_the_sky https://juejin.cn/post/6951684431597797389 服务器 ...

  9. 前端人应该知道的 Centos/Docker/Nginx/Node/Jenkins 的基本操作

    点击上方关注 前端技术江湖,一起学习,天天进步 来源:ask_the_sky https://juejin.cn/post/6951684431597797389 服务器作为开发的一环,并且现在非常多 ...

最新文章

  1. 安装linux系统报softlock,soft lockup 解决思路
  2. 利用max-height适应多尺寸屏幕的下拉动画
  3. 信息系统项目管理师之风险管理
  4. linux下基于lvs-dr模式的电子商务平台搭建
  5. ArrayList和LinkedList 的区别
  6. oracle11g session,Oracle11g中Killsession心得
  7. Python with上下文管理及自定义上下文管理
  8. 文件系统c语言程序,C语言程序设计(第8章 输入输出和文件系统)01
  9. SurfaceView实例
  10. while下有scanner循环比对,直至输入满足条件终止循环,equals,韩梅梅do...while不断努力走向chengg
  11. 升级AndroidX appcompat 1.2+版本导致多语言切换失败解决方案及问题分析
  12. vex编程语言是基于c语言,vex机器人编程软件 vex机器人大赛
  13. CH341驱动安装失败解决方法
  14. 【计算方法】解线性方程组的四种方法
  15. java 唐胡子_长沙.NET社区之光
  16. Bootstrap 格栅 row-cols-X row-cols-3 row-cols-5
  17. python选股接口_财码Python量化选股(三)选股分析
  18. 在linux中如何修改保存gun文件_Linux下文件重命名、创建、删除、修改及保存文件...
  19. 【路科V0】systemVerilog基础11——随机变量
  20. 动态规划——最长非降子序列

热门文章

  1. MPB:北大口腔陈峰、陈智滨等-​口腔微生物组研究主要取样部位及方法
  2. JCP:曝气生物滤池处理焦化废水过程中N2O和NO的产生机理与群落功能研究
  3. 扩增子三部曲:1分析图表解读大全(箱线,散点,热,曼哈顿,火山,韦恩,三元,网络)...
  4. SILVAngs:免费在线宏基因组扩增子分析系统
  5. R语言使用ggplot2包的快速可视化函数qplot绘制基础密度图实战
  6. matplotlib可视化去除轴标签、轴刻度线和轴刻度数值实战:Axis Text Ticks or Tick Labels
  7. 什么是数据库视图(view),视图(view)优缺点是什么?
  8. Plotly绘制金融时间序列图实战:配置滑动控件
  9. Linux中新建用户用不了sudo命令问题:rootr is not in the sudoers file.This incident will be reported解决
  10. linux 卡在grub_安装Linux系统,Ubuntu时卡在这个界面不动了,有3个小时了。。显示:“正在运行update_grub”......