Windows下使用Tomcat + Nginx搭建测试环境

前言

前几天组内接了个新项目,没有git地址,没有数据库,没有测试环境,一切都要从头开始。这个项目运行的环境是windows系统,tomcat 容器,于是我们先在自己的电脑上试一试搭建环境。我们的项目有两个后端、两个前端。

一、tomcat容器搭建

1.下载安装tomcat

官网下载tomcat,也可网盘自取。

链接:https://pan.baidu.com/s/1rniAr6pykcKLQ3ld9rfP7Q

提取码:u1cm

复制这段内容后打开百度网盘手机App,操作更方便哦

下载下来之后,解压。放在任一磁盘,记住存放位置。接下来就是配置环境变量了。

2.配置环境变量

打开环境变量,在系统变量中点击“新建”,变量名填写:

CATALINA_HOME

变量值填写刚刚解压的tomcat存放路径。

image

接着再点击“新建”,变量名填写:

CATALINA_BASE

变量值填写解压后的tomcat存放路径。

image

然后选中系统变量中的Path变量,点击“编辑”,打开编辑窗口,再点击“编辑文本”,在末尾加上

%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;

点击“确定”,一路返回。

环境变量就配置好了,我们可以通过启动tomcat服务器看有没有配成功。启动tomcat有两种方法。

第一种,进入tomcat目录下,进入bin目录,双击startup.bat文件。

image

第二种,win+r 输入cmd 打开DOS窗口,进入tomcat下的bin目录,输入startup.bat回车,就可以启动tomcat了。

接下来在浏览器地址栏输入

localhost:8080

如果出现一只汤姆猫的页面,恭喜你,tomcat启动成功啦。

image

刚刚说了我们有两个后端服务。所以我在电脑上装了两个tomcat。

将刚才解压的tomcat再复制一份。不要单纯的以为进入bin目录,双击startup.bat文件就可以启动这个服务了,这样启动的还是第一个tomcat的服务。

怎样做才能启动第二个tomcat服务呢?

还是配置环境变量。新建第一个变量:

变量名:CATALINA_HOME1
变量值:第二个tomcat的存放目录

image

新建第二个变量:

变量名:CATALINA_BASE1
变量值:第二个tomcat的存放目录

image

接着编辑path变量的值,在末尾加上:

%CATALINA_HOME1%\lib;%CATALINA_HOME1%\bin;

最后,到bin目录下,修改所有的批处理文件。咋修改呢?将所有的“CATALINA_HOME”,替换成“CATALINA_HOME1”。所有的“CATALINA_BASE”,替换成 “CATALINA_BASE2”。每一个批处理文件,都修改保存。

image

最后,还要去conf目录下修改server.xml文件。主要是修改3个端口。这三个端口不能重复,也不能和第一个tomcat的3个端口重复。

#关闭tomcat通信接口
<Server port="7005" shutdown="SHUTDOWN">
#建立http连接 用,如浏览器访问
<Connector port="7070" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
#与其他http服务器通信接口,用于http服务器集合
<Connector port="7009" protocol="AJP/1.3" redirectPort="8443" />

修改后保存,这样再启动startup.bat,就是第二个tomcat服务了。

两个tomcat都配置好之后,将对应的后端war包,拷贝到对应的tomcat的webapps目录下。tomcat启起来之后会自动解压这个war包。

二、nginx按照部署

1.下载地址

windows版的nginx安装包,网盘自取:

链接:https://pan.baidu.com/s/1Ofjst6JU69OzxRxqfEv_Uw

提取码:ndgk

复制这段内容后打开百度网盘手机App,操作更方便哦

下载后解压即可使用。

2.启动nignx

解压后,有2种方式进行启动:

一、进入nginx目录,双击nginx.exe图标,可见黑窗口一闪而过,启动完毕。

二、命令行进入到nginx目录,输入start nginx启动。

然后打开浏览器输入localhost:80,出现nginx欢迎页面,说明配置没问题启动成功了。

3.配置

nignx的配置文件默认路径为:/conf/nginx.conf

Nginx默认端口是80,现在要通过nginx来反向代理后端的端口为8080的tomcat,配置如下

 //访问第一个后端服务的配置
server {
        listen       8112;//nginx端口号
        server_name  region.his.sso.com;//server名称

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   D:/code/region-his-sso-front;//前端资源地址
            index  index.html index.htm;
      #proxy_pass http://sso_server;
        }
    location /api/ {
                proxy_pass   http://127.0.0.1:8080/his-sso/api/;
                //proxy_pass 代理的tomcat的地址(ip+端口或者域名) 
                //后端服务地址
        }

  }
  
   //访问第二个后端服务的配置
    server {
        listen       8111;
        server_name  region.his.aers.com;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   D:/code/region-his-aers-front/dist;
            index  index.html index.htm;
      #proxy_pass http://aers_server;
        }
    
    location /api/ {
                proxy_pass   http://127.0.0.1:7070/his-aers/;
        }
  }

再配置一下host:

127.0.0.1 region.his.sso.com
127.0.0.1 region.his.aers.com

修改好配置文件之后保存,命令行输入nginx -s reload重新加载nginx。

常用的命令: 
nginx -v 查看nginx版本 
start nginx启动nginx命令 
nginx -s reload 修改了配置文件后重新reload 
nginx -s stop 立刻停止 
nginx -s quit 优雅地停止

4.浏览器访问

在地址栏输入:region.his.sso.com:8112,就可以访问前端页面了。

image

前端代码中配置了跳转链接http://region.his.aers.com:8111,登录上去之后,就可以跳到第二个前端服务的页面,第一个前端就是登录页面。

三、问题与思考

配置两个tomcat太麻烦了,有没有办法通过一个tomcat启动两个web应用呢?当然有啦~步骤如下:

1.Tomcat的解压文件目录下的conf文件夹中找到server.xml文件

2.找到server.xml文件的最底部的</Service>和</Server>标签

  </Service>
</Server>

3.上图两个标签之间添加下图代码

<Service name="Catalina">

    <!--1.修改port为想要的访问端口号,不能与已有的8080重复 -->
    <Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> 
    <!--2.修改port为想要的端口号,不能与已有的8009重复 --> 
    <Connector port="8010" protocol="AJP/1.3" redirectPort="8443" /> 
    <Engine name="Catalina" defaultHost="localhost"> 
        <Realm className="org.apache.catalina.realm.LockOutRealm"> 
            <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> 
        </Realm> 
        <!--3.修改appBase的值,值不能与已有的webapps重复 -->
        <Host name="localhost" appBase="webapps2" unpackWARs="true" autoDeploy="true"> 
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" /> 
            <!--4.修改path和docBase为需要启动的第二个项目名 --> 
            <Context path="/项目名" reloadable="true" docBase="/项目名"/> 
        </Host> 
    </Engine> 
</Service>

4.做完以上修改保存后,返回Tomcat根目录新建一个文件夹(注:该新建文件夹的命名必须和第三步骤3处的appBase的值保持一致,我这里的是webapps2,即文件的命名是webapps2)

5.将需要启动的两个项目war包分别放入webapps和webapps2文件夹中(各放一个),直接启动Tomcat

6.用Tomcat默认的端口(8080)和刚才添加的第三步骤中1处的端口(8081)就可以分别访问两个项目

网上说还可以在Host中新增Context,一个Context代表一个项目,没有实践过,以后有机会再试一试。

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

推荐阅读更多精彩内容