0
点赞
收藏
分享

微信扫一扫

Nginx入门

12a597c01003 2022-04-06 阅读 66
大数据

目录

一、简介

Nginx是一款轻量级的web服务器/反向代理服务器,并具有占用内存少、并发能力强的特点
突出贡献:

  1. 反向代理
  2. 负载均衡

二、使用场景

1 高并发

高并发通常是指通过设计保证系统能够同时并行处理很多请求。通俗来讲,高并发是指在同一个时间点,有很多用户同时的访问同一个API接口或者URL地址。经常会发生在有大活跃用户量、用户高聚集的业务场景中。

2 负载均衡

负载均衡将请求/数据均匀分摊到多个操作单元上执行,负载均衡的关键在于均匀

3 正向代理

代理人明确知道买家的目标是谁,代理人帮我们去联系目标

4 反向代理

客户只需要发送请求到代理服务器,代理服务器会将请求转发给内部的服务器去处理,处理完毕之后会讲结果返回给客户,但整个过程中客户和实际处理服务器是不会直接建立连接的

三、源码安装Nginx

# 解压
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
# 安装依赖
yum install gcc pcre-devel zlib-devel openssl-devel -y
# 配置安装路径
./configure —-prefix=/opt/nginx
# 编译并安装
make && make install
# 开启Nginx
cd /opt/nginx/sbin
./nginx
http://192.168.146.201/
# 常用命令
nginx -s reload # 重新加载配置文件
nginx -s quit # 关闭nginx

四、负载均衡搭建

修改nginx配置文件

upstream bd_name {
    server 192.168.146.202:8080;
    server 192.168.146.203:8080;
    server 192.168.146.204:8080;
}

server{
    listen 80;
    server_name www.bd_name.com
    location / {
        proxy_pass http://bd_name;
    }
}

五、负载均衡策略

1 请求轮询

依次转发给配置的服务器

2 增加权重

使用服务器权重,还可以进一步影响nginx负载均衡算法,谁的权重越大,分发到的请求越多

upstream bd_name {
    server 192.168.146.201:8080 weight=2;
    server 192.168.146.201:8080 weight=1;
}

3 最少连接数

在连接负载最少的情况下,nginx会尽量避免将过多的请求分发给繁忙的应用程序服务器,而是将新请求分发给不太繁忙的服务器,避免服务器过载

upstream bd_name {
    least_conn;
    server 192.168.146.201:8080 weight=2;
    server 192.168.146.201:8080 weight=1;
}

4 IpHash

确保来自同一客户端的请求将始终定向到同一台服务器,除非次服务器不可用

upstream bd_name {
    ip_hash;
    server 192.168.146.201:8080 weight=2;
    server 192.168.146.201:8080 weight=1;
}

六、资源静态化

配置静态资源路径

location ^~ /static/ {
    root html;
}

七、单Linux搭建多Tomcat

1 拷贝多份tomcat的文件

2 设置环境变量

# tomcat
export CATALINA_HOME=/opt/dbp/apache-tomcat8080
export CATALINA_BASE=/opt/dbp/apache-tomcat8080
export TOMCAT_HOME=/opt/dbp/apache-tomcat8080

# tomcat1
export CATALINA_HOME1=/opt/dbp/apache-tomcat18080
export CATALINA_BASE1=/opt/dbp/apache-tomcat18080
export TOMCAT_HOME1=/opt/dbp/apache-tomcat18080

3 配置server.xml文件

第一台保持不变,只需要将第二台的8085、8080、8089修改为第二台即可

4 修改脚本

修改第二台tomcat, catalina.sh脚本

# 113行开始
export CATALINA_HOME=$CATALINA_HOME1
export CATALINA_BASE=$CATALINA_BASE1
export TOMCAT_HOME=$TOMCAT_HOME1

5 分别启动两个tomcat

八、虚拟主机

虚拟主机是指在网络服务器上分出一定的磁盘空间,用户可以租用此部分空间,以供用户防止站点及相应组件,提供必要的数据存放和传输功能

  1. 基于域名:通过域名来区分虚拟主机
  2. 基于端口:通过端口来区分虚拟主机

九、Session一致性

1 内存数据库

# 安装数据库
yum install memcached -y
# 开启数据库服务
systemctl status memcached
systemctl start memcached
systemctl enable memcached
vim /etc/sysconfig/memcached

2 Tomcat

**1.**拷贝jar包到当前服务器lib目录下
**2.**如果一个服务器有多个tomcat都需要session一致性
配置tomcat/conf/server.xml
相同项目如果像共享session,需要把jvmRoute命名一致
如果你只有一个tomcat忽略此步骤
3. 配置tomcat/conf/context.xml

<Engine name=“Catalina” defaultHost=“localhost” jvmRoute=“jvm18080”>
举报

相关推荐

【Nginx】nginx入门

nginx 入门

nginx入门、了解

nginx基础入门

Nginx快速入门

nginx快速入门

0 条评论