1. 程式人生 > >iis和tomcat同時執行,完美解決80埠衝突問題

iis和tomcat同時執行,完美解決80埠衝突問題

背景:一臺vps伺服器上需要同時執行兩個網站,節(老)省(板)成(扣)本,用一個伺服器。一個是已經建好的官網(iis管理一鍵安裝的PHP網站),另一個是java 專案網站(jeecg框架修改的商城專案)。

問題:之前的官網已經執行著了,並且佔用著了80埠,然而新的網站也需要用到80埠,(你不可能讓使用者登入商城網站,網址後面手動加埠號吧!)

解決:使用Nginx反向代理方式使兩者相容

解決步驟:

環境:Windows server 2003 IIS7  Tomcat8

(後來升級成Windows server 2003 IIS8同樣可用)

IIS使用的域名:www.abc.com

要使用tomcat的域名:www.123.cn

首先IIS和Tomcat準確無誤的執行起來

下載Nginx,版本只要在1.1以上基本都行。官網下載地址

①修改IIS的所有網站專案的埠,修改為非80埠,因為我們的nginx伺服器要佔用80埠。

②設定tomcat的配置檔案:server.xml,開啟:

重點在於配置加粗部分:包含埠號(82),監聽的域名。(這裡我已經把註釋全去掉了,省事,這是整個server.xml檔案)

<?xml version='1.0' encoding='utf-8'?>

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

  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

  <Listener className="org.apache.catalina.core.JasperListener" />

  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>

    <Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <Service name="Catalina">

    <Connector port="82" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" URIEncoding="UTF-8" />

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

    <Engine name="Catalina" defaultHost="www.123.cn">

      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

      </Realm>

      <Host name="www.123.cn"  appBase="webapps"

            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" />

<Context path = "" docBase = "d:/website/hlcg_war_exploded"  />

      </Host>

    </Engine>

  </Service>

</Server>

③來到nginx的conf目錄,開啟nginx.conf,對裡面修改如下:

(這裡主要是新增轉發的域名,對於IIS我們全轉發到對應域名加上81埠,對於tomcat的我們全加上82埠,其中Nginx監聽80埠)

#user  nobody;

worker_processes  1;

#error_log  logs/error.log;

#error_log  logs/error.log  notice;

#error_log  logs/error.log  info;

#pid        logs/nginx.pid;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    #access_log  logs/access.log  main;

    sendfile        on;

    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    server {

        listen       80;

        server_name  www.123.cn;

        location / {

       proxy_pass   http://www.123.cn:81;

        }

    }

    server {

        listen       80;

        server_name  www.abci.com;

        location / {

       proxy_pass   http://www.abc.com:82;

        }

    }

#可繼續按格式向下新增網址

}

Listen:Nginx監聽的埠(80),這裡不要改

server_name:Nginx監聽的域名。

proxy_pass:要轉發到的地址。

④開啟IIS伺服器,再開啟Tomcat伺服器,再開啟Nginx伺服器,訪問對應的域名,即Nginx配置中的server_name,記得不需要加埠!因為Nginx會幫你訪問這些網站。

搞定,外網訪問測試下吧

相關推薦

iistomcat同時執行完美解決80衝突問題

背景:一臺vps伺服器上需要同時執行兩個網站,節(老)省(板)成(扣)本,用一個伺服器。一個是已經建好的官網(iis管理一鍵安裝的PHP網站),另一個是java 專案網站(jeecg框架修改的商城專案)。 問題:之前的官網已經執行著了,並且佔用著了80埠,然而新的網站也需要

tomcat結合nginx實現多個tomcat同時執行tomcat負載均衡

相信很多人都聽過nginx,這個小巧的東西慢慢地在吞食apache和IIS的份額。那究竟它有什麼作用呢?可能很多人未必瞭解。 說到反向代理,可能很多人都聽說,但具體什麼是反向代理,很多人估計就不清楚了。摘一段百度百科上的描述: Html程式碼   反向代理

一臺電腦配置多個tomcat,同時執行互不衝突

當第一個tomcat啟動後,後面tomcat的server.xml中的埠不管怎麼改,仍然會報埠衝突。後來在dos下執行才發現所有的tomcat都會去找CATALINA_HOME和CATALINA_BASE這兩個環境變數,因此步驟如下: 1.使用壓縮版的tom

linux系統中部署專案驗證碼不能正常顯示而windows下面的tomcat執行驗證碼能正常顯示解決辦法

linux下驗證碼功能不能正常顯示 步驟方法:1、修改${TOMCAT_HOME}/bin/catalina.sh (windows修改catalina.bat)。2、查詢到-Djava.io.tmpdir="$CATALINA_TMPDIR"這行,3、並在這一行下加入:-Djava.awt.headles

C#實現資料回滾A事件B事件同時執行其中任何一個事件執行失敗都會返回失敗

  /// <summary> /// 執行資料庫回滾操作,用於sql語句執行失敗後,恢復執行前的資料 /// </summary> /// <param name="TableName">目標表</param> /// <param

nginx 配置 同一個域名 同時支援iistomcat

參考如下: http://127.0.0.1:8888 預設就是那個域名指向的網站 比如說localhost.  對應的我弄在了tomcat中,配置context上下文  空預設就是對應的這個應用網站  homeweb (這裡只是個名字,具體網站的資料夾名是在tomcat

