apache(http代理)+tomcat

服务器上已经装了apache,但没有添加http代理的相关模块,比较麻烦,需要手动添加需要的module。

1. 首先,加入缓存支持的模块mod_cache.c,必须和cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c一起编译:

# cd /root/httpd-2.2.4/modules/cache/

# /usr/local/apache/bin/apxs -i -c ./mod_cache.c cache_util.c cache_cache.c cache_storage.c cache_pqueue.c cache_hash.c

# /usr/local/apache/bin/apxs -i -c ./mod_disk_cache

# vi /usr/local/apache/conf/httpd.conf

加入:

LoadModule cache_module modules/mod_cache.so
LoadModule disk_cache_module modules/mod_disk_cache.so

<IfModule disk_cache_module>
CacheRoot "/usr/local/apache/httpCathe"
CacheDirLevels 5
CacheDirLength 3
</IfModule>

取消Include conf/extra/httpd-vhosts.conf的注释


2. 加上vhost,vi /usr/local/apache/conf/extra/http-vhost.conf

<VirtualHost *:80>
RewriteEngine on
CacheEnable disk /
ProxyPass / http://10.170.78.158:8082/
ProxyPassReverse / http://10.170.78.158:8082/
</VirtualHost>


3. 尝试重启apache,但出现错误:invalid command "proxypass" ,perhaps misspelled or defined by a module not included in the server configuration

原来是没有安装mod_proxy模块。

# cd /root/httpd-2.2.4/modules/cache/

#/usr/local/apache/bin/apxs -i -c ./mod_proxy.c proxy_util.c (也是走了弯路才知道要两个一起编)

# /usr/local/apache/bin/apxs -c -i ./mod_proxy_ajp.c ajp*.c (同上)

# /usr/local/apache/bin/apxs -c -i ./mod_proxy_balancer.c mod_proxy_http.c

# /usr/local/apache/bin/apxs -c -i ./mod_proxy_connect.c (connect.c和上面两个一起编不会报错但不生成.so文件,只能单独编)


然后重启apache就可以用了。


新问题:1. 原来apache的80端口已经用作HLS发流服务器,所以和portal有冲突。解决办法:编辑conf/httpd.conf,增加一行:Listen 8088。编辑conf/extra/http-vhost.conf,将vhost端口改为8088。重启apache,搞定

2. 配置好的apache缓存目录没有任何文件,解决办法:修改缓存目录权限,chmod 777 /usr/loacal/apache/httpCache/。重启apache,搞定

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值