zoukankan      html  css  js  c++  java
  • 让Debian服务器支持jsp程序

    From:http://www.linuxsir.org/bbs/thread336246.html

    Author:cioworld

    我用Debian架好了Apache2+PHP5+MySQL5环境,一朋友把他的网站移过来,我倒,竟然用的JSP的程序架的。得,要快点支持jsp。偶以前没弄过,找了N多资料(先鄙视一下那些垃圾站,抓文章都抓的不完整,让人没法看,Y的还把排名弄得这么前,害人命啊。弄垃圾站你也要弄得专业点嘛!)都让我看得头大。最后参考了N多资料把这tomcat给弄起来了。其实也很简单,为什么有人非写得那么复杂,让我一看就不愿意试。没办法,我只好先弄好之后写上一篇,方便自己。

    一、安装jdk6

    PHP 代码:
    sudo aptitude install sun-java6-jdk 
    设定一下环境变量JAVA_HOME,很多人在/.profile或~/.bashrc中加一堆东西。烦,我还是加在environment中好。
    PHP 代码:
    sudo vim /etc/environment
    JAVA_HOME
    =/usr/lib/jvm/java-6-sun 
    二、安裝tomcat6

    本想安装源里的,后来一看有点老,而且安装最新的也不麻烦。就安装最新的吧。

    Apache Tomcat 主页地址:
    http://tomcat.apache.org/
    下载地址:
    http://tomcat.apache.org/download-60.cgi

    PHP 代码:
    #下载最新的版本:apache-tomcat-6.0.18
    wget -c http://apache.freelamp.com/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
    sudo tar zxvf apache-tomcat-6.0.18.tar.gz #解压缩
    #移动到 /usr/local 下,这是本地系统管理员用来自由添加程序的目录。
    sudo mv apache-tomcat-6.0.18 /usr/local/tomcat6   # 重命名新的tomcat6文件夹
    chmod 755 /usr/local/tomcat6/bin/*.sh  #给.sh文件加个执行权限
    #添加一个独立运行此服务的用户tomcat,登陆设置为nologin。防止他拥用root权限给系统带来安全隐患。我们用下面的命令:
    $ sudo useradd -d /usr/local/tomcat6 -s /usr/sbin/nologin tomcat
    #设置用户tomcat对tomcat的权限
    $ sudo chown -R tomcat:tomcat /usr/local/tomcat6 
    如果不想每次进系统还需要手动启动tomcat,就可以在/etc/init.d/加个tomcat来用。
    PHP 代码:
    sudo vim /etc/init.d/tomcat

    # Tomcat auto-start
    #
    # description: Auto-starts tomcat
    # processname: tomcat
    # pidfile: /var/run/tomcat.pid
    export JAVA_HOME=/usr/lib/jvm/java-6-sun
    case $1 in
    start
    )
            
    sh /usr/local/tomcat6/bin/startup.sh
            
    ;;
    stop)  
            
    sh /usr/local/tomcat6/bin/shutdown.sh
            
    ;;
    restart)
            
    sh /usr/local/tomcat6/bin/shutdown.sh
            sh 
    /usr/local/tomcat6/bin/startup.sh
            
    ;;
    esac   
    exit 
    编辑好文件保存后,再给文件加个权限。

    PHP 代码:
    sudo chmod 755 /etc/init.d/tomcat 
    再给系统启动目录中加上软链接,rc1.d目录中的打头字母用K,rc2.d目录中用S,因为系统先执行K再执行S。
    PHP 代码:
    sudo ln -/etc/init.d/tomcat /etc/rc1.d/K99tomcat;
    sudo ln -/etc/init.d/tomcat /etc/rc2.d/S99tomcat
    这样你就可以通过 /etc/init.d/tomcat start/stop/restart 来控制了。

    PHP 代码:
    sudo /etc/init.d/tomcat start
    Using CATALINA_BASE
    :   /usr/local/tomcat6
    Using CATALINA_HOME
    :   /usr/local/tomcat6
    Using CATALINA_TMPDIR
    : /usr/local/tomcat6/temp
    Using JRE_HOME
    :       /usr/lib/jvm/java-6-sun 
    看到有这四行,就说明tomcat6配置好了。

    三、mod_jk的安装

    经过上面两个步骤后,apache跟tomcat应该都可以正常执行了,只是两个互不认识,所以要把他们连在一起还要个mod_jk。你也可以到这里下载 http://www.apache.org/dist/tomcat/to...s/jk/binaries/ 合适的版本。

    当然最简单的方法就是用Debian系统源里的版本。
    PHP 代码:
    sudo apt-get install libapache2-mod-jk 
    1、请注意以下目录及档案,将来要修改时比较清楚要改哪

    PHP 代码:
    /usr/lib/apache2/modules/mod_jk.so  # 链接模块
    /usr/share/doc/libapache2-mod-jk/httpd_example_apache2.conf  #配置模版文件
    /etc/libapache2-mod-jk/workers.properties 
    2、好了,先查看一下Apache2 模块文件夹下有没有jk.load文件。没有就建一个。

    PHP 代码:
    cat /etc/apache2/mods-available/jk.load
    LoadModule jk_module 
    /usr/lib/apache2/modules/mod_jk.so 
    3、然后将/usr/share/doc/libapache2-mod-jk/httpd_example_apache2.con内容直接copy到/etc/apache2/httpd.conf中,看着文字一大堆,大多数都是注释,删除注释,只有五行,把这五行字加入httpd.conf中。基本上除了JkMount要改的外,应该没什么要更动的,这里我用默认的就行了,什么也没改。

    PHP 代码:
    sudo vim /etc/apache2/httpd.conf

    JkLogFile       
    /var/log/apache2/mod_jk.log
    JkLogLevel      info
    JkMount 
    /*.jsp ajp13_worker
    JkMount /*/
    servletajp13_worker
    #JkUnMount /servlet/*.gif ajp13_worker 
    4、查看workers.properties 文件,注意workers.tomcat_home这行,如果不是你安装Tomcat6的目录,就改一下,其他的不要改动。

    PHP 代码:
    cat /etc/libapache2-mod-jk/workers.properties

    workers
    .properties -
    workers.tomcat_home=/usr/local/tomcat6   #这一行是tomcat服务器地址
    ps=/
    worker.list=ajp13_worker
    worker
    .ajp13_worker.port=8009
    worker
    .ajp13_worker.host=localhost
    worker
    .ajp13_worker.type=ajp13
    worker
    .ajp13_worker.lbfactor=1
    worker
    .loadbalancer.type=lb
    worker
    .loadbalancer.balance_workers=ajp13_worker 
    四、Apache2的配置

    本来不想说Apache2配置的,因为我想省点事,没有配置虚拟主机中Alias 中7行,最后只能输入:8080才能看到JSP程序。最后加上就没问题了。JSP也可与PHP等一起共用80端口。

    1、开启 NameVirtualHost开关选项,在httpd.conf中增加。
    PHP 代码:
    sudo vim httpd.conf
    NameVirtualHost 
    *:80 
    这里要注意一点,在虚拟主机的配置中指定端口和不指定端口混合使用是不支持的。

    2、在dir.conf文件中加入index.jsp,你的Apache就支持.jsp程序了。

    PHP 代码:
    cat /etc/apache2/mods-available/dir.conf
    <IfModule mod_dir.c>
         
    DirectoryIndex index.html index.htm index.shtml index.php index.cgi index.jsp
    </IfModule
    3、配置你的虚拟主机,下面是一个样例:

    PHP 代码:
    <VirtualHost *:80>
    ServerName www.examples.com
    ServerAlias examples
    .com
    ServerAdmin examples
    @gmail.com
    DocumentRoot 
    "/var/www/examples/htdocs/"
        
    <Directory />
            
    Options FollowSymLinks
            AllowOverride None
        
    </Directory>
        <
    Directory /var/www/examples/htdocs/>
            
    Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow
    ,deny
            allow from all
        
    </Directory>

        
    ScriptAlias /cgi-bin/ /var/www/examples/cgi-bin/
        <
    Directory "/var/www/examples/cgi-bin">
            
    AllowOverride None
            Options 
    +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow
    ,deny
            Allow from all
        
    </Directory>

        
    ErrorLog /var/www/examples/log/error.log

        
    # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        
    LogLevel warn

        CustomLog 
    /var/www/examples/log/access.log combined
        ServerSignature On
        
        Alias 
    /docs "/var/www/examples/htdocs/"
        
    <Directory "/var/www/examples/htdocs/">
            
    Options Indexes FollowSymLinks
            AllowOverride None
            Order allow
    ,deny
            allow from all
        
    </Directory>

    </
    VirtualHost
    这里请注意配置里 Alias /docs "/var/www/examples/htdocs/" 开始的这7行。
    在虚拟主机配置里一定要加上。否则,你只能http://localhost:8080才能看到界面了。
    在网上看到有N多人把 /usr/local/tomcat6/tomcat6/conf/server.xml 文件中tomcat 8080端口改成80,可能就是虚拟主机配置省了这段。

    4、编辑 /usr/local/tomcat6/conf/server.xml 在里面加入一行。

    PHP 代码:
    sudo vim /usr/local/tomcat6/conf/server.xml

    <Context path="" docBase="/var/www/examples/htdocs/" debug="0" reloadable=" true" /> 
    5、设置Tomcat管理员帐号
    Tomcat的用户帐号信息都保存在tomcat-users.xml的文件中。在</tomcat-users>的标签前添加一行。

    PHP 代码:
    sudo vim  /usr/local/tomcat6/conf/tomcat-users.xml
    <user username="用户名" password="密码" roles="admin,manager"/> 
    最后都重启一下:

    PHP 代码:
    sudo /etc/init.d/tomcat restart
    sudo /etc/init.d/apache2 restart 
  • 相关阅读:
    java 接口中的成员变量与方法
    Spring BeanPostProcessor
    MySQL更改命令行默认分隔符
    java 动态代理
    《剑指offer》:[62]序列化二叉树
    group by语法
    Mysql两种引擎
    线程池大小设置
    Synchronized及其实现原理
    CAS ABA问题
  • 原文地址:https://www.cnblogs.com/dyllove98/p/2461984.html
Copyright © 2011-2022 走看看