一、反向代理

反向代理实例一

1.实现效果

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

2.准备工作

[1].安装tomcat

[root@host79 sbin]# cd /opt/apache-tomcat-7.0.70/

[root@host79 apache-tomcat-7.0.70]# ls

bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

[root@host79 apache-tomcat-7.0.70]# cd bin/

[root@host79 bin]# ./startup.sh

Using CATALINA_BASE:   /opt/apache-tomcat-7.0.70

Using CATALINA_HOME:   /opt/apache-tomcat-7.0.70

Using CATALINA_TMPDIR: /opt/apache-tomcat-7.0.70/temp

Using JRE_HOME:        /opt/jdk1.7.0_79

Using CLASSPATH:       /opt/apache-tomcat-7.0.70/bin/bootstrap.jar:/opt/apache-tomcat-7.0.70/bin/tomcat-juli.jar

Tomcat started.

[root@host79 bin]# cd ..

[root@host79 apache-tomcat-7.0.70]# cd logs/

[root@host79 logs]# ls

catalina.2020-07-20.log      host-manager.2020-08-12.log          localhost_access_log.2020-08-12.txt

catalina.2020-07-29.log      localhost.2020-07-20.log             manager.2020-07-20.log

catalina.2020-08-12.log      localhost.2020-07-29.log             manager.2020-08-12.log

catalina.out                 localhost.2020-08-12.log

host-manager.2020-07-20.log  localhost_access_log.2020-07-20.txt

[root@host79 logs]# tail -f catalina.out

八月 12, 2020 11:21:04 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory /opt/apache-tomcat-7.0.70/webapps/ROOT

八月 12, 2020 11:21:04 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory /opt/apache-tomcat-7.0.70/webapps/ROOT has finished in 183 ms

八月 12, 2020 11:21:04 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-bio-8080"]

八月 12, 2020 11:21:04 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-bio-8009"]

八月 12, 2020 11:21:04 下午 org.apache.catalina.startup.Catalina start

信息: Server startup in 5663 ms

[2].开放端口

[root@host79 /]# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

[root@host79 /]# service iptables restart

[root@host79 /]# /etc/init.d/iptables status

3.具体配置

[1].windows系统修改hosts文件

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

#C:\Windows\System32\drivers\etc\hosts

192.168.188.188 www.pluto.com

[2].nginx反向代理配置(请求转发配置)

[root@host79 /]# cd /usr/local/nginx/conf/

[root@host79 conf]# vim nginx.conf

[3].测试

[root@host79 /]# cd /usr/local/nginx/sbin/

[root@host79 sbin]# ./nginx -s reload

反向代理实例二

1.实现效果

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

访问 http://192.168.188.188:8001/edu/ 直接跳转到 127.0.0.1:8080

访问 http://192.168.188.188:8001/vod/ 直接跳转到 127.0.0.1:8081

2.准备工作

[1].准备两个tomcat服务器,一个8080端口,一个8081端口

#8080tomcat

[root@host79 bin]# pwd

/opt/tomcat8080/apache-tomcat-7.0.70/bin

[root@host79 bin]# ./start

#8081tomcat

[root@host79 conf]# pwd

/opt/tomcat8081/apache-tomcat-7.0.70/conf

[root@host79 conf]# vim server.xml

<Server port="8015" shutdown="SHUTDOWN">

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />

[2].将端口添加到防火墙

[root@host79 conf]# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT

[3].测试页面

[4].创建文件夹

[root@host79 /]# cd /opt/tomcat8080/apache-tomcat-7.0.70/webapps/

[root@host79 webapps]# mkdir edu

[root@host79 webapps]# cd edu

[root@host79 edu]# vim a.html

<h1>8080</h1>

[root@host79 /]# cd /opt/tomcat8081/apache-tomcat-7.0.70/webapps/

[root@host79 webapps]# mkdir vod

[root@host79 webapps]# cd vod

[root@host79 webapps]# vim a.html

<h1>8081</h1>

3.具体配置

[1].nginx配置文件(反向代理配置)

[root@host79 conf]# pwd

/usr/local/nginx/conf

[root@host79 conf]# vim nginx.conf

#通过以下命令查看防火墙是否放行8080 8081 8001端口

[root@host79 conf]# service iptables status

[root@host79 sbin]# pwd

