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會幫你訪問這些網站。
搞定,外網訪問測試下吧
相關推薦
iis和tomcat同時執行,完美解決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 配置 同一個域名 同時支援iis和tomcat
參考如下: 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
IIS和Tomcat共用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 - Ajax和Tomcat跨域請求問題解決方法!
頁面 解析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]