前端nginx知多少

177 阅读2分钟

1. 前言

lz去年毕业入职前,一直没接触过后台的东西。工作一年时间,从对nginx的一无所知,到现在的一知半解,哈哈。这里只总结了平时工作中用到的一些知识,大前端的趋势下,不了解点nginx真的说不过去啦。

2. nginx主要功能

首先,我们可能都知道nginx只要有一下几个方面的功能:

  • 负载均衡
  • 反向代理
  • https

负载均衡

负载均衡就是在客户端和服务端加一个负载均衡解析器,nginx就是这个解析器。当客户端向服务端发起请求时,先到解析器,解析器判断哪台服务器比较空闲就将请求转发到这台服务器上,减少使用并发请求同一台服务器的压力。如果一台服务器出现问题,另一台服务正常,也能保证我们的网站正常使用。

nginx.conf

upstream tomcat_serve {

    server 192.168.1.2:8996

    server 192.168.1.3:8995

}

反向代理

反向代理主要是解决跨域问题,匹配到资源时,将请求转发到另一台服务器上。

nginx.conf

server {
    listen       80;    
    server_name  test.qq.com;     // 域名地址
    
     root html;
     index  index.htm  index.html;   //默认主页
     
     location / {
    }
                
    location /api {         //匹配到/api开头的接口时,转发到下面的服务器地址
        root   html;  
        proxy_pass  http://tomcat_serve/api;    //服务器地址      
    }  
                               
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|apk|tar.gz)$
    {
           expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
           expires      12h;
    }
}

https

server {
    listen       443;     // https
    server_name  test.qq.com;     // 域名地址
    
    ssl                  on;
           ssl_certificate      /data/crt/test.qq.com.222.crt; // 证书在服务器上的存放路径
           ssl_certificate_key  /data/crt/test.qq.com.222.key; // 密钥在服务器上的存放路径
    
    root html;
    index  index.htm  index.html;   //默认主页

    location / {
    }
                
    location /api {         //匹配到/api开头的接口时,转发到下面的服务器地址
        root   html;  
        proxy_pass  http://tomcat_serve/api;    //服务器地址      
    }  
                               
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|apk|tar.gz)$
    {
           expires      30d;
    }

    location ~ .*\.(js|css)?$
    {
           expires      12h;
    }
}

3. 常用命令

在nignx的sbin目录下

./nignx -t //检查nginx配置文件是否正确

./nignx -s reload // 重启nginx