设为首页 收藏本站
查看: 695|回复: 0

[经验分享] 整合resin和apache

[复制链接]

尚未签到

发表于 2018-11-19 10:06:07 | 显示全部楼层 |阅读模式
  为什么要整合resin和apache,已经整合的好处如下:
  a.动静分离
  b.早起的resin、tomcat的http服务不太好
  c.早期的resin、tomcat对rewrite和expire功能不太好
  一、安装apache

[root@mylinux4 contrib]# yum -y install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel gcc gcc-devel gcc-c++ gcc-c++-devel
[root@mylinux4 contrib]# cd /opt/tools/
[root@mylinux4 tools]# tar -zxf httpd-2.2.23.tar.gz
[root@mylinux4 tools]# cd httpd-2.2.23
[root@mylinux4 httpd-2.2.23]# mkdir /usr/local/apache
[root@mylinux4 httpd-2.2.23]# ./configure --prefix=/usr/local/apache \
> --enable-deflate \
> --enable-headers \
> --enable-modules \
> --enable-so \
> --with-mpm=worker \
> --enable-rewrite
[root@mylinux4 httpd-2.2.23]# make && make install  二、为apache编译resin mod_caucho模块
[root@mylinux4 httpd-2.2.23]# cd /opt/tools/resin-3.1.13
[root@mylinux4 resin-3.1.13]# ./configure --with-apxs=/usr/local/apache/bin/apxs
[root@mylinux4 resin-3.1.13]# cd modules/c/src/
[root@mylinux4 src]# make
[root@mylinux4 src]# make install
[root@mylinux4 src]# ll /usr/local/apache/modules/
total 180
-rw-r--r-- 1 root root   9084 Oct  2 23:42 httpd.exp
-rwxr-xr-x 1 root root 170931 Oct  2 23:51 mod_caucho.so
[root@mylinux4 src]# tail -9 /usr/local/apache/conf/httpd.conf
#
# mod_caucho Resin Configuration
#
LoadModule caucho_module /usr/local/apache/modules/mod_caucho.so
ResinConfigServer localhost 6800
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
# 上面的配置是编译后产生的
[root@mylinux4 src]# vi /usr/local/apache/conf/httpd.conf
[root@mylinux4 src]# tail -9 /usr/local/apache/conf/httpd.conf
#
# mod_caucho Resin Configuration
#
LoadModule caucho_module /usr/local/apache/modules/mod_caucho.so
ResinConfigServer 192.168.100.182 6911
CauchoConfigCacheDirectory /tmp
CauchoStatus yes
# 修改一下resin的地址和端口  三、启动apache服务并测试
[root@mylinux4 src]# /usr/local/apache/bin/apachectl start
httpd: apr_sockaddr_info_get() failed for mylinux4.contoso.com
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
DSC0000.jpg

[root@mylinux4 src]# netstat -lntup|egrep "6911|6921|8080"
tcp        0      0 :::8080                     :::*                        LISTEN      54612/java         
tcp        0      0 ::ffff:192.168.100.182:6911 :::*                        LISTEN      54612/java         
tcp        0      0 ::ffff:127.0.0.1:6921       :::*                        LISTEN      54584/java         
[root@mylinux4 src]# /etc/init.d/resin stop
Stopping resin: .
[root@mylinux4 src]# netstat -lntup|egrep "6911|6921|8080"
DSC0001.jpg

  上面的测试结果说明,由apache进行静态内容的展示,而动态内容则交给resin进行解析并返回给apache.
  为了更有力的证明这一点,再来做一个测试:
[root@mylinux4 ~]# cd /usr/local/apache/htdocs/
[root@mylinux4 htdocs]# echo "99+1=" >> test.jsp
[root@mylinux4 htdocs]# ll
total 8
-rw-r--r-- 1 apache apache 44 Nov 21  2004 index.html
-rw-r--r-- 1 apache apache 15 Oct  3 00:51 test.jsp
[root@mylinux4 ~]# cd /usr/local/resin/webapps/ROOT/
[root@mylinux4 ROOT]# echo "Hello,world." >> test.jsp
[root@mylinux4 ROOT]# ll
total 12
-rw-r--r-- 1 root root 1507 Nov  9  2012 index.jsp
-rw-r--r-- 1 root root   13 Oct  3 01:13 test.jsp
drwxr-xr-x 5 root root 4096 Oct  2 21:35 WEB-INF  在apache的根目录/usr/local/apache/htdocs中创建一个test.jsp,内容是“99+1=”,并在resin的web目录/usr/local/resin/webapps/ROOT也创建一个test.jsp,内容是“Hello,world.”,在浏览器中打开,看浏览器返回的内容:
DSC0002.jpg

  返回的内容是resin的web目录中test.jsp中的内容,再一次证明动态内容交给resin进行处理。
  四、配置动态和静态内容都交给resin进行处理

  [root@mylinux4 src]# tail -9 /usr/local/apache/conf/httpd.conf
  # mod_caucho Resin Configuration
  #
  

  LoadModule caucho_module /usr/local/apache/modules/mod_caucho.so
  

  ResinConfigServer 192.168.100.182 6911
  SetHandler caucho-request #添加这一行内容
  CauchoConfigCacheDirectory /tmp
  CauchoStatus yes
  [root@mylinux4 src]# /usr/local/apache/bin/apachectl graceful
  浏览器访问测试:
