自己装jdk,resin和nginx以及nginx需要的pcre和jvm

本文详细介绍了如何自行安装并配置Java、Resin、nginx及其依赖组件,包括pcre和jvm的安装过程,以及如何通过bash脚本进行自动化部署和维护。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

自己装jdk,resin和nginx以及nginx需要的pcre和jvm 

mkdir java
  ls
 cd local
  ls
  sudo cp jdk-6u26-linux-i586.bin /usr/java
  cd ../java
  ls
  chmod +x jdk-6u26-linux-i586.bin
  ./jdk-6u26-linux-i586.bin
  ls
  cd jdk1.6.0_26/
  ls
  cd ..
  ls
  java -version
  cat /etc/profile
 vi /etc/profile
 
  tar zxvf resin-pro-3.0.25.tar.gz
  ls
   cd resin-pro-3.0.25
  ls
 ./configure --prefix=/usr/local/resin
 ls
  make
  make install
 

 tar zxvf pcre-8.10.tar.gz
cd pcre-8.10/
./configure
make && make install

然后解压nginx-upstream-jvm-route
 unzip 1036375_1271836572.zip

解压nginx
 tar zxvf nginx-0.7.67.tar.gz
 ls
 cd nginx-0.7.67
 ls
 patch -p0 < /usr/local/nginx-upstream-jvm-route/nginx_upstream_jvm_route/jvm_route.patch

 ./configure --prefix=/usr/local/nginx --with-http_stub_status_module   --with-http_ssl_module --add-module=/usr/local/nginx-upstream-jvm-route/nginx_upstream_jvm_route/
 make
 make install

 

安装ant:

   47  tar -xvf apache-ant-1.7.1.tar
   48  ls
   49  cd apache-ant-1.7.1
   50  ls
直接解压缩就行,然后配置环境变量

export ANT_HOME=/usr/local/apache-ant-1.7.1
export JAVA_HOME=/usr/java/jdk1.6.0_26
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:.
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$ANT_HOME/bin

再打开新的shh连接执行ant -version看是否安装上。

build.xml

