Nginx保姆级学习教程

本文详细介绍了Nginx的基础环境设置,包括pcre的安装和Nginx的部署,以及实际操作中的启动、命令行管理、反向代理、映射规则、负载均衡和动静分离等技巧。还涉及了如何通过keepalived实现Nginx集群的配置与管理。
摘要由CSDN通过智能技术生成


前言

个人对于Nginx的学习记录,希望对有需要的朋友有所帮助,不喜勿喷。


一、基础环境

学习nginx,首先需要在Linux安装以下环境:

在这里插入图片描述

1.安装pcre

安装包地址:Index of /pub/pcre/

解压:tar -xvf pcre-8.00.tar.gz

安装:进入pcre目录,执行(要在管理员模式下)

./configure
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
make && make install

2.安装nginx

跟上面同样的步骤:解压、安装,不需要执行第二条命令了。

二、使用案例

1.启动

进入目录:

/usr/local/nginx/sbin
./nginx
localhost:80//首先要启动tomcat哈,然后去本地浏览器访问试试,开放80端口后才能在其他电脑访问。
关于防火墙开放端口的命令,请翻看我那篇Docker教程

2.常用命令

在/usr/local/nginx/sbin目录下:

./nginx -v//查看版本
./nginx -s stop  //关闭
./nginx -s reload //重新加载配置文件

3.反向代理

打开浏览器,输入地址ip:6379,跳转到linux的tomcat主页
在这里插入图片描述

server_name 本地IP地址
listen 监听的端口
proxy_pass 跳转到的端口连接,这里是跳转到了本地的tomcat:8080端口

4.映射规则

在这里插入图片描述

5.负载均衡

1.轮询(默认)

请求按照时间顺序注意分配到不同的服务器,如果down掉,自动删除。

2.weight(权重)

3.ip_hash

根据ip的hash进行分配,能够解决session问题。

4.fair

按照响应时间分配

在这里插入图片描述

6.动静分离

在这里插入图片描述
403错误(无权限导致)
在这里插入图片描述

7.nginx集群

nginx+keepalive+虚拟ip

(1)安装keepalived

yum install  keepalived -y

(2)查看安装结果

rpm -q -a keepalived

(3)修改配置文件(etc/keepalived/keepalived.conf)

主服务器

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script check_http_port {
    script "/usr/local/src/nginx_check.sh"
    interval 2 
    weight 2
}
vrrp_instance VI_1 {
    state MASTER 
    interface ens33
    virtual_router_id 51
    priority 100
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.200.16
    }
    track_script {
        check_http_port
    }
}

从服务器

! Configuration File for keepalived

global_defs {
   notification_email {
     acassen@firewall.loc
     failover@firewall.loc
     sysadmin@firewall.loc
   }
   notification_email_from Alexandre.Cassen@firewall.loc
   smtp_server 192.168.200.1
   smtp_connect_timeout 30
   router_id LVS_DEVEL
   vrrp_skip_check_adv_addr
   vrrp_strict
   vrrp_garp_interval 0
   vrrp_gna_interval 0
}
vrrp_script check_http_port {
       script "/usr/local/src/nginx_check.sh"
       interval 2 
       weight 2
}
vrrp_instance VI_1 {
    state BACKUP
    interface ens33
    virtual_router_id 51
    priority 90
    advert_int 1
    authentication {
        auth_type PASS
        auth_pass 1111
    }
    virtual_ipaddress {
        192.168.20.20
    }
    track_script {
        check_http_port
    }
}

编写脚本文件(/usr/local/src/nginx_check.sh)

A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
 /usr/local/nginx/sbin/nginx
 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
	killall keepalived
 fi
fi

启动

./nginx
systemctl start keepalived.service

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值