技术课堂

Good Luck To You!

静态ip购买巨量httpip的简单介绍

  纯手工打造每一篇开源资讯与技术干货,数十万程序员和Linuxer已经关注。

  Linux技术交流QQ群:2636170(七月份最新!!)

  1、nginx安装

安装openssl、zlib、pcre包,命令:yum -y install openssl openssl-devel zlib zlib-devel pcre pcre-devel

安装c++包,命令:yum install -y gcc gcc-c++

解压nginx包,命令:tar -zxvf nginx-1.10.3.tar.gz

cd nginx-1.10.3

./configure

make

make install

验证是否安装成功:cd /usr/local/nginx/,执行./nginx -t,如下图:

  

  2、nginx开机自启

  vi /etc/init.d/nginx (输入下面的代码)

#!/bin/sh

  #

  # nginx - this starts and stops the nginx daemon

  #

  # chkconfig: - 85 15

  # deion: Nginx is an HTTP(S) server, HTTP(S) reverse

  # proxy and IMAP/POP3 proxy server

  # processname: nginx

  # config: /etc/nginx/nginx.conf

  # config: /etc/sysconfig/nginx

  # pidfile: /var/run/nginx.pid

  # Source function library.

  . /etc/rc.d/init.d/functions

  # Source networking configuration.

  . /etc/sysconfig/network

  # Check that networking is up.

  [ "$NETWORKING" = "no" ] && exit 0

  nginx="/usr/local/nginx/sbin/nginx"

  prog=$(basename $nginx)

  NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

  [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx

  lockfile=/var/lock/subsys/nginx

  start() {

  [ -x $nginx ] || exit 5

  [ -f $NGINX_CONF_FILE ] || exit 6

  echo -n $"Starting $prog: "

  daemon $nginx -c $NGINX_CONF_FILE

  retval=$?

  echo

  [ $retval -eq 0 ] && touch $lockfile

  return $retval

  }

  stop() {

  echo -n $"Stopping $prog: "

  killproc $prog -QUIT

  retval=$?

  echo

  [ $retval -eq 0 ] && rm -f $lockfile

  return $retval

  killall -9 nginx

  }

  restart() {

静态ip购买巨量httpip的简单介绍

  configtest || return $?

  stop

  sleep 1

  start

  }

  reload() {

  configtest || return $?

  echo -n $"Reloading $prog: "

  killproc $nginx -HUP

  RETVAL=$?

  echo

  }

  force_reload() {

  restart

静态ip购买巨量httpip的简单介绍

  }

  configtest() {

  $nginx -t -c $NGINX_CONF_FILE

  }

  rh_status() {

  status $prog

  }

  rh_status_q() {

  rh_status >/dev/null 2>&1

  }

  case "$1" in

  start)

  rh_status_q && exit 0

  $1

  ;;

  stop)

  rh_status_q || exit 0

  $1

  ;;

  restart|configtest)

  $1

  ;;

  reload)

  rh_status_q || exit 7

  $1

  ;;

  force-reload)

  force_reload

  ;;

  status)

  rh_status

  ;;

  condrestart|try-restart)

  rh_status_q || exit 0

  ;;

  *)

  echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"

  exit 2

  esac

设置文件的访问权限

  chmod a+x /etc/init.d/nginx (a+x ==> all user can execute 所有用户可执行)

vi /etc/rc.local

  加入一行 /etc/init.d/nginx start 保存并退出,下次重启会生效。

  3、一台机器多tomcat部署

下载tomcat

修改server.xml配置文件

  第一处:

  

  第二处:

  

  

  第三处:

  

分别修改bin下的启动文件(startup.sh)

  

  3、nginx负载均衡集群配置

修改nginx.conf配置文件

  

配置服务器组,在http{}节点之间添加upstream配置。(注意不要写localhost,不然访问速度会很慢)

修改nginx监听的端口号80,改为8080

在location{}中,利用proxy_pass配置反向代理地址;此处“https://”不能少,后面的地址要和第一步upstream定义的名称保持一致

  

  访问url:https://nginxip:8080/nginxdemo

  4、补充nginx负载均衡策略

  1、轮询(默认)

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

  upstream nginxDemo { server 127.0.0.1:8081; server 127.0.0.1:8082;

  }

  2、最少链接

  web请求会被转发到连接数最少的服务器上。

  upstream nginxDemo {

  least_conn;

  server 127.0.0.1:8081;

  server 127.0.0.1:8082;

  }

  3、weight 权重

  指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,weight默认是1。

  #服务器A和服务器B的访问比例为:2-1;比如有3个请求,前两个会访问A,三个访问B,其它规则和轮询一样。

  upstream nginxDemo { server 127.0.0.1:8081 weight=2; #服务器A

  server 127.0.0.1:8082; #服务器B

  }

  4、ip_hash

  每个请求按访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一服务器进行处理,可以解决session的问题。当后台服务器宕机时,会自动跳转到其它服务器。

  upstream nginxDemo {

  ip_hash;

  server 127.0.0.1:8081 weight=2; #服务器A

  server 127.0.0.1:8082; #服务器B

  }

  基于weight的负载均衡和基于ip_hash的负载均衡可以组合在一起使用。

  5、url_hash(第三方)

  url_hash是nginx的第三方模块,nginx本身不支持,需要打补丁。

  nginx按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存服务器、文件服务器、静态服务器时比较有效。缺点是当后端服务器宕机的时候,url_hash不会自动跳转的其他缓存服务器,而是返回给用户一个503错误。

  upstream nginxDemo { server 127.0.0.1:8081; #服务器A

  server 127.0.0.1:8082; #服务器B

  hash $request_url;

  }

  6、fair(第三方)

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

  upstream nginxDemo {

  server 127.0.0.1:8081; #服务器A

  server 127.0.0.1:8082; #服务器B

  fair;

  }

  原文来自: https://my.oschina.net/jzgycq/blog/877342

  让您学习到的每一节课都有所收获

  《Linux就该这么学》是由资深运维专家刘遄及全国多名红帽架构师(RHCA)基于最新RHEL7系统共同编写的高质量Linux技术自学教程,极其适合用于Linux技术入门教程或讲课辅助教材。

  ? 刘遄老师QQ:5604241 微信:gnu_chuan

  ? 学员助教QQ:5604674

  ?Linux技术交流A群(满):560843

  ? Linux技术交流B群:340829

  ? Linux技术交流C群:463590

  ? Linux技术交流D群:915246

  ? Linux技术交流E群:1663106

  ? Linux技术交流F群:1653851

  ? Linux技术交流G群:2632018(新群,火热加群中……)

  ? 官方站点:www.linuxprobe.com

  ? 电脑在线阅读效果更佳:

  https://www.linuxprobe.com/chapter-00.html

按住图片3秒,即可自动关注。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Powered By Z-BlogPHP 1.7.3

Copyright Your WebSite.Some Rights Reserved.