<?xml version="1.0" encoding="GBK"?>
<!-- SIP项目build文件1.0 -->
<!-- RICHARDZHAO 2008-03-25-->
<project name="Pickoo" default="help" basedir=".">
 <property name="deploy" location="./bin/deploy.sh"/>
 <!-- 加载SVN配置属性 -->
 <property file="conf/svn.properties"/>
 
 <!-- 加载服务器配置属性 -->
 <property file="conf/server_node1.properties"/>
 <property file="conf/server_node2.properties"/>
 <property file="conf/server_node3.properties"/>
 <!-- 项目信息 -->
 <property name="projectname" value="Pickoo" />
 <property name="version" value="1.0" />
 <property name="peak-jar" value="${projectname}-${version}.jar"/>
 <property name="peak-test-jar" value="${projectname}-test-${version}.jar"/>
 <property name="peak-client-jar" value="${projectname}-client-${version}.jar"/>

  
 <!-- 源文件属性定义 -->
 <property name="src" value="src" />
 <property name="testsrc" value="testSrc" />
 <property name="test_src" value="test_src" />
 <property name="conf" value="conf" />
 <property name="war" value="WebRoot" />
 <property name="war.lib" value="${war}/WEB-INF/lib" />
 <property name="depend-libs" value="WebRoot/WEB-INF/lib" />
 <property name="release" value="release" />
 <property name="webclasses" value="WebRoot/WEB-INF/classes"/> 
 <property name="webinfo" value="WebRoot/WEB-INF"/>

 <!-- Build属性定义 -->
 <property name="build" value="ant/build"/> 
 <property name="tmpclasses" value="build/classes"/>
 <property name="tmptestclasses" value="build/testclasses"/>
 <property name="clientclasses" value="build/clientclasses"/>
 
  <!--svn本身需要的运行库 -->
    <path id="svnant.lib">
        <pathelement location="${svnjavahl.jar}" />
        <pathelement location="${svnant.jar}" />
        <pathelement location="${svnClientAdapter.jar}" />
    </path>
   
     <!-- load the svn task -->
    <taskdef name="svn" classname="org.tigris.subversion.svnant.SvnTask" classpathref="svnant.lib" />

    <!--svn 下载整个模块-->
    <target name="svn-checkout-module">
     <input message="请输入版本号:" addproperty="ver" />
        <svn username="{username}" password="${password}" javahl="false">
            <checkout url="${svnroot}" destPath="${ver}/${svnmoduleName}" />
        </svn>
    </target>
   
        <!-- #################################### -->
        <!-- 创建Build时候需要的临时目录,拷贝    -->
        <!-- 源代码、配置、页面文件到临时目录备用 -->
        <!-- #################################### -->
        <target name="prepare" description="prepare">
          <mkdir dir="${ver}/${svnmodule}/${tmpclasses}"/>
                            <mkdir dir="${ver}/${svnmodule}/${webclasses}"/>
                        <mkdir dir="${ver}/${svnmodule}/${tmptestclasses}"/>
                        <mkdir dir="${ver}/${svnmodule}/${clientclasses}"/> 
   <mkdir dir="${ver}/${svnmodule}/${release}"/>
        </target>
       
        <!-- #################################### -->     
        <!--  编译源代码类文件                    -->
        <!-- #################################### -->
    <target name="compile" description="compile" >   
   <input message="请输入版本号:" addproperty="ver" />
    <antcall target="prepare">
      <param name="ver" value="${ver}"/>
    </antcall>            
   <mkdir dir="${ver}/${svnmodule}/${webclasses}"/>  
   <javac srcdir="${ver}/${svnmodule}/${src}" destdir="${ver}/${svnmodule}/${webclasses}"  source="1.5" target="1.5" encoding="GBK" debug="on">
   <classpath>
     <fileset dir="${ver}/${svnmodule}/${depend-libs}" includes="*.jar"/>
     <fileset dir="${ver}/${svnmodule}/${depend-libs}" includes="*.zip"/>

    </classpath>
     <include name="**/*.java" />
   </javac>
    <copy todir="${ver}/${svnmodule}/${webclasses}">
      <fileset dir="${ver}/${svnmodule}/${src}">
        <include name="com/**/*.xml"/>
      </fileset>
      <fileset dir="${ver}/${svnmodule}/conf">
        <include name="*.xml"/>
      </fileset>
    <fileset dir="${ver}/${svnmodule}/conf">
         <include name="*.properties"/>
       </fileset>
    </copy>         
    </target>
 
  <!-- #################################### -->     
        <!--  更新并编译源代码类文件                    -->
        <!-- #################################### -->
    <target name="update-compile" description="update-compile" >   
   <input message="请输入版本号:" addproperty="ver" />
    <antcall target="prepare">
      <param name="ver" value="${ver}"/>
    </antcall>  
   <antcall target="svnupdate-src">
     <param name="ver" value="${ver}"/>
   </antcall>          
   <mkdir dir="${ver}/${svnmodule}/${webclasses}"/>  
   <javac srcdir="${ver}/${svnmodule}/${src}" destdir="${ver}/${svnmodule}/${webclasses}"  source="1.5" target="1.5" encoding="GBK" debug="on">
   <classpath>
     <fileset dir="${ver}/${svnmodule}/${depend-libs}" includes="*.jar"/>
     <fileset dir="${ver}/${svnmodule}/${depend-libs}" includes="*.zip"/>

    </classpath>
     <include name="**/*.java" />
   </javac>
    <copy todir="${ver}/${svnmodule}/${webclasses}">
      <fileset dir="${ver}/${svnmodule}/${src}">
        <include name="com/**/*.xml"/>
      </fileset>
      <fileset dir="${ver}/${svnmodule}/conf">
        <include name="**/*.xml"/>
      </fileset>
    <fileset dir="${ver}/${svnmodule}/conf">
         <include name="**/*.properties"/>
       </fileset>
    </copy>         
    </target>
  
  <!-- #################################### -->     
        <!--  更新properties文件                  -->
        <!-- #################################### -->
  <target name="properties" description="properties" >   
           
      <copy todir="${ver}/${svnmodule}/${webclasses}">

                 <fileset dir="${ver}/${svnmodule}/conf">
                         <include name="*.properties"/>
                 </fileset>
   </copy>         
        </target>

        <!-- ###################################### -->            
         <!--  部署war下的单个页面文件到服务器node2 -->
        <!-- ###################################### --> 
        <target name="update-file" description="deploy project file to server ." >
           <input message="请输入版本号:" addproperty="ver" />
           <input message="请输入要部署的目录:" addproperty="dir" /> 
          <input message="请输入要部署的文件:" addproperty="file" /> 
           <echo message=" dir=${dir} ver=${war}/${dir}/${file}"/>
           <svn username="{username}" password="${password}" javahl="false">
            <update   file="${ver}/${svnmodule}/${war}/${dir}/${file}"/>
           </svn>    
  </target>  

  <!-- ###################################### -->            
         <!--  部署src下的单个页面文件到服务器node2 -->
        <!-- ###################################### --> 
        <target name="update-src" description="deploy project src file to server ." >
           <input message="请输入版本号:" addproperty="ver" />
           <input message="请输入要部署的目录:" addproperty="dir" /> 
          <input message="请输入要部署的文件:" addproperty="file" /> 
           <echo message=" dir=${dir} ver=${src}/${dir}/${file}"/>
           <svn username="{username}" password="${password}" javahl="false">
            <update   file="${ver}/${svnmodule}/${src}/${dir}/${file}"/>
           </svn>    
  </target>

  <!-- ####################################### -->            
         <!--  部署conf下的单个页面文件到服务器node2 -->
        <!-- ####################################### --> 
        <target name="update-conf" description="deploy project conf file to server ." >
           <input message="请输入版本号:" addproperty="ver" />
           <input message="请输入要部署的目录:" addproperty="dir" /> 
          <input message="请输入要部署的文件:" addproperty="file" /> 
           <echo message=" dir=${dir} ver=${conf}/${dir}/${file}"/>
           <svn username="{username}" password="${password}" javahl="false">
            <update   file="${ver}/${svnmodule}/${conf}/${dir}/${file}"/>
           </svn>    
  </target>
 
  <!-- #################################### -->     
        <!-- SVN更新:Java源代码                    -->
        <!-- #################################### -->
        <target name="svnupdate-src" >
   <input message="请输入版本号:" addproperty="ver" />  
      <antcall target="svnupdate-dir">
        <param name="ver" value="${ver}"/>
        <param name="dir" value="${src}"/>
      </antcall> 
        </target>

        <!-- #################################### -->     
        <!-- SVN更新:webapp                -->
        <!-- #################################### -->
        <target name="svnupdate-war">
   <input message="请输入版本号:" addproperty="ver" />  
      <antcall target="svnupdate-dir">
        <param name="ver" value="${ver}"/>
        <param name="dir" value="${war}"/>
      </antcall>    
        </target>
 
         <!-- #################################### -->     
        <!-- SVN更新:conf                -->
        <!-- #################################### -->
        <target name="svnupdate-conf">
   <input message="请输入版本号:" addproperty="ver" />  
      <antcall target="svnupdate-dir">
        <param name="ver" value="${ver}"/>
        <param name="dir" value="${conf}"/>
      </antcall>    
        </target>
              
        <!-- #################################### -->     
        <!-- SVN更新:指定目录                -->
        <!-- #################################### -->
        <target name="svnupdate-dir" id="svnupdate-dir">
 <input message="请输入要更新的目录:" addproperty="dir" />  
 <input message="请输入版本号:" addproperty="ver" />  
 <echo message=" dir=${dir} ver=${ver}"/>
          <echo message=" dir=${dir} ver=${ver}/${svnmodule}/${dir}"/>
          <svn username="{username}" password="${password}" javahl="false">
            <update  dir="${ver}/${svnmodule}/${dir}" />
        </svn>
        </target>
        <target name="updateSVN" >
         <input message="请输入要更新的目录:" addproperty="dir" />
          <input message="请输入版本号:" addproperty="ver" />
           <svn username="${username}" password="${password}" javahl="true">
             <update dir="${ver}/${svnmodule}/${dir}" />
           </svn>
          <svn javahl="true">
           <log destfile="revision.log"
              path="${ver}/${svnmodule}/${dir}"
              asXml="false"
              startRevision="HEAD"
              stopRevision="PREV" />
         </svn>
         <echo message="Update finished successfully, please see attached for version information!" />
          </target>
         <target name="updateReversion" >
          <input message="请输入要更新的目录:" addproperty="dir" />
          <input message="请输入版本号:" addproperty="ver" />
           <input message="请输入更新的svn版本:" addproperty="reversion" />
           <svn username="${username}" password="${password}" javahl="true">
             <update dir="${ver}/${svnmodule}/${dir}" revision="${reversion}"/>
           </svn>
          <svn javahl="true">
           <log destfile="revision.log"
              path="${ver}/${svnmodule}/${dir}"
              asXml="false"
              startRevision="HEAD"
              stopRevision="PREV" />
         </svn>
         <echo message="Update finished successfully, please see attached for version information!" />
         </target>
 <target name="help" description="Project building help.">
         <echo message="Pickoo项目管理使用说明"/>
  <echo message="------------------------------------------------------"/>  
  <echo message="ant  help                使用说明"/>
  <echo message=""/>
  
    <echo message="第一步、选择下列方式,从SVN更新"/>
    <echo message=""/>
  <echo message="ant  svn-checkout-module -Dver=HEAD         更新整个模块"/>
  <echo message="ant  svnupdate-war -Dver=HEAD             更新war全部文件"/>
  <echo message="ant  svnupdate-src -Dver=HEAD      更新src全部"/>
  <echo message="ant  svnupdate-conf -Dver=HEAD      更新conf全部"/>
  <echo message="ant  properties -Dver=HEAD             更新properties文件"/>
    <echo message="ant  update-file  -Dver=HEAD -Ddir=dir -Dfile=file   部署war下的单个文件到目标服务器node"/>
 <echo message="ant  update-src   -Dver=HEAD -Ddir=dir -Dfile=file   部署src下的单个文件到目标服务器node"/>
 <echo message="ant  update-conf  -Dver=HEAD -Ddir=dir -Dfile=file   部署conf下的单个文件到目标服务器node"/>
  <echo message=""/>
  <echo message="第二步、编译代码"/>
  <echo message="ant  compile -Dver=HEAD           编译Java类源文件"/>
  <echo message="ant  update-compile -Dver=HEAD    更新并编译Java类源文件"/>
                <echo message="ant  updateSVN -Dver=HEAD -Ddir=dir 编译log"/>
                <echo message="ant  updateReversion -Dver=HEAD -Ddir=dir -Dreversion=PREV 更新PREV版本"/>
    </target>
    <target name="clean" description="clean...">
   <delete dir="${build}"/>
    </target>

</project>
///////////////////////////////////////////////////////////////

nginx安装第三方模块 :

nginx_upstream_jvm_route 是一个 Nginx 的扩展模块,用来实现基于 Cookie 的 Session Sticky 的功能。

安装方法(进入Nginx源码目录):

#patch -p0 < /path/to/this/directory/jvm_route.patch
# ./configure --prefix=/usr/nginx-0.8.1 --with-http_stub_status_module --add-module=/path/to/this/directory/
#make
#make install

例如以下配置:

1. Resin:

upstream backend {
    server 192.168.0.100 srun_id=a;
    server 192.168.0.101 srun_id=b;
    server 192.168.0.102 srun_id=c;
    server 192.168.0.103 srun_id=d;

    jvm_route $cookie_JSESSIONID;
}

2. Tomcat:

upstream backend {
    server 192.168.0.100 srun_id=a;
    server 192.168.0.101 srun_id=b;
    server 192.168.0.102 srun_id=c;
    server 192.168.0.103 srun_id=d;

    jvm_route $cookie_JSESSIONID reverse;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值