/usr/local/nginx/sbin

[root@host79 sbin]# ./nginx -s reload

#若出现nginx: [emerg] invalid URL prefix in URL/nginx.conf,则配置nginx.conf时一定出错了

#若出现nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

,则是https://www.cnblogs.com/houss/p/11291629.html

[2].测试

二、负载均衡

1.实现效果

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

2.准备工作

[1].准备两个tomcat服务器,一个8080端口,一个8081端口

#8080tomcat

[root@host79 bin]# pwd

/opt/tomcat8080/apache-tomcat-7.0.70/bin

[root@host79 bin]# ./start

#8081tomcat

[root@host79 conf]# pwd

/opt/tomcat8081/apache-tomcat-7.0.70/conf

[root@host79 conf]# vim server.xml

<Server port="8015" shutdown="SHUTDOWN">

<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

<Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />

[2].将端口添加到防火墙

[root@host79 conf]# vim /etc/sysconfig/iptables

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 8081 -j ACCEPT

[3].创建文件

[root@host79 ~]# cd /opt/tomcat8080/apache-tomcat-7.0.70/webapps/

[root@host79 webapps]# mkdir pluto

[root@host79 webapps]# cd pluto

[root@host79 pluto]# vim a.html

<h1>8080!!!!!!</h1>

[root@host79 ~]# cd /opt/tomcat8081/apache-tomcat-7.0.70/webapps/

[root@host79 webapps]# mkdir pluto

[root@host79 webapps]# cd pluto

[root@host79 pluto]# vim a.html

<h1>8081!!!!!!!!!</h1>

[4].测试

3.nginx配置文件(负载均衡配置)

[root@host79 conf]# pwd

/usr/local/nginx/conf

[root@host79 conf]# vim nginx.conf

#gzip  on;

    upstream myserver{

        server 192.168.188.188:8080;

        server 192.168.188.188:8081;

    }

