反向代理说明 --用户只知道反向代理服务器(域名)不知道也无需知道真正的服务器,用户只要获取到他想要的数据即可!!
正向代理,意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。一般是客户端无法直接访问到目标服务器才使用正向代理,让正向代理服务器(它能连接到目标服务器)去链接目标服务器获取数据。–目标服务器只知道正向代理服务器从它那获取了数据而并不会知道真实需要数据的客户端,从而保护了客户端信息!!–一般条件下网络通讯时会使用正向代理.
Nginx(反向代理服务器) 特点:
1.内存少 不超过2M tomcat服务器启动 300-500M
2.并发能力强 并发3万-5万次 tomcat并发 150-220之间
3.Nginx使用C语言开发. --底层语言开发特点-速度快!!
Nginx安装和下载
windows中安装(解压后双击安装–下一步下一步即可…)注意事项:
1.Nginx服务器启动时会占用80端口.
2.Nginx服务安装时不要出现中文+空格问题 windows中尽量不要安装在C盘.
3.Nginx底层开发是用C语言写的,.所以注释 使用#号 独占一行完成注释
nginx命令
命令:
启动命令: start nginx
重启命令: nginx -s reload
关闭命令: nginx -s stop
conf目录里面nginx.conf配置文件 --配置代理及跳转的信息
# nginx 需要使用http/https协议的
http {
#反向代理服务 一个服务就是一个server
server {
# nginx监听的端口号 默认监听80端口
listen 80;
server_name localhost;
# 反向代理实现 / 代表拦截所有请求
location / {
# root 转向到目录中 html index 默认访问页面
#root 代表文件目录
#index 代表默认的访问页面
#proxy_pass 代表发起url请求
root html;
index index.html index.htm;
}
}
#配置图片服务器 一个服务就是一个server
server{
listen 80;
server_name image.jt.com;
location / {
#由于windows操作系统问题 所以需要替换/
root D:/JT-SOFT/images;
}
}
#配置后台管理系统
server {
listen 80;
server_name manage.jt.com;
location / {
#proxy_pass http://localhost:8091;
proxy_pass http://jtW;
}
}
#配置集群的关键字upstream 通过集群配置tomcat服务器
#默认: 1.轮询的机制 2.权重策略 server 127.0.0.1:8081 weight=6;
#3.IPHASH
# ip_hash;
# server 127.0.0.1:8081 weight=6;
upstream jtW {
server 127.0.0.1:8081;
server 127.0.0.1:8082;
server 127.0.0.1:8083;
}
}
IPHASH原理介绍:–取模几与代理的服务器数量一致
Nginx属性
down属性–如果tomcat服务器发生了宕机的现象,则通过配置文件标识down的属性,则nginx将不会再次访问故障机.
server 127.0.0.1:8081 down;
backup属性–备用机
server 127.0.0.1:8083 backup;
tomcat高可用配置–max_fails=1 配置nginx访问服务器的最大的失败次数.–fail_timeout=60s; 理解为一个时间周期. 如果发现服务器宕机,则在60秒内不会再次访问故障机.
server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;
当没有域名时本机上可修改hosts文件来测试–该文件可以实现域名与IP地址的映射关系.但是只对本机有效
C:\Windows\System32\drivers\etc
#左侧写IP地址 右侧写域名 中间使用空格分隔
#为了实现Linux发布修改如下
#192.168.126.129 image.jt.com
#192.168.126.129 manager.jt.com
127.0.0.1 image.jt.com
127.0.0.1 manage.jt.com
127.0.0.1 www.jt.com
127.0.0.1 sso.jt.com
动态获取端口
编辑PortController --测试nginx反向代理的服务器集群用,看看是哪一个端口的服务器在响应客户端…
package com.jt.controller;
@RestController
public class PortController {
/**
* 通过Spring容器动态获取YML配置文件中的端口即可
*/
@Value("${server.port}")
private int port;
@RequestMapping("/getPort")
public String getPort(){
return "当前访问的端口号为:"+port;
}
}
搭建tomcat服务器集群 --将项目打成不同端口号的war包后,cmd命令
java -jar 808X.war; --分别启动项目
项目打包操作–先修改端口号之后,将maven进行打包操作
=================================================
nginx在linux中的安装及常用指令 ./点斜杠在Linux系统里就是运行的意思!!!
Linux系统中跳转到安装目录
cd /usr/local/src/
压缩包获取
wget http://nginx.org/download/nginx-1.19.2.tar.gz
或者先下载下来直接拖到当前目录里即可
或者用yum 下载,貌似最好别用,慢而且可能版本比较旧
1 解压
tar -xvf nginx-1.192.tar.gz
2 安装 --若安装出现错误则看后面有
./configure
make
make install
即可安装完成
3.配置nginx
whereis nginx
找到安装位置 --一定要找到安装目录(工作目录修改conf配置文件才生效–貌似)
/usr/local/nginx
cd /usr/local/nginx
./点斜杠在Linux系统里就是运行的意思!!!
cd sbin 进入运行目录中执行!!!
运行nginx
./nginx
重启nginx
./nginx -s reload
./nginx -s stop
若需要修改配置则在工作目录中
cd conf
修改 nginx.conf
若安装错误总结:
需要下载安装一下环境(貌似三个…)…
yum -y install pcre-devel openssl openssl-devel
./configure --prefix=/usr/local/nginx
若还不行 错误上会有提示执行哪个命令就在./configure 后面加上该命令即可
./configure --without-http_gzip_module
make
make install
一切搞定
关于Nginx目录说明
源文件目录: /usr/local/src/nginx 只负责程序的编译
工作目录: /usr/local/nginx 负责程序的运行.