博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux安装配置反向代理Nginx
阅读量:6828 次
发布时间:2019-06-26

本文共 3203 字,大约阅读时间需要 10 分钟。

应用场景

对于一个大型网站来说,负载均衡是永恒的话题,顾名思义,负载均衡即是将负载分摊到不同的服务单元,既保证服务的可用性,又保证响应足够快,给用户很好的体验。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不二之选。Nginx作为webserver的后起之秀,其优秀的反向代理功能和灵活的负载均衡策略受到了业界广泛的关注。

Nginx进程基于Master + Slave(worker)多进程模型,自身具有非常稳定的子进程管理功能。在Master进程分配模式下,Master进程永远不进行业务处理,只是进行任务分发,从而达到Master进程的存活高可靠性。

Keepalived是Linux下面实现VRRP 备份路由的高可靠性运行件。基于Keepalived设计的服务模式能够真正做到主服务器和备份服务器故障时IP瞬间无缝交接。二者结合,可以构架出比较稳定的软件负载均衡方案。

操作步骤

1. Nginx安装配置

1.1 系统基础配置

关闭selinux # vi /etc/selinux/config……SELINUX=disabled……关闭防火墙,在Centos6.5中 # service iptables stop # chkconfig iptables off关闭防火墙,在Centos7中 # systemctl stop firewalld # systemctl disable firewalld修改系统文件打开限制数量,增加在配置文件最后 # vi /etc/security/limits.conf* soft noproc 65535* hard noproc 65535* soft nofile 409600* hard nofile 409600重启机器 # reboot

1.2 设置时间同步

安装ntpdate , ntpd # yum install -y ntpdate ntp pcre-devel pcre复制时区至本地时区 # cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime时间同步,ip请改成可用的时间服务器的ip地址,并写入时间戳 # ntpdate ip   # hwclock -w开启ntpd服务,在Centos6中 # service start ntpd # service enable ntpd开启ntpd服务,在Centos7中 # systemctl start ntpd # systemctl enable ntpd

1.3 安装软件包

安装包下载地址http://pan.baidu.com/s/1hrUHlOw安装依赖组件 # yum install zlib zlib-devel # yum install pcre-devel将安装包中的文件拷贝到服务器,并解压缩安装包 # tar -zxvf nginx-1.8.1.tar.gz然后进入目录进行安装 # cd nginx-1.8.1 #./configure --prefix=/opt/nginx1.8.1 # make # make install # ln  -sf  /opt/nginx1.8.1  /usr/local/nginx # echo 'export PATH=/usr/local/nginx/sbin:$PATH' >> /etc/profile && source /etc/profile

1.4 配置服务

创建启动脚本将启动脚本文件夹中的nginx文件发送到服务器中并 # cp nginx  /etc/init.d/ # chmod +x /etc/init.d/nginx修改用户权限 # useradd -r -M nginx # mkdir  -p  /var/log/nginx # chown nginx  -R /var/log/nginx注册启动服务 # chmod a+x /etc/init.d/nginx # chkconfig --add nginx # chkconfig nginx on

1.5 启动服务

# service nginx start

2. 配置高可用

注:在主备两台Nginx服务器上都要安装Keepalived。

2.1 安装Keepalived

安装依赖包,将keepalived6(Centos6环境中) 或 keepalived7(Centos7中)传送到服务器 # tar zxvf keepalived6.tar.gz     或tar zxvf keepalived7.tar.gz # yum localinstall keepalived/*.rpm -y将软件源中的keepalived-1.2.16.tar.gz传送到服务器并解压 # tar zxvf keepalived-1.2.16.tar.gz编译安装 # cd keepalived-1.2.16 # ./configure # make # make install配置服务 # cp /usr/local/sbin/keepalived /usr/sbin/ # cp /usr/local/etc/rc.d/init.d/keepalived /etc/init.d/ # cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ # chmod +x /etc/init.d/keepalived # chkconfig --add keepalived # chkconfig keepalived on # mkdir /etc/keepalived

2.2 配置主服务器

创建配置文件 # vi /etc/keepalived/keepalived.conf修改配置文件并保存! Configuration File for keepalivedglobal_defs {   notification_email {     #abc@example.com   }   #notification_email_from admin@example.com   #smtp_server smtp.example.com   #smtp_connect_timeout 30   router_id nginx_master}vrrp_script chk_http_port {    script "

2.3 配置备用服务器

创建配置文件 # vi /etc/keepalived/keepalived.conf修改配置文件并保存! Configuration File for keepalivedglobal_defs {   notification_email {     #abc@example.com   }   #notification_email_from admin@example.com   #smtp_server smtp.example.com   #smtp_connect_timeout 30   router_id nginx_backup}vrrp_script chk_http_port {    script "

2.4 安装验证

浏览器访问http://ip出现以下提示说明nginx正常运行

这里写图片描述

查看keepalived绑定虚拟ip的情况 # ip a
你可能感兴趣的文章
Oracle数据导入导出imp/exp命令(10g以上expdp/impdp命令)
查看>>
Android 自定义Menu
查看>>
支持Visual Studio 2008和.NET 3.5的企业类库4.0
查看>>
AD的FSMO角色转移步骤
查看>>
解决appserv安装终止问题
查看>>
2008/2008R2 AD组策略新功能之:计划任务
查看>>
把表单转成json,并且name为key,value为值
查看>>
JS中的倒计时
查看>>
这里有一份面筋请查收(三)
查看>>
关于EDM邮件涉及的MX记录、A记录和反向解析
查看>>
DOM的innerHTML
查看>>
代码片段
查看>>
创建vue项目
查看>>
5G来临,有视频源码,一对一交友源码,直播行业要变天?
查看>>
mvc:annotation-driven涉及HttpMessageConverters的源码
查看>>
JS-数据类型-对象Object
查看>>
如何使用 rsync 的高级用法进行大型备份
查看>>
流计算框架 Flink 与 Storm 的性能对比
查看>>
全站HTTPS升级系列(三)nginx配置全站HTTPS
查看>>
自定义滚动条的实现思路与关键算法
查看>>