server {

        listen       80;

        server_name  192.168.188.188;

location / {

root   html;

            proxy_pass http://myserver;

index  index.html index.htm;

}

4.nginx分配服务器策略

[1].轮询(默认)

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

[2].weight

weight 代表权重默认为 1,权重越高被分配的客户端越多.weight 和访问比率成正比,用于后端服务器性能不均的情况。

[root@host79 conf]# pwd

/usr/local/nginx/conf

[root@host79 conf]# vim nginx.conf

#gzip  on;

    upstream myserver{

        server 192.168.188.188:8080 weight=10;

        server 192.168.188.188:8081 weight=5;

    }

server {

        listen       80;

        server_name  192.168.188.188;

location / {

root   html;

            proxy_pass http://myserver;

index  index.html index.htm;

}

[3].ip_hash

每个请求按访问 ip 的 hash 结果分配,这样每个访客固定访问一个后端服务器,可以解决 session 的问题

    upstream myserver{

        ip_hash

        server 192.168.188.188:8080;

        server 192.168.188.188:8081;

    }

[4].fair(第三方)

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

    upstream myserver{

        server 192.168.188.188:8080;

        server 192.168.188.188:8081;

        fair

    }

三、动静分离

1.实现效果

2.准备工作

[root@host79 /]# mkdir data

[root@host79 data]# mkdir www

[root@host79 data]# mkdir image

[root@host79 data]# ll

总用量 8

drwxr-xr-x. 2 root root 4096 8月  13 15:43 image

drwxr-xr-x. 2 root root 4096 8月  13 15:49 www

[root@host79 data]# cd www/

[root@host79 www]# vim a.html

<h1>test html!!!</h1>

[root@host79 data]# cd /data/image/

#上传一张图片

3.具体配置

[root@host79 /]# cd /usr/local/nginx/conf/

[root@host79 conf]# vim nginx.conf

4.测试

注:因为nginx.conf中添加了autoindex on;所以会自动列出所有的文件信息

Nginx实例的更多相关文章

  1. Docker学习笔记--Docker 启动nginx实例挂载目录权限不够(转)

    今天在启动一个docker 运行nginx实例,在挂载目录时,出现访问静态目录时,权限不够 执行的命令是: docker run --name my-nginx -d -p 80:80 --resta ...

  2. saltstack SLS 安装haproxy+nginx实例分析学习

    本文主要以实例的形式去熟悉sls的部署流程及相关模块的使用 文件下载:https://github.com/unixhot/saltbook-code 目录结构 [root@k8s_master sa ...

  3. docker安装nginx实例

    1.拉取nginx镜像: docker pull nginx 2.查看本地镜像文件: docker images 3.创建挂载目录:  mkdir -p /docker_data/nginx/{con ...

  4. Nginx模块参考手册:HTTP核心模块

    FROM: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=17238776&id=2982697 这些模块默认会全部编 ...

  5. LINUX测试环境部署nginx(五)

    安装配置nginx 安装编译环境:yum -y install pcre-devel openssl openssl-devel 拷贝nginx压缩文件到目标目录后,解压tar -zxvf nginx ...

  6. Nginx介绍

    原文:http://www.aosabook.org/en/nginx.html 作者: Andrew Alexeev nginx(发音"engine x")是俄罗斯软件工程师Ig ...

  7. Nginx 的启动、停止、平滑重启、信号控制和平滑升级

    Nginx 的启动         假设 nginx 安装在 /usr/local/nginx 目录中,那么启动 nginx 的命令就是: [root@localhost ~]# /usr/local ...

  8. Linux下Nginx的安装、升级及动态添加模块

    系统基于ubuntu server 14.04.4 amd64 安装 第一步 下载并解压Nginx压缩包 从Nginx官网下载Nginx,或者在Linux上执行wget http://nginx.or ...

  9. nginx 1.安装

    nginx 1.安装 nginx的众多优点这里就不多说了,直接开始吧. 基本依赖 yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel ...

随机推荐

  1. lumen路由

    $router->get('/', function () use ($router) { return config('options.author'); }); $router->ge ...

  2. D - 活动选择

    Description 学校的大学生艺术中心周日将面向全校各个学院的学生社团开放,但活动中心同时只能供一个社团活动使用,并且每一个社团活动开始后都不能中断.现在各个社团都提交了他们使用该中心的活动计划 ...

  3. Linux入门到放弃之六《磁盘和文件系统管理二》

    上一篇博客写到了如何创建卷组和创建逻辑卷,但是有一个问题,需要更大逻辑卷空间怎么办呢? 要求:使用lvextend命令为逻辑卷 mail扩充容量,从卷组 mail_store 上再 划出5GB给逻辑卷 ...

  4. Ngnix01

    Nginx(一)------简介与安装   目录 1.Nginx 的简介 2.Nginx 的常用功能 3.Nginx 安装 ①.下载地址 ②.Windows 版本安装 ③.Linux 版本安装 说到 ...

  5. Bootstrap Blazor 初体验

    自微软去年发布blazor以来,我也一直关注着blazor的动态,从net core 3.1 到 net 5,从 server side 到 wasm client , 点点滴滴印证了 blazor ...

  6. Lucas(卢卡斯)定理模板&&例题解析([SHOI2015]超能粒子炮·改)

    Lucas定理 先上结论: 当p为素数: \(\binom{ N }{M} \equiv \binom{ N/p }{M/p}*\binom{ N mod p }{M mod p} (mod p)\) ...

  7. 4G DTU和4G工业路由器有哪些区别?

    DTU的英文全称是Data Transfer unit,是一种专门用来将将IP数据转换为串口数据或者是将串口数据转换为IP数据并且通过无线通信网络将数据进行传送的无线终端设备.DTU也可以实现无线网络 ...

  8. .Net/.Net Core 的界面框架 NanUI 发布新版本啦!

    发布前感悟 NanUI 自从上一次更新 NanUI 0.7 已经过去大半年,B站和头条的教学视频也只制作到了第二集. 有朋友悄悄问我是不是发生什么事故我删库跑路了所以那么长时间不更新项目不发布教程,当 ...

  9. 解决 ‘Could not fetch URL https://pypi.python.org’的问题

    [前提]: win10下python3和python2共存环境,但是环境变量只配置了python3 [问题]: 用pip安装一个包执行pip2 install xxx的时候报错Fatal error ...

  10. gdb高级技巧

    注意: 这里是讲gdb的高级技巧.如果没有接触过gdb,请看这篇:点这里. gdb是一个功能极其强大的命令行调试器.其实,除了我们常用的 file b s n q disp p 等命令,也有很多高级技 ...