1-(2)nginx反向代理

1、Nginx 配置实例1:反向代理

1.1、实现效果

(1)、打开浏览器,地址栏输入 www.123.com,跳转到 Linux 系统 tomcat 主页面中。

1.2、准备工作

1.2.1、在 Linux 系统安装 tomcat,使用默认端口 8080

(1)、将下载的 jdk 上传到 /usr/local 下,然后解压

 tar -zxvf jdk-8u212-linux-x64.tar.gz

解压完成后我们会看到 /usr/local 目录下有一个 jdk 1.8.0_212 的目录

(2)、配置环境变量

vim /etc/profile

在文件末尾添加如下内容:

# jdk环境变量配置
JAVA_HOME=/usr/jdk/jdk1.8.0_212
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME PATH

注:export JAVA_HOME 后接 jdk1.8 的安装路径。

(3)、使环境变量生效

source /etc/profile

(4)、验证jdk1.8是否安装成功

java -version

如下所示,表示jdk1.8安装成功:

[root@localhost local]# java -version
java version "1.8.0_212"
Java(TM) SE Runtime Environment (build 1.8.0_212-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.212-b10, mixed mode)

(5)、启动 tomcat ,进入 tomcat 解压 目录下的 */bin/ (/root/usr/ll/apache-tomcat-9.0.20/bin/)目录下,输入如下命令启动:

 ./startup.sh

进入日志文件目录下*/log/ (/root/usr/ll/apache-tomcat-9.0.20/log/)查看启动日志情况,输入如下命令:

tail -f catalina.out 

在主机浏览器输入IP和端口号查看,是否可访问。

1.2.2、在 Linux 系统安装 tomcat,使用默认端口 8080

(1)、linux 安装了tomcat 启动后无法访问解决办法

、首先查下看 Linux是否开放了端口

netstat -ntpl

netstat -nupl (UDP类型的端口)

netstat -ntpl (TCP类型的端口)

a 表示所有
n 表示不查询dns
t 表示tcp协议
u 表示udp协议
p 表示查询占用的程序
l 表示查询正在监听的程序

若出现:-bash: netstat: 未找到命令,则先安装 net-tools

 yum -y install net-tools

、输入命令查看:

[root@localhost logs]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      12143/nginx: master 
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6133/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      6460/master         
tcp6       0      0 :::8009                 :::*                    LISTEN      15992/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      15992/java          
tcp6       0      0 :::22                   :::*                    LISTEN      6133/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      6460/master         
tcp6       0      0 127.0.0.1:8005  

(2)、端口号是不是防火墙被拦截了

  防火墙负责端口是否对外开放,如果在配置中设置了不拦截我们就可以通过该端口访问服务器;如果不设置该端口对外开放,我们就不能通过该端口访问服务器

、检查防火墙是否在运行地的状态

systemctl status firewalld
[root@localhost bin]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2019-10-06 09:20:12 CST; 5h 54min ago
     Docs: man:firewalld(1)
 Main PID: 5600 (firewalld)
   CGroup: /system.slice/firewalld.service
           └─5600 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid

上面标识防火墙正在运行。

如果没有开启防火墙:
开启防火墙:

systemctl start firewalld

设置防火墙开机启动:

systemctl enable firewalld

(3)、端口开放设置
1)、查看放火墙对外开放的端口:

firewall-cmd --zone=public --list-ports
[root@localhost bin]# firewall-cmd --zone=public --list-ports
80/tcp

上面便是对防火墙开放端口列表。

2)、开启需要使用的端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

其中--permanent 的作用是使设置永久生效,不加的话机器重启之后失效

3)、重新载入一下防火墙设置,使设置生效

firewall-cmd --reload

4)、可通过如下命令查看是否生效

firewall-cmd --zone=public --query-port=8080/tcp

(4)、端口限制

#要限制的端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
#从新加载防火墙,使设置生效
firewall-cmd --reload
#再去查看系统所有开放的端口,限制的端口是否还存在
firewall-cmd --zone=public --list-ports

(5)、批量开放或限制端口
1)、批量开放端口,如从100到500这之间的端口全部要打开

firewall-cmd --zone=public --add-port=100-500/tcp --permanent

2)、批量限制端口,如从600到800这之间的端口全部限制

firewall-cmd --zone=public --remove-port=600-800/tcp --permanent

3)、重新载入防火墙设置

firewall-cmd --reload

1.3、访问过程分析

1.4、具体配置

1.4.1、在windows 系统的 host 文件中进行域名和 IP 对应关系的配置

位置:C:\Windows\System32\drivers\etc\hosts

添加内容:

192.168.92.128  www.123.com
1.4.2、在 nginx 中进行请求转发的配置(反向代理配置)

在配置文件中配置如下:


1.5、测试

2、Nginx 配置实例2:反向代理

实现效果:

&emps; 使用 nginx 反向代理,根据访问的路径跳转到不同端口的服务中,
  nginx 监听端口为 9001,
  访问:http: //192.168.92.128:9001/edu/ 直接跳转到 192.168.92.128:8080
  访问:http: //192.168.92.128:9001/vod/ 直接跳转到 192.168.92.128:8081

2.1、准备工作
(1)准备两个 tomcat 端口分别为 8080、8081

①、在 tomcat 解压文件或压缩文件所在目录下分别创建 tomcat8080、tomcat8081 文件夹。

[root@localhost ll]# ls
apache-tomcat-9.0.20  apache-tomcat-9.0.20.tar.gz  nginx-1.16.1  nginx-1.16.1.tar.gz  tomcat8080  tomcat8081

②、将解压的 apache-tomcat-9.0.20 分别复制一份到 tomcat8080 和 tomcat8081 中;或重新解压到 tomcat8080 和 tomcat8081 中

cp -r apache-tomcat-9.0.20 tomcat8080  
cp -r apache-tomcat-9.0.20 tomcat8081

③、修改 tomcat8081 中 tomcat 配置文件的 端口

 22 <Server port="8005" shutdown="SHUTDOWN">
 23   <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
 24   <!-- Security listener. Documentation at /docs/config/listeners.html
 25   <Listener className="org.apache.catalina.security.SecurityListener" />
 68     -->
 69     <Connector port="8081" protocol="HTTP/1.1"
 70                connectionTimeout="20000"
 71                redirectPort="8443" />
 72     <!-- A "Connector" using the shared thread pool-->
 73     <!--
115     <!-- Define an AJP 1.3 Connector on port 8009 -->
116     <Connector port="8019" protocol="AJP/1.3" redirectPort="8443" />
117 
118 
119     <!-- An Engine represents the entry point (within Catalina) that processes
120          every request.  The Engine implementation for Tomcat stand alone
(2)添加对应的显示

分别在tomcat8080、tomcat8081中的 Tmocat 的 webapps 文件下创建 edu和vod文件,并在文件夹里添加 a.html 文件。内容自己定义,可区分即可;

2.2、nginx 反向代理配置

进入nginx 的配置文件 nginx.conf 所在的位置,进行配置,配置如下:

 83     # another virtual host using mix of IP-, name-, and port-based configuration
 84     #
 85     server {
 86         listen       9001;
 87     #    listen       somename:8080;
 88         server_name  192.168.92.128;
 89 
 90         location ~ /edu/ {
 91                 proxy_pass http://127.0.0.1:8080;
 92     #        root   html;
 93     #        index  index.html index.htm;
 94         }
 95         location ~ /vod/ {
 96                 proxy_pass http://127.0.0.1:8081;
 97         }
 98     }
 99     
2.3、开放对应的端口号,并测试
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343

推荐阅读更多精彩内容