Nginx 学习笔记(一)

复试被问到Nginx知识,没仔细研究过,回答的很不好,所以,立此贴 记录下学习过程!
1 什么是Nginx

        Nginx (engine x) 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。(源于百度)
其中肯定有个问题?什么是正向代理,什么是反向代理?   
        正向代理是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。用到的场景:比如,要访问国外的谷爹,自己不能直接访问,那么就找台能访问国外网站的服务器,通过向这个中间服务器 (这个中间服务器就是正向代理服务器),发起请求,获得谷爹的信息,这个就是利用正向代理进行访问。

反向代理,对于客户端而言代理服务器就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。自己的理解就是:代理服务器在客户端看来,好像就是我要访问的服务器,而实际上,代理服务器并不是自己给客户端提供服务,代理服务器用调用第三方服务器内容返回给客户端,所有,这个过程在客户端看来 就是反向

2  Nginx被用来干什么

    1.nginx是一个轻量级的服务器,由于其支持高并发的特性。常被用来当做分发处理用法请求的第一道关口。nginx作为反向代理服务器,建立一个服务器集群,增加这个应用的处理能力。


3 Nginx安装

    (请问度娘解决)


4 Nginx配置文件

#user  nobody;

#最大进程数 建议值为机器最大支持线程数
worker_processes  8;

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

#pid        logs/nginx.pid;


#最大连接数配置
events {
    worker_connections  1024;
}


http {
    include       mime.types;
    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 off; 
    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
	
	#负载均衡配置 1.默认是轮询(自上而下)
	upstream fzjh {
	
			#2.开启ip_hash 
			#ip_hash
			
			server 180.97.33.107;
			server 123.207.49.51;
			
			#3.权重法
			# server 180.97.33.107 weight=5; 则访问概率为50%
			# server 123.207.49.51 weight=4  则访问概率为40%
			# server 123.207.49.51 (默认为1)则访问概率为10%
			# 访问概率为 权重/总权重
	}
	
	
	#负载均衡配置
	server {
		listen 8100;
		server_name localhost;
		charset utf-8;
		location / {
			proxy_pass http://fzjh;
		}	
	}
	
	#静态代理配置
	server {
		listen 8200;
		server_name localhost;
		charset utf-8;
		location / {
			root html;
			index index.html;
			autoindex on;
			error_page  404 /404.html;
			error_page   500 502 503 504  /50x.html;
		}
		#缓存配置 静态资源缓存期限 30天
		location ~ *\.(jpg|png|jpeg|swf|gif)$ {
			expires 30d;
		}
		#缓存配置 css js 资源缓存期限 1h
		location ~ *\.(css|js)$ {
			expires 1h;
		}
	
	}
}

几个基本命令

1.启动nginx  (进入nginx目录下  点击nignx.exe图标)

    cmd 进入nginx目录   输入 nginx 敲回车

2 重启 nginx -s reload

3 退出 nginx -s quit  或者 nginx -s stop





你可能感兴趣的:(Nginx)