tomcat和Apache整合步驟(Apache设置反向代理供外网访问)

原创 2015年07月08日 19:11:38

Apache的默认端口是80,tomcat的默认端口是8080.想要既使用Apache处理静态网页,用tomcat处理动态的网页,就需要Apache和tomcat整合。Apache2.4.7自动集成了http的反向代理模块,稍微配置就行,Apache2.2没有集成websocket的模块,要想使用需要自己编译mod_proxy_wstunnel模块,具体编译步骤参考https://github.com/disconnect/apache-websocket和https://www.amoss.me.uk/2013/06/apache-2-2-websocket-proxying-ubuntu-mod_proxy_wstunnel/这里,但是推荐使用Apache2.4.7及以上版本。如果版本低建议升级。
模块

软件及版本:

操作系统:Ubuntu14.04 (64位)

Apache 2.4.7

tomcat 7.0.62

安装和环境变量配置这里不说了。网上很多,主要记录下整合的过程。

1.安装libapache2-mod-jk,

sudo apt-get install libapache2-mod-jk


2.打开/etc/apache2/mods-available/jk.conf文件修改,查看里面内容


可以看到JkWorkersFile /etc/libapache2-mod-jk/workers.properties 指向的是workers.properties文件

后面再加上

JkMount /rustezemyss/androidphone/ ajp13_worker
JkMount /rustezemyss/* ajp13_worker


ProxyRequests On
ProxyVia On

<Proxy *>
    Order deny,allow
    Allow from all
</Proxy>

<Location "/rustezemyss">
	ProxyPass http://127.0.0.1:8080/rustezemyss
	ProxyPassReverse http://127.0.0.1:8080/rustezemyss
</Location>

再编辑/etc/libapache2-mod-jk/workers.properties文件添加

worker.list = ajp13_worker,jk-status,jk-manager
worker.ajp13_worker.port=8080

worker.ajp13_worker.host=localhost
worker.ajp13_worker.type=ajp13
worker.loadbalancer.balance_workers=ajp13_worker

如下图:




3.然后查看这个文件是否指向/etc/apache2/mods-available/jk.conf


4 .修改/etc/apache2/sites-available/000-default.conf

在里面添加

JkMount /rustezemyss/androidphone ajp13_worker
JkMount /rustezemyss/web ajp13_worker
JkMount /rustezemyss/ ajp13_worker
JkMount /rustezemyss/* ajp13_worker
JkMount /rustezemyss/*.* ajp13_worker
6.打开$TOMCAT_HOME/conf/server.xml 文件。

<Service name="Catalina">
     ...
    <!-- Define an AJP 1.3 Connector on port 8080 -->
    <Connector port="8080" protocol="AJP/1.3" redirectPort="8443" />
    ...
</Service>

7.重启apache和tomcat

8。在浏览器输入网址




8080端口和80端口是一样的。完成


查看apache错误日志

gedit /var/log/apache2/error.log

linux在防火墙中添加转发规则。80端口重定向为8080端口,-A是增加 

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

删除规则 -D是删除

iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

目前只实现了http协议的反向代理

但是有一个很强大的websocket功能,反向代理还没实现好,目前还不知道怎么弄,好像需要重新编译apache,有一个插件https://github.com/disconnect/apache-websocket

但是我试了一下,编译有问题,找不到.h文件。而且Apache2.4.7好像本身就支持websocket反向代理,但是资料较少,目前还没有弄成功。有知道的朋友,请私信我,谢谢。

apachectl -v 查看apache版本号

查看已经被编译的模块:apachectl -l


apachectl -t -D DUMP_MODULES
查看apache加载模块


有时候,我们设置了反向代理,页面显示不正常是因为没有设置css,js等内容通过反向代理,或者找不到css、js等内容。设置方法是在httpd.conf或者000-default.conf中添加

ProxyPass /css/*.css !
ProxyPass /js/*.js !
ProxyPass /imag/*.png !
ProxyPass /swf/*.swf !
并且把css和js等内容放在www目录下。

另外查看apache收到的消息在/var/log/apache2下的access.log文件。查看错误日志是error.log



Apache 2.4.12支持 Websocket反向代理了,升级方法

sudo apt-add-repository ppa:ondrej/apache2
sudo apt-get update
sudo apt-get dist-upgrade



写个应用,可以实现长连接,点击close也不会出现500 internal error了。mark

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

linux apache反向代理 tomcat

转自:http://zhumeng8337797.blog.163.com/blog/static/10076891420114248261683/?suggestedreading&wumii ...

linux apache反向代理 tomcat

Apache HTTP server 和 Tomcat server 整合,一般是希望对于用户只公布 Apache HTTP server 的网址,而 Tomcat 的网址则不公布,扮演一个幕后英雄...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

Ubuntu 12下整合Apache Web Server 和Tomcat

Apache Web Server 和 Tomcat 都是Apache家族的产品,也都是Apache的顶级xian

apache和tomcat整合配置

1.apache version:2.2.15 ,tomcat version :6 2.httpd.conf  解开注释httpd-vhosts.conf 3.httpd-vhosts.conf 增...

apache 反向代理 配置

apache 反向代理 配置

Apache反向代理配置

Apache反向代理配置,可以实现同台或者多台服务器间的多http服务的统一代理。

Apache和Tomcat整合

最近公司要将Apache和Tomcat整合,在整合过程中碰到许多问题拿出来与大家分享一下。 首先为什么要将Apache和Tomcat整合呢: Apache和Tomcat都可以作为独立的web服务...

如何配置本地本地测试APP后台服务器-apache外网访问

做移动开发或者HTML5 App开发经常需要用到后台,产品初期都需要在本地测试,如果自己机器的IP是固定的,可以使用固定IP,手机和电脑接入在同一个网络即可,如果是动态IP的话不能每次都改代码中的IP...

apache和tomcat整合

一 Apache与Tomcat比较联系 apache支持静态页,tomcat支持动态的,比如servlet等。 一般使用apache+tomcat的话,apache只是作为一个转发,对js...

Apache反向代理

反向代理简言之就是通过一台代理服务器,让Internet用户可以访问到内部网络上的服务器。 实验环境:一台带有两块网卡的OB服务器,一块连接外网1.1.1.1,一块连接内网192.168.100.1...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)