Win10下ngnix的基本使用

Win10下ngnix的基本使用

  • 安装
  • 运行
  • 使用

安装

找一个适合你口味的版本下载,因为我想在Window下进行安装,所以我选择了一个带window标志的版本~下载下来后是一个压缩包,把它解压到指定的目录
Win10下ngnix的基本使用_第1张图片

运行

点击nginx.exe运行,默认端口是80,浏览器输入127.0.0.1或localhost加上端口号,即可出现nginx的首页。当然了,当我们的电脑配置了很多服务后,会出现端口占用的情况(我遇到了一个被系统进程占用的情况,杀也杀不掉,百度了一下发现其实是有其他服务占用的),此时的错误日志会在logs目录中error

使用

关于nginx的使用,我是在跨域的时候进行使用的,这个过程也是踩了很多的坑~前端用Vue打包了,后台提供了访问接口,首先,我们都知道nginx支持方向代理,那它是什么意思呢?

正向代理: 客户端非常明确要访问的服务器的地址,但由于安全等因素可能无法直接访问,此时有代理服务器代替客户端发送请求。

反向代理:客户端发送了请求,但不知道哪个服务器最终会去解决这个请求,因为由nginx代理接受了,nginx根据你的配置文件、
        再将请求转交给真正的服务器、从而实现保障内安全、或者实现一些负载均衡的操作。
# 运行用户
#user  nobody;

# 启动进程,通常设置成和CPU数量相等
worker_processes  1;

# 全局错误日志
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

# PID文件,记录当前启动的NGINX的进程ID
#pid        logs/nginx.pid;

# 工作模式及连接数上限
events {
    worker_connections  1024; # 单个后台worker process进程的最大并发链接数
}

# 设定http服务器,利用它的反向代理功能提供负载均衡支持
http {
    include       mime.types; # 表示支出邮件mine类型
    default_type  application/octet-stream;
	# 设定日志
    #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;
	
	# e4sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,
	# 对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 
	# off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
	
	# 当你有多个server时,你可能要设置这个参数,不然会启动不了,似乎该参数会影响nginx查找server name的速度
	server_names_hash_bucket_size 64; 
	
   # Nginx借助gzip提高页面加载速度,该参数有着更加详细的配置
    #gzip  on;
	
	# 根据需要可以配置多个server,其中,在location后面的
	# 路径表示拦截的路径,供前端调用
	server {
        listen       80; # nginx启动时的端口
        server_name  local.live.com;  # 自定义域名,你也可以使localhost,不过有多个server时
		                                  # 就需要多个域名了,此时,需要我们在host文件中自定义映射

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

       # 默认页,这里我修改为我的静态文件的位置,在访问local.live.com时会显示该路径下的index.html或者index.htm
		location / {
              index  index.html index.htm;
              root  F:/live-code/wechat-live-code/html/dist;
			  
              try_files $uri $uri/ /index.html;
        }
        # 拦截 以/api为结尾的路径
        location ^~ /api  {
	            #DemoBackend1后面的斜杠是一个关键,没有斜杠的话就会传递service到后端节点导致404
				# DemoBackend1为下面配置的负载均衡节点的路径
	            proxy_pass      http://DemoBackend1;
	            proxy_redirect  off;
	            proxy_set_header Host $host;
	            proxy_set_header X-Real-IP $remote_addr;
	            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	            proxy_set_header Upgrade $http_upgrade;
           		proxy_set_header Connection "upgrade";
	    }
	        

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
     #简单的(伪)负载均衡节点配置,同样可以设置多个,weight为权重
	 # 也是nginx默认的调度算法轮询
	 upstream DemoBackend1 {
		 server 127.0.0.1:8080 max_fails=1 fail_timeout=60s weight=1;
		 #server 127.0.0.1:8000 max_fails=1 fail_timeout=60s weight=2;
		 #ip_hash;
	 }

     #简单的负载均衡节点配置
	upstream backend {
		 server localhost:8068 max_fails=1 fail_timeout=60s;
		 server localhost:8069 max_fails=1 fail_timeout=60s;
		 #ip_hash;
	} 

}

你可能感兴趣的:(nginx)