nginx 全站反向代理_Nginx反向代理服务器

Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,其特点:
1.稳定性极强
2.Nginx提供了非常丰富的配置实例
3.占用内存小,并发能力强

1正向代理和反向代理

正向代理:
1.正向代理服务是由客户端设立的
2.客户端了解代理服务器和目标服务器都是谁
3.帮助咱们实现突破访问权限,提高访问的速度,对目标服务器隐藏客户端的ip地址反向代理:
1.反向代理服务器是配置在服务端的
2.客户端不知道访问的到底是哪一台服务器
3.达到负载均衡,并且可以隐藏服务器真正的ip地址

2Nginx下载安装
 1#官网下载
2#安装依赖
3yum -y install pcre pcre-devel openssl openssl-devel gcc gcc-c++
4#解压安装包
5tar -zxvf nginx-1.18.0.tar.gz
6#新建组和用户,并授权
7groupadd nginx
8useradd -g nginx -s /bin/bash -m nginx
9passwd nginx
10chown -R nginx:nginx /usr/local/nginx
11#复制
12cp -rf /nginx/nginx-1.18.0/* /usr/local/nginx/
13#配置(nginx.conf原位置在conf/nginx.conf,但是初始化的时候直接在根目录)
14./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/nginx.conf --with-http_stub_status_module --with-http_ssl_module
15#编译
16make && make install
17#安装
18ln -s /usr/local/nginx/sbin/* /usr/local/sbin
19#检查配置文件,提示ok、successful
20/usr/local/sbin/nginx -t
21#启动
22/usr/local/sbin/nginx
23#查看端口和进程
24netstat -lntup | grep nginx
3关于Nginx的location路径映射
 1#优先级关系
2(location = ) > (location /xxx/yyy/zzz) > (location ^~) > (location ~,~*) > (location /起始路径) > (location /)
3location / {
4    #精准匹配,主机名后面不能带能和字符串
5    #例如www.baidu.com不能是www.baidu.com/id=xxx
6}
7#2. 通用匹配
8location /xxx {
9    #匹配所有以/xxx开头的路径
10    #例如127.0.0.1:8080/xxx   xxx可以为空,为空则和=匹配一样
11}
12#3. 正则匹配
13location ~ /xxx {
14    #匹配所有以/xxx开头的路径
15}
16#4. 匹配开头路径
17location ^~ /xxx/xx {
18    #匹配所有以/xxx/xx开头的路径
19}
20#5. 匹配结尾路径
21location ~* \.(gif/jpg/png)$ {
22    #匹配以.gif、.jpg或者.png结尾的路径
23}
4Nginx实现负载均衡

Nginx为我们默认提供了三种负载均衡的策略:
1.轮询:
 将客户端发起的请求,平均分配给每一台服务器
2.权重:
 会将客户端的请求,根据服务器的权重值不同,分配不同的数量
3.ip_hash:
 基于发起请求的客户端的ip地址不同,他始终会将请求发送到指定的服务器上
 就是说如果这个客户端的请求的ip地址不变,那么处理请求的服务器将一直是同一个

 1#第一种轮询的方式
2upstream my_server{
3    server localhost:8080;
4    server localhost:8081;
5}
6server {
7    listen       80;
8    server_name  localhost;
9    location / {
10        proxy_pass http://my_server/;
11    }
12}
13#第二种权重的方式
14upstream my_server{
15    server localhost:8080 weight=10;
16    server localhost:8081 weight=2;
17}
18server {
19    listen       80;
20    server_name  localhost;
21    location / {
22        proxy_pass http://my_server/;
23    }
24}
25#第三种ip_hash
26upstream my_server{
27    ip_hash;
28    server localhost:8080 weight=10;
29    server localhost:8081 weight=2;
30}
31server {
32    listen       80;
33    server_name  localhost;
34    location / {
35        proxy_pass http://my_server/;
36    }
37}
5Nginx实现动静分离

Nginx的并发能力公式:worker_processes * worker_connections / 4|2 = Nginx最终的并发能力 

动态资源需要/4,静态资源需要/2
Nginx通过动静分离来提升Nginx的并发能力,更快的给用户响应

 1#动态分配,配置如下
2location / {
3  proxy_pass 路径;
4}
5#静态分配,配置如下
6location /images {
7    root C:/app/nginx;#指定图片存放路径
8    autoindex on; #图片以表格形式展示
9}
10location /html {
11    root C:/app/nginx/nginx-1.18.0;
12    index index.html index.htm;
13}
6Nginx集群

bc9ec89862cf101f99693608e8c3361f.png

7笔记
  • 在安装编译时make && make install,出错cp: conf/koi-win' and/usr/local/nginx/conf/koi-win' are the same file,在初始化的时候nginx.conf在根目录下

8nginx配置ssl证书
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen 80;
        server_name www.test.top; 
        location /images {
            root C:/app/nginx;
            autoindex on;
        }
        location /html {
            root C:/app/nginx/nginx-1.18.0;
            index index.html index.htm;
        }
        location / {
            proxy_pass http://www.test.top:8000/;
        }   
    }
    server {
        listen 443 ssl;
        server_name www.test.top;
        ssl_certificate C:/app/nginx/nginx-1.18.0/ssl/test.crt;
        ssl_certificate_key C:/app/nginx/nginx-1.18.0/ssl/test.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://www.test.top:8000/;
        }   
    }
}

加油少年,未来可期!!!

cb7d6d1f596fb5d9da4e7c934178319a.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值