天天看点

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

(windows反向代理+负载均衡+理论知识)**Nginx反向代理服务器设置

1.下载并解压

下载地址:http://nginx.org/en/download.html

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

下载的压缩包nginx-1.16.0放到D盘,右键选择解压到当前文件夹。

2.修改conf配置文件

打开D:\nginx-1.16.0\conf目录下的nginx.conf文件,按下图进行配置(如果你不知道自己服务器的IP和端口号,请打开Internet Information Services (IIS)管理器oraclelis网站里)

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置
(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置
(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置
#user  nobody;    #运行用户
worker_processes  1;    #启动进程,通常设置成和cpu的数量相等


#全局错误日志
error_log  D:/nginx/logs/error.log;   #存放日志文件的路径,一般放在安装nginx目录下的logs里
error_log  D:/nginx/logs/notice.log  notice;
error_log  D:/nginx/logs/info.log  info;


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

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


#设定http服务器
http {
    include       mime.types;	#设定mime类型,类型由mime.type文件定义
    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;
	rewrite_log     on;
	
    #sendfile        on;   #指令指定 nginx 是否调用 sendfile 函数(zero copy)来输出文件,对于普通应用,
	 #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
    #tcp_nopush     on;


    #连接超时时间
    keepalive_timeout  120;  #连接超时时间
	tcp_nodelay        on;
	
	#gzip压缩开关
    #gzip  on;
	
	 #设定实际的服务器列表 
    upstream lis_server{
        server 服务器IP:端口号;
    }
	
	#HTTP服务器
	server {
	    listen 80;    #侦听80端口
	    server_name www.oraclelis.com;    # 这是外网访问进来时的连接地址
		
		#首页
        index index.html
		
		
		#编码格式
        charset utf-8;
		
		#代理配置参数
	    proxy_connect_timeout 180;
        proxy_send_timeout 180;
        proxy_read_timeout 180;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarder-For $remote_addr;
		
		#反向代理的路径(和upstream绑定),location 后面设置映射的路径
        location / {
            proxy_pass http://lis_server;
        }
		
	   # 静态文件,nginx自己处理
       # location ~ ^/(images|javascript|js|css|flash|media|static)/ {
       #     root D:\nginx-1.16.0\exp_location;
       #     #过期30天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。
       #     expires 30d;
       # }
		
		#设定查看Nginx状态的地址
        location /NginxStatus {
            stub_status           on;
            access_log            on;
            auth_basic            "NginxStatus";
            auth_basic_user_file  conf/htpasswd;
        }
		
		#禁止访问 .htxxx 文件
        location ~ /\.ht {
            deny all;
        }
	}
}
           

复制上面写入到nginx.conf文件里并且看截图的注意事项,解决后后保存ctrl+S

3.修改hosts文件

打开C:\Windows\System32\drivers\etc下的hosts

加入图下的内容(在cmd里输入ipconfig找到“IPv4 地址”查看右侧的ip,即为本机电脑的ip):

目标服务器的IP www.oraclelis.com

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

修改完保存ctrl+S

4.配置环境变量用dos命令启动nginx

在“我的电脑”上点击鼠标右键选择“属性”》“高级系统设置”》环境变量==》在系统环境变量里选择Path加入

D:\nginx-1.16.0

然后点击确认;

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

再打开D:\nginx-1.16.0文件夹按住shift+鼠标右键选择“在此次打开powershell窗口

输入nginx -t,出现如下提示则没问题

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

上述没问题后再输入:start nginx并且点击回车键执行启动nginx反向代理服务器

5.验证

在浏览器里输入:www.oraclelis.com

在浏览器显示出页面则成功了,如果显示下图的界面则失败!

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

6.设置成系统进程开机自启

下载winsw-2.0.2-bin.exe :http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.0.2/

然后放在D:\nginx-1.16.0重命名为nginx-service.exe在该目录下新建 nginx-service.xml 文件,写入配置信息,配置好了之后就可以通过这个将Nginx注册为Windows服务。

nginx-service.xml写入:

nginx nginx nginx D:nginx-1.16.0\ roll D:nginx-1.16.0\nginx.exe D:nginx-1.16.0\nginx.exe -s stop

写入保存后,用系统管理员运行powershell窗口跳转到nginx路径下输入DOS命令:

.\nginx-service.exe install 就成功将其注册为Windows服务了,然后运行

.\nginx-service.exe start 启动服务。这时我们可以在Windows任务管理器的服务中查看该是否成功启动。

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

7额外的命令

如果需要停用nginx则在D:\nginx-1.16.0文件夹按住shift+鼠标右键选择“在此次打开powershell窗口“,输入DOS命令。

nginx -s stop

注:

nginx-service.exe install 命令可注册对应的系统服务

nginx-service.exe uninstall 命令可删除对应的系统服务

nginx-service.exe stop 命令可停止对应的系统服务

nginx-service.exe start 命令可启动对应的系统服务

Nginx正向代理服务器设置

1.配置

#正向代理
	server {
        listen       822;
		listen       443 ssl;
        server_name www.baidu.com baidu.com; #填写绑定证书的域名
        #ssl on;
        #ssl_certificate www.baidu.com_bundle.crt; #证书在conf文件同级;
        ssl_certificate_key 2_www.baidu.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
        ssl_prefer_server_ciphers on;
 
		location / {
			proxy_pass http://127.0.0.1:802; #转发到本机项目端口
        }
 
}

           

反向代理服务器简介

一、代理服务器

1、什么是代理服务器

代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

2、为什么要使用代理服务器

1)提高访问速度

由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。

2)防火墙作用

由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。

3)通过代理服务器访问不能访问的目标站点

互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的翻墙浏览器就是利用了代理服务器,虽然不能出国,但也可直接访问外网。

二、反向代理 VS 正向代理

1、什么是正向代理?什么是反向代理?

正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。

(windows反向代理+负载均衡+理论知识)Nginx反向代理服务器设置

2、反向代理有哪些主要应用?

现在许多大型web网站都用到反向代理。除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,还可以进行负载均衡,将用户请求分配给多个服务器。

继续阅读