POI 複製不同Sheet合成Excel檔案完美解決單元格樣式角標問題

專案背景: 1、需要從不同的Excel模板中讀取Sheet,生成到彙總的Excel檔案中 2、Excel格式是 Office2007版本,xlsx格式 3、需要將模板檔案的內容和格式,拷貝到新的檔案 4、解決POI 複製格式異常問題 工具程式碼: package com.sw

IISTomcat共用80後撤回Tomcat使用80

僅使用與使用isapi_redirect實現IIS和Tomcat公用80埠 1.停用IIS 2.進入控制面板-管理工具-服務,找到IIS Admin Service,並停止執行 3.找到登錄檔中的:HKEY_LOCAL_MACHINE/SOFTWARE/Apache Sof

ios 倒計時在退出應用出現js暫停狀態(沒有執行完美解決方式

ios的這個應用退出,js不執行的bug看了好多人寫的都有誤差,和偏差不是很正確,這個是優化後的 send_verify_code(){ // 驗證碼倒計時        this.count=60;//60s倒計時        this.show_timer=fal

研究Tomcat的結構徹底解決數據源連接數據庫

blog conf -s iar 系列 resource web程序 protoc nec Tomcatserver是由一系列的可配置俄組件構成的,當中核心的是Catalina Servlet容器,以下是組件關系 <Server><!--頂層元素

[轉載]java讀寫word文檔完美解決方案

重點 app PE 列表 mage too 介紹 代碼 而且 做項目的過程中,經常需要把數據裏裏的數據讀出來,經過加工,以word格式輸出。 在網上找了很多解決方案都不太理想,偶爾發現了PageOffice,一個國產的Office插件,開發調用非常簡單!比網上介紹的poi,

python matplotlib在mac os x 中如何顯示中文完美解決

新的 com sub ttf 一行 lan HR tar spa 一、 下載相關的中文字體 simhei 文件: 下載地址 二、通過以下代碼查找matplotlib的數據存放位置: import matplotlib print(matplotlib.matplotlib

JQuery - AjaxTomcat跨域請求問題解決方法!

頁面 解析json turn 圖片 fault $.ajax action 配置 span 在JQuery裏面使用Ajax和Tomcat服務器之間進行數據交互,遇到了跨域請求問題,無法成功得到想要的數據! 錯誤信息部分截圖: 通過錯誤信息判斷知道已經發生在Ajax跨域請求

saltstack狀態管理 部署 jdk tomcat執行

首先,在 /srv/salt 目錄下 建立 base,prod,test目錄,分別代表 基礎環境,生產環境 和 測試環境。基礎環境 是存放 公共的狀態,例如 命令 的 審計,核心引數的修改 [[email protected] salt]# cd /srv/salt/ [[emai

nohup&後臺執行程序檢視及終止 詳解

 nohup 和重定向 功能一樣,可用於定時啟動 1.nohup 用途:不掛斷地執行命令。 語法:nohup Command [ Arg … ] [ & ]   無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 n

Ajax同步非同步的區別如何解決跨域問題

同步的概念應該是來自於OS中關於同步的概念:不同程序為協同完成某項工作而在先後次序上調整(通過阻塞,喚醒等方式).同步強調的是順序性.誰先誰後.非同步則不存在這種順序性. 同步:瀏覽器訪問伺服器請求,使用者看得到頁面重新整理,重新發請求,等請求完,頁面重新整理,新內容出現,使用者看到新內容,進行下一步操作。

有關tomcat記憶體溢位的完美解決方法

tomcat記憶體溢位設定JAVA_OPTS 設定Tomcat啟動的初始記憶體 其初始空間(即-Xms)是實體記憶體的1/64,最大空間(-Xmx)是實體記憶體的1/4。可以利用JVM提供的-Xmn -Xms -Xmx等選項可 進行設定 例項,以下給出1G記憶體環境下java

linux下配置多個tomcat同時執行

在一臺linux下配置多個tomcat同時執行 詳細步驟如下: 1.在/etc/profile檔案下進行修改配置,如果安裝JDK的時候已經配置了JAVA環境變數,則無需再次配置.同時新增兩組CATALINA環境變數如下: 命令:#vi /etc/profile 如下為我的t

vue-cli3.0結合lib-flexible、px2rem實現移動端適配完美解決第三方ui庫樣式變小問題 vue-cli 3.0 搭建專案流程

公司最近做的一個移動端專案從搭框架到前端開發由我獨立完成,以前做移動端適配用的媒體查詢,這次想用點別的適配方案,然後就採用了vue-cli3.0結合lib-flexible、px2rem實現移動端適配的方案,開發過程中也遇到一些坑,自己選的方案自己填坑吧。以下記錄我的專案框架搭建及填坑方案。 搭建可以參考我

ntpdate ntpd同時開啟會導致ntpdate同步時間有誤

Issue Description 客戶遇到一個問題,在ntpdate時,同步時間總會出現錯誤 Analysis 這個問題在平臺上覆現不到,初步有懷疑為網路問題 不過,我有在log裡看到下面這個讓我比較介意: 16 Jul 10:17:11 ntpdate[522]