查看原文
其他

【175期】Nginx 详细的 nginx.conf 配置清单,一篇足够用了!

Java精选 2022-08-09

点击上方“Java精选”,选择“设为星标”

别问别人为什么,多问自己凭什么!

下方有惊喜,留言必回,有问必答!

每天 08:35 更新文章,每天进步一点点...

Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务,其因丰富的功能集、稳定性、示例配置文件和低系统资源的消耗受到了开发者的欢迎。本文,我们总结了一些常用的 Nginx 配置代码,希望对大家有所帮助。

侦听端口

server {
    # Standard HTTP Protocol
    listen 80;
    # Standard HTTPS Protocol
    listen 443 ssl;
    # For http2
    listen 443 ssl http2;
    # Listen on 80 using IPv6
    listen [::]:80;
    # Listen only on using IPv6
    listen [::]:80 ipv6only=on;
}

推荐下自己做的 Spring Boot 的实战项目:

https://gitee.com/yoodb/jing-xuan

访问日志

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

域名

server {
    # Listen to yourdomain.com
    server_name yourdomain.com;
    # Listen to multiple domains  server_name yourdomain.com www.yourdomain.com;
    # Listen to all domains
    server_name *.yourdomain.com;
    # Listen to all top-level domains
    server_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;
        }

作者:vishnu chilamakuru

https://vishnu.hashnode.dev/nginx-cheatsheet

公众号“Java精选”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!
------ THE END ------

精品资料,超赞福利!


3000+ 道面试题在线刷,最新、最全 Java 面试题!

期往精选  点击标题可跳转

【167期】Java8 新特性:使用 Stream 流递归实现遍历树形结构

【168期】面试官问:如果 MySQL 的自增 ID 用完了,怎么办?

【169期】面试官问:说说为什么要限流,有哪些解决方案?

【170期】MySQL 定时备份数据库(非常全),值得收藏!

【171期】面试官问:Spring 注解 @After,@Around,@Before 的执行顺序是?

【172期】从 Spring 的生产环境到 Spring Cloud 的配置

【173期】面试官问:引入 RabbitMQ 后,你如何保证全链路数据 100% 不丢失?

【174期】面试官问:StringBuider 在什么条件下、如何使用效率更高?

技术交流群!

最近有很多人问,有没有读者&异性交流群,你懂的!想知道如何加入。加入方式很简单,有兴趣的同学,只需要点击下方卡片,回复“加群”,即可免费加入交流群!

文章有帮助的话,在看,转发吧!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存