Elinkcloud 发表于 2022-6-9 14:33:59

Nginx云服务器是如何实现负载均衡和动静分离的

下文给大家带来Nginx云服务器是如何实现负载均衡和动静分离的,希望能够给大家在实际运用中带来一定的帮助,负载均衡涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用Vecloud在行业内累计的经验来做一个解答。
实验环境Nginx云服务器(192.168.13.177)Tomcat1服务器(192.168.13.151)Tomcat2服务器 (192.168.13.178)client测试机一,负载均衡1,在Tomcat1,Tomcat2上安装Tomcat服务# systemctl stop firewalld.service ##关闭防火墙# mkdir /abc# mount.cifs //192.168.100.3/LNMP-C7 /abc/# cd /abc/tomcat/# tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/ ##解压JDK# vim /etc/profile##配置环境变量##大G末行加入export JAVA_HOME=/usr/local/jdk1.8.0_91export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=${JAVA_HOME}/bin:$PATH# source /etc/profile ##刷新配置文件# tar zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/##解压# cd /usr/local/# mv apache-tomcat-8.5.16/ tomcat# ln -s /usr/local/tomcat/bin/startup.sh /usr/local/bin/##将启动和关闭脚本便于系统识别# ln -s /usr/local/tomcat/bin/shutdown.sh /usr/local/bin/# mkdir -p /web/webapp1 ##创建站点# vim /web/webapp1/index.jsp##写入jsp网页内容##jsp网页内容<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><html> <head><title>JSP test1 page</title> </head> <body><% out.println("Welcome KGC Web");%>##输出信息 </body></html># vim /usr/local/tomcat/conf/server.xml ##修改Tomcat配置文件      <Host name="localhost" appBase="webapps"            unpackWARs="true" autoDeploy="true">      <Context docBase="/web/webapp1" path="" reloadable="false"> ##添加站点信息      </Context># startup.sh##启动服务##Tomcat上网页内容为accp其他配置一样2,在Nginx服务器上安装Nginx# systemctl stop firewalld.service##关闭防火墙# setenforce 0# yum install pcre-devel zlib-devel gcc gcc-c++ make -y ##安装环境必要组件# mkdir /abc# mount.cifs //192.168.100.3/LNMP-C7 /abc/##挂载Password for root@//192.168.100.3/LNMP-C7: # cd /abc/# tar zxvf nginx-1.12.2.tar.gz -C /usr/local/ ##解压# useradd -M -s /sbin/nologin nginx##创建系统用户# cd /usr/local/nginx-1.12.2/# ./configure \##配置> --prefix=/usr/local/nginx \> --user=nginx \> --group=nginx \> --with-http_stub_status_module \> --with-http_gzip_static_module \> --with-http_flv_module # make && make install##编译安装 3,修改Nginx配置文件# vim /usr/local/nginx/conf/nginx.conf #keepalive_timeout 0;    keepalive_timeout 65;    #gzip on;    upstream tomcat-server {               #添加地址池            server 192.168.13.151:8080 weight=1;            server 192.168.13.178:8080 weight=1;            }    server {      listen    80;.....省略location / {            roothtml;            index index.html index.htm;            proxy_pass http://tomcat-server;   #添加代理,调用服务器地址池      }# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##便于系统识别# nginx##开启服务4,使用client测试机访问nginx代理服务器

二,动静分离1,在Nginx上修改配置文件# vim /etc/init.d/nginx ##编写service启动脚本#!/bin/bash# chkconfig: - 99 20# description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case "$1" instart)    $PROG    ;;stop)    kill -s QUIT $(cat $PIDF)    ;;restart)    $0 stop    $0 start    ;;reload)    kill -s HUP $(cat $PIDF)    ;;*)      echo "Usage: $0 {start|stop|restart|reload}"      exit 1esacexit 0# chmod +x /etc/init.d/nginx # chkconfig --add nginx# vim /usr/local/nginx/conf/nginx.confserver {...省略...   location ~.*.jsp$ {    ##匹配jsp页面跳转代理服务器池   proxy_pass http://tomcat-server;   proxy_set_header Host $host;   }      location / {    roothtml/test;##修改站点    index index.html index.htm;    proxy_pass http://tomcat-server;   }# vim /usr/local/nginx/html/index.html##编写静态网页<!DOCTYPE html><html><head><meta http-equiv="content-type" content="text/html;charset=utf-8"><title>静态页面</title><style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}</style></head><body><h3>静态页面</h3><p>这是个静态页面</p></body></html># service nginx stop##关闭开启服务# service nginx start2,在Tomcat1,Tomcat2上创建jsp动态页面# mkdir /usr/local/tomcat/webapps/test# vim /usr/local/tomcat/webapps/test/index.jsp<!DOCTYPE html><%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.util.Date" %><%@ page import="java.text.SimpleDateFormat" %>##开头申明<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>动态页面</title></head><body><div>动态页面1</div></body></html>##在Tomcat2上修改为动态页面22//访问静态http://192.168.13.177/ //访问动态 http://192.168.13.177/test/index.jspNginx处理静态图片,Tomcat处理动态页面1,在Tomcat1,Tomcat2上页面添加图片# vim /usr/local/tomcat/webapps/test/index.jsp<body><div>动态页面</div><br><img src="11.jpg"> //添加页面图片 </body># vim /usr/local/tomcat/conf/server.xml #在第149行下追加以下条目,<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="false"></Context># shutdown.sh##关闭重启# startup.sh2,在Nginx上修改配置文件# vim /usr/local/nginx/conf/nginx.conflocation ~.*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {    root html/test;   expires 30d;}# mkdir /usr/local/nginx/html/test# cp /abc/11.jpg /usr/local/nginx/html/test/#重启服务# service nginx restart3,使用client测试
页: [1]
查看完整版本: Nginx云服务器是如何实现负载均衡和动静分离的