(windows反向代理+负载均衡+理论知识)**Nginx反向代理服务器设置
1.下载并解压
下载地址:http://nginx.org/en/download.html

下载的压缩包nginx-1.16.0放到D盘,右键选择解压到当前文件夹。
2.修改conf配置文件
打开D:\nginx-1.16.0\conf目录下的nginx.conf文件,按下图进行配置(如果你不知道自己服务器的IP和端口号,请打开Internet Information Services (IIS)管理器oraclelis网站里)
#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
修改完保存ctrl+S
4.配置环境变量用dos命令启动nginx
在“我的电脑”上点击鼠标右键选择“属性”》“高级系统设置”》环境变量==》在系统环境变量里选择Path加入
D:\nginx-1.16.0
然后点击确认;
再打开D:\nginx-1.16.0文件夹按住shift+鼠标右键选择“在此次打开powershell窗口
输入nginx -t,出现如下提示则没问题
上述没问题后再输入:start nginx并且点击回车键执行启动nginx反向代理服务器
5.验证
在浏览器里输入:www.oraclelis.com
在浏览器显示出页面则成功了,如果显示下图的界面则失败!
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任务管理器的服务中查看该是否成功启动。
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、什么是代理服务器
代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
2、为什么要使用代理服务器
1)提高访问速度
由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存的作用,尤其对于热门站点能明显提高请求速度。
2)防火墙作用
由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息。
3)通过代理服务器访问不能访问的目标站点
互联网上有许多开发的代理服务器,客户机在访问受限时,可通过不受限的代理服务器访问目标站点,通俗说,我们使用的翻墙浏览器就是利用了代理服务器,虽然不能出国,但也可直接访问外网。
二、反向代理 VS 正向代理
1、什么是正向代理?什么是反向代理?
正向代理,架设在客户机与目标主机之间,只用于代理内部网络对Internet的连接请求,客户机必须指定代理服务器,并将本来要直接发送到Web服务器上的http请求发送到代理服务器中。
反向代理服务器架设在服务器端,通过缓冲经常被请求的页面来缓解服务器的工作量,将客户机请求转发给内部网络上的目标服务器;并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器与目标主机一起对外表现为一个服务器。
2、反向代理有哪些主要应用?
现在许多大型web网站都用到反向代理。除了可以防止外网对内网服务器的恶性攻击、缓存以减少服务器的压力和访问安全控制之外,还可以进行负载均衡,将用户请求分配给多个服务器。