让Debian服务器支持jsp程序

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

Author:cioworld

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

一、安装jdk6

PHP 代码:
<!-- php buffer start -->$sudoaptitudeinstallsun-java6-jdk
<!-- php buffer end -->
设定一下环境变量JAVA_HOME,很多人在/.profile或~/.bashrc中加一堆东西。烦,我还是加在environment中好。
PHP 代码:
<!-- php buffer start -->$sudovim/etc/environment
JAVA_HOME
=/usr/lib/jvm/java-6-sun
<!-- php buffer end -->
二、安裝tomcat6

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

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

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

#Tomcatauto-start
#
#description:Auto-startstomcat
#processname:tomcat
#pidfile:/var/run/tomcat.pid
exportJAVA_HOME=/usr/lib/jvm/java-6-sun
case$1in
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
exit0
<!-- php buffer end -->
编辑好文件保存后,再给文件加个权限。

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

PHP 代码:
<!-- php buffer start -->$sudo/etc/init.d/tomcatstart
UsingCATALINA_BASE
:/usr/local/tomcat6
UsingCATALINA_HOME
:/usr/local/tomcat6
UsingCATALINA_TMPDIR
:/usr/local/tomcat6/temp
UsingJRE_HOME
:/usr/lib/jvm/java-6-sun
<!-- php buffer end -->
看到有这四行,就说明tomcat6配置好了。

三、mod_jk的安装

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

当然最简单的方法就是用Debian系统源里的版本。
PHP 代码:
<!-- php buffer start -->$sudoapt-getinstalllibapache2-mod-jk
<!-- php buffer end -->
1、请注意以下目录及档案,将来要修改时比较清楚要改哪

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

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

PHP 代码:
<!-- php buffer start -->$sudovim/etc/apache2/httpd.conf

JkLogFile
/var/log/apache2/mod_jk.log
JkLogLevelinfo
JkMount
/*.jspajp13_worker
JkMount/*/
servlet/ajp13_worker
#JkUnMount/servlet/*.gifajp13_worker
<!-- php buffer end -->
4、查看workers.properties 文件,注意workers.tomcat_home这行,如果不是你安装Tomcat6的目录,就改一下,其他的不要改动。

PHP 代码:
<!-- php buffer start -->$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
<!-- php buffer end -->
四、Apache2的配置

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

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

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

PHP 代码:
<!-- php buffer start -->$cat/etc/apache2/mods-available/dir.conf
<IfModulemod_dir.c>
DirectoryIndexindex.htmlindex.htmindex.shtmlindex.phpindex.cgiindex.jsp
</IfModule>
<!-- php buffer end -->
3、配置你的虚拟主机,下面是一个样例:

PHP 代码:
<!-- php buffer start --><VirtualHost*:80>
ServerNamewww.examples.com
ServerAliasexamples
.com
ServerAdminexamples
@gmail.com
DocumentRoot
"/var/www/examples/htdocs/"
<Directory/>
OptionsFollowSymLinks
AllowOverrideNone
</Directory>
<
Directory/var/www/examples/htdocs/>
OptionsIndexesFollowSymLinksMultiViews
AllowOverrideAll
Orderallow
,deny
allowfromall
</Directory>

ScriptAlias/cgi-bin//var/www/examples/cgi-bin/
<
Directory"/var/www/examples/cgi-bin">
AllowOverrideNone
Options
+ExecCGI-MultiViews+SymLinksIfOwnerMatch
Orderallow
,deny
Allowfromall
</Directory>

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

#Possiblevaluesinclude:debug,info,notice,warn,error,crit,
#alert,emerg.
LogLevelwarn

CustomLog
/var/www/examples/log/access.logcombined
ServerSignatureOn

Alias
/docs"/var/www/examples/htdocs/"
<Directory"/var/www/examples/htdocs/">
OptionsIndexesFollowSymLinks
AllowOverrideNone
Orderallow
,deny
allowfromall
</Directory>

</
VirtualHost>
<!-- php buffer end -->
这里请注意配置里 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 代码:
<!-- php buffer start -->$sudovim/usr/local/tomcat6/conf/server.xml

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

PHP 代码:
<!-- php buffer start -->$sudovim/usr/local/tomcat6/conf/tomcat-users.xml
<userusername="用户名"password="密码"roles="admin,manager"/>
<!-- php buffer end -->
最后都重启一下:

PHP 代码:
<!-- php buffer start -->$sudo/etc/init.d/tomcatrestart
$sudo/etc/init.d/apache2restart
<!-- php buffer end -->
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值