Nginx基本应用

Nginx

一、Nginx 主要应用

静态网站部署

负载均衡

静态代理

动静分离

虚拟主机

二、安装以及使用:

步骤:

将包上传至linux解压 — 解压后进入目录执行: (指定安装位置) — make — make install

安装完毕后运行nginx:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf(若尾部追加-t则是测试配置文件)

启动之后执行:ps -ef | grep nginx 判断nginx是否在运行,也可以在外部页面测试80端口是否被拦截

kill -QUIT 主进程号:从容停止Nginx

kill -TERM 主进程号 :快速停止Nginx

pkill -9 nginx :强制停止Nginx

平滑重启nginx: kill -HUP 主进程号

/usr/local/nginx/sbin/nginx -s reload:修改配置文件后重启

三、配置连接tomcat:

主要配置http中的server那一块:在location / 下配置对应项目入口,以及文件的加载 。可以配置多个server

    server {
        listen       80;
        server_name  hbzeng.asia;
        location / {
            proxy_pass http://www.hbzeng.asia:8080;
        }
    }

配置springboot项目+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  hbzeng.asia;
        location / {
            proxy_pass http://www.hbzeng.asia:8080;
        }
    }
    
	#https的请求映射
	server {
		server_name  hbzeng.asia;
		#SSL 访问端口号为 443
		listen 443 ssl; 
		#填写绑定证书的域名
		server_name cloud.tencent.com; 
		#证书文件名称
		ssl_certificate 1_hbzeng.asia_bundle.crt; 
		#私钥文件名称
		ssl_certificate_key 2_hbzeng.asia.key; 
		ssl_session_timeout 5m;
		#请按照以下协议配置
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
		#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; 
		ssl_prefer_server_ciphers on;
		location / {
			#网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
			proxy_pass http://www.hbzeng.asia:8080;
		}
	}
}    

四、负载均衡

1、负载均衡有四种策略

  • 轮询:循环接收请求

    upstream xxx{
        server localhost:8080;
        server localhost:8081;
    }
    //对应路由转发
    location / {
        #网站主页路径。此路径仅供参考,具体请您按照实际目录操作。
        proxy_pass http://xxx;
    }
    
  • 权重:按照百分比概率进行接收请求

    upstream xxx{
        server localhost:8080 weight=5;
        server localhost:8081 weight=2;
    }
    
  • ip_hash:

    ip_hash也叫IP绑定,每个请求按访问ip的hash值(哈希值取模来进行分配,模为服务器(tomcat)数量)分配,这样的话每个客户端会固定的访问一个后端服务器,就可以解决session丢失问题

    upstream xxx{
    
    ip_hash
    server localhost:8080;
    server localhost:8081;
    
    }
    
  • 最少连接 :哪台机器接收的请求少,就把新的请求交给它

    upstream xxx{
    
    least_conn
    server localhost:8080;
    server localhost:8081;
    
    }
    

问题:

轮询、权重、最少连接都会有Session的问题,但ip_hash不会

但是ip_hash也有一个很大的问题:每个用户的IP不一样,如果hash值取模之后都是同一个服务器

就有可能出现大量请求进入一个服务器而宕机,而没有被取模到的服务器一直空闲着,也就是说,容易出现分配问题

2、服务器更新问题

可以开设备份服务器,备份服务器要先更新好代码,备份服务器在正常情况下客户是访问不到的

只有在正常启动的tomcat全部宕机,才会访问到备份的服务器。

总之:备份服务器必须是最新版本,全部正常服务器宕机才用得到备份服务器!!!

五、静态代理

要把静态资源从Tomcat中脱离出来,不要让Tomcat来处理静态资源,而用nginx来处理,因为nginx更擅长处理静态资源性能更好效率更高

能做静态代理的工具有很多,使用Nginx是因为它静态资源处理的好,但这点和我们为什么使用静态代理没关系

六、动静分离

动态资源交给Tomcat处理,静态资源交给Nginx处理

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值