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端口冲突问题的更多相关文章
- 【tomacat集群】Linux或 window配置多个Tomcat同时运行-完美解决-未来星开发团队-费元星
Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本 如何在同一系统里同时启动多个Tomcat http://www.cnb ...
- Tomcat配置域名、ip访问及解决80端口冲突
1.先在tomcat下的conf下找到server.xml文件,用记事本打开后,首先对端口号进行修改,以前一直以为8080是默认的端口号,其实默认的端口号是80 <Connector port= ...
- apache与IIS共用80端口冲突解决方法
如果同一台电脑安装了apache和iis,会提示80端口冲突,如何解决apache与iis 80端口冲突的问题呢,并且同时使用apache和iis 将apache设为使用80端口,IIS使用其它端口, ...
- apache和IIS共存,服务器对外统一使用80端口
apache和IIS共用80端口为了PHP与ASP各自的执行效率,要在服务器上安装iis与Apache,但是无法同时使用80端口,否则其中必定有一个启动不了.让它们共存的并且访问网站不需要加端口号,解 ...
- Atitit. 解决80端口 System 占用pid 4,,找到拉个程序或者服务占用http 80服务
Atitit. 解决80端口 System 占用pid 4,,找到拉个程序或者服务占用http服务 这个是http.sys系统服务占用了... net stop http ,三,没法儿终止 1. 寻 ...
- IIS服务器和xampp中的appche服务器端口冲突解决办法
今天在启动xampp中的appche的时候,发现以前能起来的现在起不来了.想到可能是最近配置的系统自带的IIS服务器把appche的端口给占用了. (appche和iis的默认端口号都是:80:) 问 ...
- (7) 将tomcat HTTP连接器启动在80端口(jsvc使用详解)
让tomcat在80端口上运行 法一: 修改连接器的端口8080为80 <Connector port="8080" protocol="HTTP/1.1" ...
- 亲测有效,解决80端口被svchost.exe进程占用的问题,网上的方法不行,可以试试这个
先说网上无效的方法(个人尝试无效,不具有代表性): 网上第一个说法:把IIS给关了,Windows10系统本身IIS是处于禁用状态的,并且没有额外安装IIS和启动IIS. 网上第二个说法:和SQL S ...
- window 和 linux 环境下杀死tomcat进程——也可以解决其他端口被占用的问题
1.应用场景 在Windows或者linux操作系统中,我们在启动一个tomcat服务器时,经常会发现8080端口已经被占用的错误,而我们又不知道如何停止这个tomcat服务器. 2.window环境 ...
随机推荐
- C#概念总结(二)
1.C#的方法:<access Specifier> <Return Type>< Method Name>(Parmeter list){ method ...
- hdu1811 拓扑排序+并查集缩点
/*给定两个点之间的三种关系 = < >如果是=就将两点放到同一个集合里进行缩点 离线处理所有关系,先用并查集将等于关系缩成一个点 */ #include<bits/stdc++.h ...
- bzoj 1415
莫名互测题... 这题一看就是期望dp,可是不会转移,所以考试写50分暴力走人... #include <cstdio> #include <cmath> #include & ...
- 用HBuilderX 打包 vue 项目 为 App 的步骤
首先打包你的 vue 项目 生成 dist 文件夹,教程请移步 https://www.cnblogs.com/taohuaya/p/10256670.html 看完上面的教程,请确保 你是 将: ...
- Python变量的作用域
局部变量 局部变量是指在函数内部定义并使用的变量,他只在函数内部有效.即函数内部的名字只在函数运行时才会创建,在函数运行之前或者运行完毕之后,所有的名字就都不存在了.所以,如果在函数外部使用函数内部定 ...
- 修改ElementUI源码样式
参考:https://segmentfault.com/a/1190000010932321
- Html页面添加百度地图
1.进入百度地图开放平台 http://lbsyun.baidu.com/ 2.进入右上角的 “API控制台” 在这里创建应用 并 获取密钥 3.进入 如下地址 创建地图 http://api.m ...
- HDU 1573 X问题(中国剩余定理标准解法)
X问题 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- svn_linux + apache 实现网页访问svn
CentOS7:搭建SVN + Apache 服务器实现网页访问 1. 安装httpd 安装httpd服务: $ sudo yum install httpd 检查httpd是否安装成功: $ htt ...
- Tensorflow生成唐诗和歌词(下)
整个工程使用的是Windows版pyCharm和tensorflow. 源码地址:https://github.com/Irvinglove/tensorflow_poems/tree/master ...