设为首页 收藏本站
查看: 1341|回复: 0

[经验分享] nginx配置负载均衡

[复制链接]

尚未签到

发表于 2017-3-2 12:34:04 | 显示全部楼层 |阅读模式
  title: nginx配置负载均衡
  
date: 2016-04-19
  
categories: nginx
  
tags: ngixn
  
---

1 nginx 负载均衡和反向代理
  nginx是一种提供负载均衡和反向代理的服务器,另一种服务器Apache也提供了这个功能。tomcat jetty是叫做应用服务,负责应用程序的部署,而nginx和apache 主要作为网络服务器,负责负载均衡和反向代理。
  负载均衡 :同时有n个用户访问服务器时,为了减轻服务器压力,将用户分别引入到分布式集群中的各个服务器,从而分担各个服务器的压力。
  反向代理 :介绍反向代理之前先说一下正向代理
  正向代理 : 用户a向服务器A访问资源,但由于某种原因用户a不能直接访问服务器A,且恰好a可以访问的服务器B,且B可以访问服务器A,则用户a可以通过服务器B访问服务器A,这就是正向代理,其中B就是代理服务器。
  反向代理 : 通过第三方服务器(比如nginx)访问服务器集群中的内容(为了保证状态一致性,服务器中的各个机器上内容一样),这个第三方服务器就叫做反向代理。
  在正向代理中,用户明确知道数据在哪里,即有一条明确的到达资源的路径,而在反向代理中,用户不确定所要获得的资源到底来自那一台服务器,只知道到达第三方的路径。
  nginx就是一款通过反向代理 实现负载均衡服务器(Apache服务器提供了类似的功能),用户首先访问nginx,然后nginx从服务器集群中选择一台压力较小的服务器,然后将访问指向该机器。若服务器集群中某台机器宕机,则将该服务器从待选列表中删除。
  为保证负载均衡内容的一致性,集群中各个机器上的内容是一样的,故Api可以部署在多个不同的机器上,通常后台会有多个tomcat作为应用服务器,而将nginx作为反向代理来实现负载均衡。
  与Apach相比,nginx支持高并发,内存消耗低,部署简单。

2 nginx安装
  以在centos/ubuntu 上安装nginx为例 :
cd /home  
mkdir nginx # nginx安装目录
  

  
tar -zxvf nginx-x.x.x.tar.gz
  
./configure
  
这里可能会报找不到 pcre  zlibdeng
  
建议先安装 gcc   zlib pcre
  

  
sudo apt-get install -y pcre pcre-devel openssl openssl-devel
  
sudo apt-get install -y gcc gcc-c++ autoconf automake
  
sudo apt-get install -y zlib zlib-devel
  

  
安装完上面的包后 然后configure
  
make
  
make install
  安装完测试 :
  

cd  /usr/local  
ls  在该目录下发现多了一个nginx目录则说明安装成功
  
进入该目录 ,下面有4个目录 :
  
conf : 配置文件
  
html :首页
  
logs :日志
  
sbin :命令行工具 ,该目录下的 nginx命令可以启动nginx
  

  启动 nginx
/usr/local/nginx/sbin/nginx -t # 验证配置文件是否正确  
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
  
# 启动并加载配置文件
  
加载这个默认的配置文件也可以 也可以直接运行nginx命令 ./nginx
  

  
当修改l这个默认的配置文件后 不用重启,只需要 :
  

  
./nginx -t
  
./nginx -s>
3 nginx 常用命令

3.1 启动
  启动格式
  

./nginx -c nginx配置文件地址 (默认在conf/nginx.conf)  

3.2 停止
  方式1 从容停止 : 安全地停止
  

kill -QUIT nginx进程号  

  查看nginx进程号 :ps -ef |grep nginx
  
master process:主进程号,只需要停止该进程号即可。
  方式2 :快速停止
  

kill -TERM nginx进程号  
或者
  

  
kill -INT nginx进程号
  

  方式3 :强制停止
  

killall -9 nginx  
或者
  
pkill -9 nginx
  

3.3 重启
  当修改了配置文件时,需要重启nginx才能生效。
  验证配置文件
  

./nginx -t  
或者
  
./nginx -t -c nginx配置文件地址
  

  重启:
  

./nginx -s>

  
或者
  

  
kill -HUP nginx主进程号
  

  -HUP : 发送信号重启

4 nginx信号控制
  在nginx服务器中,通常都是通多对其发送一些控制信号进行控制,下面是一些常见的控制信号 :
  HUP :重启
  
QUIT/INT : 从容关闭
  
TERM:快速关闭
  
USRI:切换日志文件
  
USR2:平滑升级(在不影响旧进程的情况下升级nginx)
  
WINCH:从容关闭工作进程
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-349342-1-1.html 上篇帖子: Http组件的介绍 下篇帖子: 机器学习------精心总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表