把reb工程部署到linux上面,遇见如下几个问题,记录备案。
1、reb-service,dubbo的服务提供者,部署的时候,日志显示ip指到外网了,因为linux上是多网卡,所以dubbo的配置文件需要指定本机ip。可以参考http://dubbo.io/的开发文档。
<dubbo:provider> host <host> string 可选 自动查找本机IP 服务发现 服务主机名,多网卡选择或指定VIP及域名时使用,为空则自动查找本机IP,建议不要配置,让Dubbo自动获取本机IP
<dubbo:application name="reb-service" />
<dubbo:registry address="zookeeper://10.6.2.96:2181" />
<dubbo:protocol name="dubbo" port="20881" host="10.6.2.95"/>
2、一个tomcat部署多个应用,并且每个应用都用80端口不带工程名访问。修改tomcat下面的server.xml.
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
<Host name="www.quds.com" appBase="quds"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
</Host>
</Engine>
3、80端口必须linux的root用户启动,默认情况下Linux的1024以下端口是只有root用户才有权限占用。
本文档记录了REB工程部署到Linux环境时遇到的问题及其解决方案,包括:配置Dubbo服务提供者时指定本地IP的方法;在一个Tomcat实例中部署多个应用并实现80端口无工程名访问的技术细节;以及解决Linux系统中root用户才能占用1024以下端口的问题。

被折叠的 条评论
为什么被折叠?



