马老师,你好,我遇到的问题是,tomcat在本机上运行好使,而经理要求我把tomcat配置到我们公司的服务器上运行,我们公司的服务器的外网的ip地址是221.208.168.87,经理想让在tomcat中的应用程序,通过http://221.208.168.87:8080/xxxx,这样的形式访问,但是在其他机器上,甚至在本机都访问不了,请问马老师,要怎么配置啊?我猜的不错的话应该是配置conf中的,server.xml,但我不知道怎么配置,这个很急,谢谢马老师

解决方案 »

  1.   

    +2打开 conf/server.xml 里面查找 localhost,全替换成你的服务器的 IP 地址 (很多情况下不是 221.208.168.87,因为你的服务器不是直接连接到外网,比如 NAT ),然后再确保你的 DNS 配置是正确的,比如,你在 221.208.168.87 这台机上 ping 一下 221.208.168.87  这个 IP 地址,如果不成功说明你的网络设置有问题。下面举例说明路由器上有 NAT 时,如果不使用 NAT 而是服务器直接挂在外网上就不需要配置这个而是把 server.xml 中的 host 直接设置成 221.208.168.87 就可以了。举例:在使用 NAT 时:
    我有一个傻瓜型路由器,拨到 ADSL 后获得外网 IP 221.208.168.87,
    我的路由器上配置 NAT 把 80 端口转发到 192.168.1.10:8080 上。
    那么我在 telnet 221.208.168.87 80 时将会等同于 telnet 192.168.1.10 8080.
    那么这时候,我的 server.xml 中应该是配置 connector 使用 IP= 192.168.1.10, port=8080。
    这个配置我们应该可以在本地方法 http://192.168.1.10:8080.接下来,我们需要确保从外网能访问到 221.208.168.87 这台机,比如我 telnet 221.208.168.87 8080, 它应该能成功。如果不成功,可能是防火墙未开放 8080 端口。Ping 失败本身不能说明不可以访问,因为防火墙可能阻止 ICMP 消息通过(具体配置我也不清楚,通常我在防火墙设置中看到这个 ICMP 时就将全部类型的 ICMP 消息都设定为允许通过)。
      

  2.   

    不会没有设置成服务吧?在tomcat目录下,比如D:\apache-tomcat-6.0.26C:\>D:
    D:\>CD D:\apache-tomcat-6.0.26
    D:\apache-tomcat-6.0.26>bin\service.bat install然后,运行services.msc,找到tomcat服务,设置成自动运行,并启动。
    最后,不要忘记开防火墙