Nginx介绍

什么是Nginx?

Nginx (engine x) 是一个高性能的HTTP反向代理web服务器。

  • 特点:反向代理 负载均衡 动静分离

Nginx的作用:

1.什么是反向代理

代理服务可简单的分为正向代理和反向代理:

正向代理:

特点:

正向代理: 正向代理类似一个跳板机代理客户端访问外部资源

用途:

突破访问显示,提高访问速度,隐藏客户真实ip。

反向代理:

特点:

反向代理:实际运行方式是指以代理服务器接受internet上的连接请求,然后将请求转发内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。对于常用的场景,就是Web开发中用到的负载均衡服务器。

用途:

隐藏服务端的真实ip,保证内网的安全,负载均衡,提高访问速度

2.什么是负载均衡:

负载均衡的介绍:

nginx应用场景之一就是负载均衡。在访问量较多的时候,可以通过负载均衡,将多个请求分摊到多台服务器上,相当于把一台服务器需要承担的负载量交给多台服务器处理,进而提高系统的吞吐率;另外如果其中某一台服务器挂掉,其他服务器还可以正常提供服务,以此来提高系统的可伸缩性与可靠性。

3.什么是动静分离 

动静分离:

动静分离主要是通过nginx+PHP-FPM来实现,其中nginx处理图片,html等静态的文件,PHP处理动态程序。

动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。

简单点来说,就是用户在请求的时候,如果只是简单的访问图片,html等静态的请求时,nginx直接返回,如果是发送动态请求时候,需要程序进行就由nginx把请求发送给程序,进行动态处理。

Nginx的安装与启动

1.下载Nginx

官方:nginx news​​​​​​

2.安装Nginx

1.安装c语言的环境

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

2.解压安装包

cd /usr/local

tar -zxvf nginx-1.10.0.tar.gz

3.设置安装目录

cd /usr/upload/nginx-1.10.0
./configure --prefix=/usr/local/nginx

4.编译并安装

make && make install

3.目录结构

目录结构
        conf:配置文件
        html:静态页面
        logs:日志
        sbin:启动脚本

4.启动与关闭

cd /usr/local/nginx/sbin

启动:./nginx

关闭:./nginx -s stop

重新加载配置文件:./nginx -s reload

5.配置文件的介绍


#进程数
worker_processes  1;

events {
    #连接数 
    worker_connections  1024;
}

#协议
http {
    #媒体类型
    include       mime.types;
    default_type  application/octet-stream;

    #支持上传文件
    sendfile        on;
    #超时时间
    keepalive_timeout  65;
    upstream myTomcats{
	server 127.0.0.1:8080;
	server 127.0.0.1:8090;
    }
    
    server {
        #监听的端口
        listen       80;
	#监听的域名
        server_name  localhost;

	#location匹配的url,"/"代表任何路径
        location / {
	     #转发路径
            proxy_pass http://myTomcats;
        }
    }
}

Nginx代理tomcat

1.在Linux中安装两台tomcat

解压两台tomcat到 usr/local 下 分别名为 tomcat-8080 tomcat-8090

cd /usr/local/tomcat-8080/conf 

cd /usr/local/tomcat-8090/conf 

进入tomcat-8090的配置文件 server.xml 将端口进行修改:

 两台tomcat创建工程

cd test

vim index.html

tomcat-8080

 tomcat-8090

启动tomcat:

./startup.sh

./catalina.sh run  启动时有日志信息

关闭:

./shutdown.sh

修改权限:chmod 777 名称

 

2.代理一台tomcat(反向代理)

修改nginx/conf/nginx.conf文件:

3.代理多台tomcat(负载均衡)

修改nginx/conf/nginx.conf文件:

upstream myTomcats{
        server 127.0.0.1:8080;
        server 127.0.0.1:8090;
    }
    server{
        listen 80;
        server_name localhost;

        location / {
            proxy_pass http://myTomcats;
        }
    }

因为默认是轮询:

以循环方式分发对应用服务器的请求,将请求平均分发到每台服务器上。

负载均衡策略

6种负载均衡策略

负载均衡策略说明
轮询默认
weight权重方式   根据比例分配
ip_hash依据ip分配方式 根据客户端ip分配
least_conn按连接数 根据url分配
fair按响应时间 根据连接数分配
url_hash

依据URL分配 根据相应时间分配

如何防止session丢失?
            ip_hash:如果tomcat1挂了,仍然会访问tomcat2
            session复制:多台tomcat时,复制session非常耗费资源
            redis:redis和session都是k、v,都能设置过期时间

动静分离

1.在虚拟机创建image文件夹,并上传图片:

2.修改nginx的nginx.conf文件 

location ~* \.(gif|jpg|png|jpeg)$ {
        root /usr/upload/images;
    }

3.测试:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值