Nginx安装使用

1、Nginx的安装

1.1、需要的安装包

wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz 

如果下载失败。

链接:https://pan.baidu.com/s/199e7SUXaChs99nxG0wl6LA 
提取码:k68b 

1.2、安装 openssl 、zlib 、 gcc 依赖

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

1.3、解压pcre-8.37.tar.gz,并安装

#解压
tar -zxvf pcre-8.37.tar.gz
#解压完成后,进入pcre目录
./configure
#安装
make &&make install
#安装完成后,查看是否安装成功,如果出现当前pcre的版本号,说明安装成功
pcre-config --version

1.4、解压nginx,并安装

#1、解压
tar -axvf nginx-1.12.2.tar.gz
#2、进入目录
cd nginx-1.12.2
#3、执行configure
./configure
#4、安装
make&&make install

1.5、安装完成返回/usr/local目录下

查看目录下是否出现nginx的文件夹

1.6、启动nginx

#1、进入nginx目录下的sbin
./nginx

1.7、浏览器访问当前服务器的IP(必须关闭防火墙,或者开放端口)

1.7.1、关闭防火墙

# 关闭防火墙
systemctl stop firewalld.service 
# 查看防火墙的状态
firewall-cmd --state 
# 禁止firewall开机启动
systemctl disable firewalld.service

1.7.2、可以开放端口

#查看开放的端口号
firewall-cmd --list-all
#设置开放的端口号(开放80端口)
firewall-cmd --add-port=80/tcp --permanent
#重启防火墙
firewall-cmd –reload

 

2、Nginx 的常用的命令

*******************************进入 nginx 目录中**********************
cd /usr/local/nginx/sbin


#1、查看 nginx 版本号
./nginx -v 
#2、启动 nginx
./nginx
#3、停止 nginx
./nginx -s stop
#4、重新加载 nginx
./nginx -s reload

3、Nginx 配置实例-反向代理实例 1

3.1、实现效果

打开浏览器,在浏览器地址栏输入地址 www.123.com,跳转到 liunx 系统 tomcat 主页面中

3.2、准备工作

1、在 liunx 系统安装 tomcat,使用默认端口 8080 。tomcat 安装文件放到 liunx 系统中,解压进入 tomcat 的 bin 目录中,./startup.sh 启动 tomcat 服务器

2、进入tomcat中的bin目录,启动tomcat

./startup.sh 启动 tomcat 服务器

3.3、具体实现反向代理

3.3.1、 在 windows 系统的 host 文件进行域名和 ip 对应关系的配置

在HOSTS文件中添加

3.3.2、在 nginx 进行请求转发的配置(反向代理配置)

进入conf目录

vim nginx.conf

进入sbin目录重启nginx

3.3.3、测试

 

4、Nginx 配置实例-反向代理实例 2

4.1、实现效果 

使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中nginx 监听端口为 9001,

4.2、准备工作

1、新建两个文件夹(tomcat8080,tomcat8081)

2、将tomcat压缩包分别复制到两个文件夹内

3、再各个文件夹内解压压缩包,然后修改8081文件夹中tomcat的端口号

3.1、进入conf文件夹内,找到server.xml进行修改

3.2、修改server.xml

4.在tomcat8081中的tomcat中建立vod文件夹,并创建a.html

4.1、创建a.html

5.在tomcat8080中的tomcat中建立edu文件夹,创建a.html

5.1、创建a.html

6.进入两个tomcat的bin目录,使用./start.sh启动

4.3、具体nginx配置

4.4、进入sbin目录重启nginx

4.5、测试

5、Nginx 配置实例-负载均衡

5.1、实现效果

浏览器地址栏输入地址 http://192.168.1.6/edu/a.html ,负载均衡效果,平均 8080 8081 端口中

5.2、准备工作

使用上面示例中的tomcat8080、tomcat8081两个文件夹中的tomcat。

只需修改的是,在tomcat8081中同样建一个edu文件夹,里面创建一个a.html

5.3、在nginx配置文件配置

5.4、重启测试(多刷新几遍,就能看到效果。)

请勿在谷歌浏览器按F5测试,会看不到效果的。

5.5、nginx 分配服务器策略

5.5.1、第一种 轮询(默认)

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器 down 掉,能自动剔除。

如上配置

5.5.2、weight权重配置

weight 代表权重默认为 1,权重越高被分配的客户端越多

5.5.3、ip_hash

每个请求按访问 ip hash 结果分配,这样每个访客固定访问一个后端服务器

5.5.4、fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

 

6、Nginx 配置实例-动静分离

把上面示例中的tomcat8080,建立data目录,data目录中建立那些静态资源的目录

 

7、Nginx 配置高可用的集群

7.1、准备工作

  1. 准备两台linux机器
  2. 两台linux机器上都必须装有nginx
  3. 两台服务器安装keepalived

安装nginx参照上面的步骤安装

安装keepalived

(1)使用 yum 命令进行安装
yum install keepalived –y

(2)安装之后,在 etc 里面生成目录 keepalived,有文件 keepalived.conf

也可以用命令查看

7.2、配置keepalived.conf

7.2.1、配置主nginx上的keepalived.conf

global_defs {
         notification_email {
                 acassen@firewall.loc
                 failover@firewall.loc
                 sysadmin@firewall.loc
         }
         notification_email_from Alexandre.Cassen@firewall.loc
         smtp_server 192.168.1.6
         smtp_connect_timeout 30
         router_id LVS_DEVEL
}
vrrp_script chk_http_port {
         script "/usr/local/src/nginx_check.sh"
         interval 2 #(检测脚本执行的间隔)
         weight 2
}
vrrp_instance VI_1 {
         state MASTER # 备份服务器上将 MASTER 改为 BACKUP
         interface eno16777736 //网卡
         virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
         priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
         advert_int 1
        authentication {
         auth_type PASS
         auth_pass 1111
         }
         virtual_ipaddress {
         192.168.1.11 // VRRP H 虚拟地址
         }
 }

说明:

7.2.2、从节点的nginx上的keepalived.conf

global_defs {
         notification_email {
                 acassen@firewall.loc
                 failover@firewall.loc
                 sysadmin@firewall.loc
         }
         notification_email_from Alexandre.Cassen@firewall.loc
         smtp_server 192.168.1.7
         smtp_connect_timeout 30
         router_id LVS_DEVEL
}
vrrp_script chk_http_port {
         script "/usr/local/src/nginx_check.sh"
         interval 2 #(检测脚本执行的间隔)
         weight 2
}
vrrp_instance VI_1 {
         state BACKUP # 备份服务器上将 MASTER 改为 BACKUP
         interface eno16777736 //网卡
         virtual_router_id 51 # 主、备机的 virtual_router_id 必须相同
         priority 90 # 主、备机取不同的优先级,主机值较大,备份机值较小
         advert_int 1
        authentication {
         auth_type PASS
         auth_pass 1111
         }
         virtual_ipaddress {
         192.168.1.11 // VRRP H 虚拟地址
         }
 }

7.3、心跳监测脚本(两个机器都必须有这个脚本)

放在/usr/local/src/下

#!/bin/bash
A=`ps -C nginx –no-header |wc -l`
if [ $A -eq 0 ];then
 /usr/local/nginx/sbin/nginx
 sleep 2
 if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
 killall keepalived
 fi
fi

7.4、启动nginx和keepalived

启动 nginx:                  ./nginx
启动 keepalived:         systemctl start keepalived.service

7.5、测试

访问192.168.1.11(这是自己设置的虚拟IP)。

测试高可用的的情况下,关闭主nginx,重新刷新界面,没有任何变化,keepalived默认切换到备nginx上去。

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值