10.Nginx配置

原文链接:https://github.com/helloyoucan/knowledge

worker_processes  1; #开启的进程数,默认1

events {
    worker_connections  1024; #每个worker进程的最大连接数
}
http {
    sendfile         on;# 使用sendfile系统调用来传输文件
    #(1)tcp_nodelay off,会增加通信的延时,但是会提高带宽利用率。在高延时、数据量大的通信场景中应该会有不错的效果
    #(2)tcp_nodelay on,会增加小包的数量,但是可以提高响应速度。在及时性高的通信场景中应该会有不错的效果
    tcp_nodelay       on;
    keepalive_timeout  30;#client的keep-alive连接超时时间,这里30是3秒
    include /etc/nginx/mime.types; #导入配置
    default_type application/octet-stream;#请求的文件木有在服务器中定义mime类型映射,使用default_type
    gzip on;#gzip 压缩Nginx实时文件
    gzip_static on;#优先发生.gz的文件,找不到则再进行gzip压缩,以避免重复的压缩无谓的消耗资源
    server {
        listen 8080; # listen命令设置nginx监听地址,对于IP协议,这个地址就是address和port,对于UNIX域套接字协议,这个地址就是path,一条listen指令只能指定一个address或者port,address也可以是主机名
        server_name localhost; #指示服务器的所有名称
        root /usr/share/nginx/app; #指定请求的文档根目录
        autoindex on;#Nginx默认是不允许列出整个目录的,启用这个可以打开目录浏览功能
        autoindex_exact_size off; #on:显示出文件的确切大小,单位是bytes;off:显示出文件的大概大小,单位是kB或者MB或者GB
        autoindex_localtime on; #off:显示的文件时间为GMT时间;on:显示的文件时间为文件的服务器时间
        location / { #通过指定模式来与客户端请求的URI相匹配;基本语法如下:location [=|~|~*|^~|@] pattern{……}
            #需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
            # $uri:这个变量指当前的请求URI,不包括任何参数(见$args)
            try_files $uri $uri/ @router; #按顺序检查文件是否存在,返回第一个找到的文件。结尾的斜线表示为文件夹 -$uri/。如果所有的文件都找不到,会进行一个内部重定向到最后一个参数。
            index  index.html index.htm;
         }
         #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
         #因此需要rewrite到index.html中,然后交给路由在处理请求资源
         location @router {
            rewrite ^.*$ /index.html last; #实现URL重定向的重要指令,他根据regex(正则表达式)来匹配内容跳转到replacement,结尾是flag标记
         }
         location ^~/graphql/ {
            proxy_pass http://47.107.168.243:9090/; #后端代理的指令;要提供域名或ip地址和端口外,还需要提供协议
         }
    }
}

你可能感兴趣的:(10.Nginx配置)