DSC0003.jpg

  可以看到,这是resin的web首页index.jsp的内容。
  五、在apache中配置虚拟主机转发resin解析

  1、在apache中创建一个虚拟主机
  [root@mylinux4 src]# tail -21 /usr/local/apache/conf/extra/httpd-vhosts.conf
  
      ServerAdmin admin@contoso.com
      DocumentRoot "/var/www/html/mylinux4"
      ServerName www.mylinux4.com
      ServerAlias mylinux4.com
      ErrorLog "logs/www.mylinux4.com-error_log"
      CustomLog "logs/www.mylinux4.com-access_log" common
  

     
      options -Indexes +FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
     
  #Resin configuration
  ResinConfigServer  192.168.100.182 6911
  SetHandler  caucho-request #这里设置虚拟主机将所有请求都转给resin进行解析
  
  2、创建站点目录和主页文件
  [root@mylinux4 src]# mkdir /var/www/html/mylinux4
  [root@mylinux4 src]# echo "mylinux4 from vhost in apache." >>/var/www/html/mylinux4/index.html
  [root@mylinux4 src]# /usr/local/apache/bin/apachectl -t
  Syntax OK
  [root@mylinux4 src]# /usr/local/apache/bin/apachectl graceful
  [root@mylinux4 src]#
  3、修改hosts文件
  在hosts文件中添加如下内容:
  192.168.100.182  www.mylinux4.com
  4、在浏览器中打开
DSC0004.jpg

  同样的,在linux上curl一个不存在的页面,将返回如下内容:

  [root@mylinux4 src]# curl http://www.mylinux4.com/a.html
  
  404 Not Found
  
  404 Not Found
  /a.html was not found on this server.
  
  
  Resin/3.1.13
  
  
  上面的内容也说明,该请求是由resin进行处理的。
  5、下面将转发给resin的设置注释掉,再进行测试。
  
      ServerAdmin admin@contoso.com
      DocumentRoot "/var/www/html/mylinux4"
      ServerName www.mylinux4.com
      ServerAlias mylinux4.com
      ErrorLog "logs/www.mylinux4.com-error_log"
      CustomLog "logs/www.mylinux4.com-access_log" common
  

     
      options -Indexes +FollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
     
  #Resin configuration
  #ResinConfigServer  192.168.100.182 6911
  #SetHandler  caucho-request
  
  [root@mylinux4 src]# /usr/local/apache/bin/apachectl graceful
DSC0005.jpg

  同样的,curl一个不存在的页面,出现的结果如下:

  [root@mylinux4 src]# curl http://www.mylinux4.com/a.html
  
  
  404 Not Found
  
  Not Found
  The requested URL /a.html was not found on this server.
  
  这里并没有转发给resin。
  六、resin配置多个虚拟主机

      
-Xmx256m
-Xss1m
-Xdebug
-Dcom.sun.management.jmxremote
1M
256
65s
128
15s
   
   
      
-Xmx256m
-Xss1m
-Xdebug
-Dcom.sun.management.jmxremote
1M
256
65s
128
15s
      七、配置resin多站点目录

  把host-default 模块删除,添加下面的内容。在对应的位置添加


www.demo1.org
      
      
                          
                                 5
                                 12000
                          
                          
                                 /resin-status-www.demo1.com
                                 
                          
                              
         
         
                 utf-8
                 
                        
                        
                 
                        
                                 
                                         /*
                                 
                        
        
                 
                 




www.demo2.com
      
      
                          
                                 5
                                 12000
                          
                          
                                 /resin-status-www.demo2.com
                                 
                          
                              
         
         
                 utf-8
                 
                        
                        
                 
                        
                                 
                                         /*
                                 
                        
        
                 
                 
  八、错误优雅显示

  九、修改resin的默认日志配置

  resin的默认日志设置格式为:
  一般我们采用下面的方式记录日志(记录每一天的日志):

  而resin日志内容的格式为:


  我们也对此进行修改,示例如下:


  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-636881-1-1.html 上篇帖子: RedHat 6 安装配置Apache 2.2 下篇帖子: RedHat 7 安装配置Apache 2.4
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表