一篇文章掌握nginx——nginx代理不同项目

前面说完了nginx的安装与配置文件的介绍以及静态项目的访问:
一发入魂:一篇文章掌握nginx——nginx的安装
一发入魂:一篇文章掌握nginx——nginx的配置

下面我们说一下nginx如何反向代理tomcat项目。

首先我们在usr/src目录下面建一个software文件夹用于存放项目文件

[root@localhost usr]# cd /usr/src/
[root@localhost src]# mkdir software

在这里插入图片描述
tomcat文件拖进去。

[root@localhost software]# tar -zxvf apache-tomcat-7.0.70.tar.gz 
apache-tomcat-7.0.70/bin/catalina.sh
apache-tomcat-7.0.70/bin/configtest.sh

解压后进入bin目录启动tomcat
在这里插入图片描述
发现环境变量没有配置,我们配置一下环境变量。
具体参考一下文章:给虚拟机Linux系统配置java环境变量

配好了之后查看一下java版本:

[root@localhost etc]# java -version
java version "1.8.0_131"
Java(TM) SE Runtime Environment (build 1.8.0_131-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)

现在我们再去启动一下tomcat

[root@localhost bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/src/software/apache-tomcat-7.0.70
Using CATALINA_HOME:   /usr/src/software/apache-tomcat-7.0.70
Using CATALINA_TMPDIR: /usr/src/software/apache-tomcat-7.0.70/temp
Using JRE_HOME:        /usr/java/jdk1.8.0_131
Using CLASSPATH:       /usr/src/software/apache-tomcat-7.0.70/bin/bootstrap.jar:/usr/src/software/apache-tomcat-7.0.70/bin/tomcat-juli.jar
Tomcat started.
[root@localhost bin]# 

可以看到启动成功了。
看下日志
在这里插入图片描述
也是没问题的。 在tomcatwebapps下面创建文件夹testde,并在里面创建文件a.html,文件内容

<span>8080<span>

重启tomcat;

[root@localhost test]# pwd
/usr/src/software/apache-tomcat-7.0.70/webapps/test
[root@localhost test]# ll
总用量 4
-rw-r--r--. 1 root root 18 69 20:39 a.html
[root@localhost test]# 

下面我们修改一下nginx.conf

[root@localhost conf]# vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
保存后重启下nginx.

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

如上配置,我们监听 9001 端口,访问域名为 http://192.168.111.129:9001/test/a.html,故
访问该域名时会跳转到 127.0.0.1:8080 路径上。在浏览器端输入192.168.111.129:8080 结果如下:

在这里插入图片描述
我们发现已经成功的使用9001端口代理了8080端口。
重新准备一个tomcat将conf目录下的server.xml端口全部改成9080,也在webapps目录下面建一个test目录和b.html文件,内容<span>9080<span>。并启动
在这里插入图片描述
打开nginx配置文件修改

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述
修改配置文件如此.重启nginx,./nginx -s reload

[root@localhost nginx]# cd sbin/
[root@localhost sbin]# ll
总用量 4772
-rwxr-xr-x. 1 root root 4885184 5月  25 21:19 nginx
[root@localhost sbin]# ./nginx -s reload

我们去外网访问一下
在这里插入图片描述
在这里插入图片描述
nginx可以根据路径的不同,去访问不同的项目。

location 指令说明:

在这里插入图片描述
该指令用于匹配 URL。
语法如下:
1、= :用于不含正则表达式的 uri 前,要求请求字符串与 uri 严格匹配,如果匹配
成功,就停止继续向下搜索并立即处理该请求。
2、~:用于表示 uri 包含正则表达式,并且区分大小写。
3、~:用于表示 uri 包含正则表达式,并且不区分大小写。
4、^~:用于不含正则表达式的 uri 前,要求 Nginx 服务器找到标识 uri 和请求字
符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再使用 location
块中的正则 uri 和请求字符串做匹配。
注意:如果 uri 包含正则表达式,则必须要有 ~ 或者 ~
标识。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值