nginx免安装版资源,config配置详解

前言:今天给同事看他本地nginx的报错,虽然我也是半吊子,但觉得可能还是配置问题,所以把配置捋了一遍,做个学习记录,也希望能帮到有需要的人,如有错误感谢指出。


资源介绍

1、资源下载地址:https://download.csdn.net/download/jinxin740202/13122489

2、目录结构如下:

在这里插入图片描述


一、目录结构介绍

conf: 配置文件夹,存放配置文件,下面的配置在此文件夹里面,文件名为nginx.conf
contrib:存放一些实用工具
docs:文档文件夹,存放相关文档
html:页面文件夹,存放一些默认页面,如index, 404, 500等。在我的nginx资源里放的 是打包后的vue项目
logs:日志文件夹,存放一些错误日志或运行日志等其他
temp:临时文件夹,存放临时文件
.bat:批处理命令

二、配置详解

1.nginx中文文档:https://www.nginx.cn/doc/

中文文档里面介绍了详细的模块配置、安装方法、配置实例,分的很详细;
对于刚接触的我们直接看官网可能会比较难找到对应的配置,甚至迷茫,可以先通过看一些别人的总结再来看中文文档可能会没那么头大。

2.nginx location配置语法:https://blog.csdn.net/qq_33862644/article/details/79337348

要能灵活更改配置,还是要了解一下语法配置的规则,推荐一下上面这篇博客,觉得写的很详细,看完之后在看下面的配置和去看中文文档会更加容易上手。

3.nginx.conf配置

配置如下(示例):


#user  nobody;
worker_processes  1;#设置值和CPU核心数一值

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#nginx运行启动后就会生成这个标志文件,记录nginx主进程的ID号
#pid   logs/nginx.pid; 

# events 详解可参考该网址https://blog.csdn.net/u010832551/article/details/85160336 
events {
    worker_connections  1024;#最大连接数
}


http {
	#mime.types:我们要了解浏览器是如何处理内容的。在浏览器中显示的内容有 HTML、有 XML、有 GIF、还有 Flash ……那么,浏览器是如何区分它们,决定什么内容用什么形式来显示呢?答案是 MIME Type,也就是该资源的媒体类型。mime type定义的对应关系来告诉浏览器如何处理服务器传给浏览器的这个文件,是打开还是下载。文件扩展名与文件类型映射表
    include       mime.types; 
    default_type  application/octet-stream;#nginx默认文件类型
    # websocke开启与配置 参考博客:https://blog.csdn.net/u011411069/article/details/98475433
    map $http_upgrade $connection_upgrade {
        default upgrade;
        '' close;
    }
    #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  0;
    keepalive_timeout  65;

    gzip  on;
    # gzip_buffers 4K|8K 缓冲(和硬盘块相当)
    gzip_buffers 4 8K;
    # gzip_comp_level [1-9] 推荐6,越大压缩的越小
    gzip_comp_level 6;
    # gzip_disable 正则匹配UA
    gzip_min_length 2k;
    # gzip_http_version 1.0|1.1;
    # gzip_proxied
    gzip_types text/plain,application/xml;
    # gzip_vary on|off
	# 定义一组服务器
    upstream jinxin{
        hash $remote_addr consistent;
		server 192.168.79.57:8080; #请求的服务器端地址
    }

	#下面是server虚拟主机的配置
    server {
        listen       8081;#监听端口号
        server_name  localhost;#域名,填写本机的IP地址eg:192.168.79.69
		root html;#站点目录
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

		#http
		location ^~ /api/{
            proxy_pass http://jinxin/api/;
        }

        location  ^~ /report/ {
            proxy_pass http://jinxin/;
        }
        
		#websoket
        location  ^~ /ws/ {
            proxy_pass http://jinxin/;
            proxy_set_header Host $host:$server_port;
            proxy_http_version 1.1; 
            proxy_connect_timeout 4s;                #配置点1
            proxy_read_timeout 600s;                  #配置点2,如果没效,可以考虑这个时间配置长一点
            proxy_send_timeout 12s;                  #配置点3
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
        }
        #nginx 获取到url  

		#1.找server_name
		
		#2.找locationpipei
		
		如果没有找index默认的文件
		
		如果没有直接404
		
		有的话加上默认的index.* 重新寻找匹配的location
		
		如果有进入执行try_files
		
		3.查找try_files 是否有相应的文件
		
		如果没有直接重定向最后一项
		location /cost{
			#系统
			try_files $uri $uri/ /cost/index.html;
			index index.html;
			#nginx设置不使用缓存
			add_header Cache-Control no-cache;
        }
        error_page   500 502 503 504  /test.html;
        location = /test.html {
            root   html;
        }

    }
}

三、使用步骤

1、下载nginx
2、在html文件中放入一些默认页面,我放的就是打包后的vue项目
3、修改配置

(1)、定义一组服务器
upstream jinxin{
hash $remote_addr consistent;
server 192.168.79.57:8080; #请求的服务器端地址
}
(2)、server配置
location ^~ /api/{
proxy_pass http://jinxin/api/;
}


四、总结

try_files $uri $uri/ /cost/index.html;

nginx 获取到url

1.找server_name

2.找location pipei

如果没有找index默认的文件

如果没有直接404

有的话加上默认的index.* 重新寻找匹配的location

如果有进入执行try_files

3.查找try_files 是否有相应的文件

如果没有直接重定向最后一项

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值