tomcat实践
[@more@]Tomcat 安装
apache-tomcat-6.0.20.tar.gz
apache是一个开源项目,tomcat是其子项目,属于apache的基金会的
1.先装JDK
jdk-6u17-linux-i586.bin
如果没有可执行的权限,chmod修改其权限
2.查看系统是否装jdk
使用java命令,按tab键,看是否补齐,
java -version 查看版本,一般用1.6版本
rpm -qa | grep jdk
rpm -e jdk
安装完会在当前目录下生成jdk目录
mv jdk1.6.0 /usr/local/
做环境变量:
在启动脚本中添加:
JAVA_HOME=/usr/local/jdk1.6.0_17/设置环境变量
JAVA_BIN=/usr/local/jdk1.6.0_17/bin
JRE_HOME=/usr/local/jdk1.6.0_17/jre
PATH=/usr/local/jdk1.6.0_17/bin/:$PATH
CLASSPATH=./:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
注意,有时 JRE_HOME为JAVA_JRE
然后source一下这个启动脚本
#source /etc/profile
然后检查一下是否安装成功,
(1).检查java是否补齐
(2).查看版本信息java -version
另一种方法:创建软链接
3.apache-tomcat-6.0.20.tar.gz
解压,生成目录,该目录直接就能用,不用再去编译
mv apache-tomcat-*** /usr/local/tomcat
进入该目录的bin目录下,启动关闭的脚本在该目录下
驱动放在lib目录下,但是这里有一个不好的地方,如果这个tomcat承载多个项目(mysql 和 oracle),不好管理,lib是一个全局的,为了区分,将各自项目,将驱动放入不同的目录下
logs里面是日志
conf是配置文件,主配置文件是server.xml
第22行,很重要,如果给8005触发一下,就关掉了
第67行,为什么tomcat启动时候,默认端口为8080,原因在此
第88行,协议是AJP协议,如果与apache结合的时候,也可以交给后端的8009也可以
第126行,配置虚拟主机,webapps,相当于apache的DocumentRoot,如果做虚拟主机注意标签的配对
这个时候启动一下startup.sh
#/usr/lcoal/tomcat/bin/startup.sh
如果发现没有起服务成功查看日志
/usr/lcoal/tomcat/logs 记录服务启动关闭的信息
同时也要注意根据当前环境修改一下startup.sh脚本,
netstat查看端口是否开启
logs/目录下
tail -f catalina.out
正常情况下,要做日志截取
测试,firefox
读取的页面时在这个目录下,需要jsp语言来写
tomcat/webapps/ROOT/
3.制作虚拟主机
在主配置文件中
126-128行复制一下,放到下面,然后在新复制的内容,补齐一个
name为虚拟主机的域名 修改一下根为website
需要在tomcat/website/目录下创建一个ROOT目录,ROOT为默认读取的目录,要访问的目录要放在这个ROOT中
改完配置文件一定要重启服务
4.加入sysv
默认已经做好了,需要修改一些东西
(1)、cp tomcat/bin/catalina.sh /etc/init.d/tomcatd
(2)、chmod 一个可执行权限
(3)、vim tomcatd
将其他标准的服务脚本的关于chkconfig那块的的信息复制到这个tomcatd脚本即可
5.
注意的问题:
1).默认文件,在conf/下得web.xml文件中1190行
2).配置权限:conf下有个一个tomcat-users.xml文件 19行开始
rolename为角色的名字
username用户名
password密码
roles扮演的角色
6.制作jive的bbs
1)破解
unzip jive.zip
cd jive
主程序就是jive_forums_pro_4_2_3
cp -raf jive_forums_pro_4_2_3 /usr/local/tomcat/webapps/jive
/usr/local/tomcat/webapps/jive/crack/patcher.jar /usr/local/
java -jar patcher.jar破解一下
/usr/local/tomcat/webapps/jive目录下新建一个文件名为jive.lincese
2)回到主页面的manager界面,多出一个jive行
3)/usr/local/src/mysql-connector-java-3.1.14-bin.jar放到/usr/local/tomcat/lib下
4)启mysql
mysqladmin -uroot password 'lei'
5)mysql -p 直接以root用户进
进入mysql
>create databases jivedb;
>grant all privileges on jivedb.* to jiveuser @ 'localhost' identified by 'lei'
>flush privileges;
#mysql -uroot -plei jivedb < /usr/local/tomcat/webapps/jive/database/jive_forums_mysql.sql
>use jivedb;
> show tables;
ls -l /usr/local/tomcat/webapps/jive/jiveHome
然后回到刚才的网页页面,添下jiveHome和license然后 重新提交,点击continue
然后选择第一项标准的
然后选mysql com.mysql.jdbc.Driver 127.0.0.1:3306/jivedb
jiveuser lei
若发现驱动不能加载的错误警告,需要将tomcat重新启动一下
继续continue
然后选择default
然后
然后 admin 点skip
然后用户名和密码登陆
动静分离:
静态东东西由apache处理,动态由tomcat处理
步骤:
1)安装apache
在其配置文件中,需要LoadModule 一个mod_jk2模块
2)jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
解包
进入产生的目录中,再进入jk/
native2目录下面执行./configure –help | grep apxs
列出两条,要用apxs2这个
./configure –with-apxs2=/usr/local/apache2/bin/apxs
make
执行完会生成一个模块,将这个模块复制到/usr/local/apache2/module下
然后修改刚才说过的那个配置文件,复制一行LoadModule jk2_module
重启apache服务
此时server怎么知道当遇到jsp的文件时交给tomcat呢?
烤一个文件??????????
works2.
[uri:/*.jsp]
info=*******
[uri:/*.gif] 将图片也交给tomcat处理
info=*******
另一种方式:
去掉[uri:/*.gif] 将图片也交给tomcat处理
info=*******
将apache配置文件的DocumentRoot指向tomcat
注意权限问题(user 所用的用户)和根容器那块的deny all的问题
这时,图片由apache来处理,jsp页面由tomcat处理
可以再apache配置文件中在默认访问界面中加入index.jsp
当apache配置中,将DocumentRoot指向tomcat站点根时,当点manager或其他标签时,发现会404错误,所以需要
[uri:/jive/*]
info=*******
[uri:/manager/*]
info=*******
当然这里也可以用虚拟主机实现
192.168.1.1/jive
192.168.1.1/manager
rpm -qf `which /sbin/apxs`
-------------------------------------------------------------
1安装jdk
[root@localhost ~]# cd /usr/local/src
[root@localhost tomcat]#sh jdk-6u17-linux-i586.bin
[root@localhost tomcat]# cp -r jdk1.6.0_17/ /usr/local/jdk1.6.0_17/
[root@localhost ~]#vim /etc/profile
#set java environment
JAVA_HOME=/usr/local/jdk1.6.0_17
JAVA_BIN=/usr/local/jdk1.6.0_17/bin
JAVA_JRE=/usr/local/jdk1.6.0_17/jre
PATH=$PATH://usr/local/jdk1.6.0_17/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN JRE_HOME PATH CLASSPATH
[root@localhost ~]# source /etc/profile
安装tomcat
[root@localhost tomcat]# tar zxf apache-tomcat-6.0.20.tar.gz -C /usr/local/
[root@localhost tomcat]# cd /usr/local/
[root@localhost local]# mv apache-tomcat-6.0.20/ tomcat
[root@localhost ~]#cp -p /usr/local/tomcat/bin/catalina.sh /etc/init.d/tomcat
[root@localhost ~]#vim /etc/init.d/tomcat
# chkconfig: 2345 63 37
# description: tomcat server init script
JAVA_HOME=/usr/local/jdk1.6.0_17/
CATALINA_HOME=/usr/local/tomcat
设置tomcat
[root@localhost local]# vim /usr/local/tomcat/conf/server.xml
[root@localhost local]# vim /usr/local/tomcat/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
[root@localhost local]# /usr/local/tomcat/bin/shutdown.sh
[root@localhost local]# /usr/local/tomcat/bin/startup.sh
[root@localhost tomcat]# cd /usr/local/src/
[root@localhost tomcat]# unzip jive.zip
[root@localhost tomcat]# cd jive
[root@localhost jive]# cp crack/patcher.jar jive_forums_pro_4_2_3/WEB-INF/lib/
[root@localhost jive]# cd !$
[root@localhost lib]# /usr/local/jdk/bin/java -jar patcher.jar
[root@localhost lib]# cd /root/tomcat/jive
[root@localhost jive]# mv jive_forums_pro_4_2_3/ /usr/local/tomcat/webapps/jive/
[root@localhost jive]# cd /usr/local/tomcat6.0/webapps/jive/jiveHome/
[root@localhost jive]# touch jive.license
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API
http://192.168.1.254:8080/
netstat -ntlp | grep 8080
[root@localhost conf]# vim /usr/local/tomcat6.0/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
~
restart tomcat服务
---------------------
3、部署
[root@localhost jiveHome]# pwd
/usr/local/tomcat6.0/webapps/jive/jiveHome
mysql> create database jivedb;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on jivedb.* to jiveuser@localhost identified by '123';
Query OK, 0 rows affected (0.01 sec)
mysql>
[root@localhost database]# pwd
/usr/local/tomcat6.0/webapps/jive/database
[root@localhost database]# mysql jivedb < jive_forums_mysql.sql
-------------------
[root@localhost database]# mysql -u root -p123 jivedb < jive_forums_mysql.sql
-------------
[root@localhost database]# ls /var/lib/mysql/jivedb/
====================
[root@localhost tomcat_package]# tar zxvf mysql-connector-java-3.1.14.tar.gz
[root@localhost tomcat_package]# cp mysql-connector-java-3.1.14/mysql-connector-java-3.1.14-bin.jar /usr/local/tomcat6.0/lib/
restart tomcat
start mysql
============
==============
==============
安装apache,启动apache
生成jk2模块,让apache LoadModule . 调用 tomcat的模块
[root@localhost tomcat_package]# tar zxvf jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gz
[root@localhost tomcat_package]# mv jakarta-tomcat-connectors-jk2-2.0.4-src /usr/local/tomcat-connect
[root@localhost native2]# pwd
/usr/local/tomcat-connect/jk/native2
yum install http-devel
which apxs
/usr/sbin/apxs
[root@localhost native2]# ./configure --with-apxs2=/usr/sbin/apxs
[root@localhost native2]# make
[root@localhost native2]# make install
make: *** No rule to make target `install'. Stop.
[root@localhost apache2]# pwd
/usr/local/tomcat-connect/jk/build/jk2/apache2
[root@localhost apache2]# cp mod_jk2.so /etc/httpd/modules/
[root@localhost apache2]# vim /etc/httpd/conf/httpd.conf
[root@localhost apache2]# grep jk2 /etc/httpd/conf/httpd.conf
LoadModule jk2_module modules/mod_jk2.so
/usr/local/apache2/bin/apxs
写配置文件定义什么情况下通过jk2模块找tomcat
[root@localhost jk]# cp /usr/local/tomcat-connect/jk/conf/workers2.properties /etc/httpd/conf/
[root@localhost jk]# vim /etc/httpd/conf/workers2.properties
[uri:/jive/*]
info=map the tomcat
[uri:/manager/*]
info=map the tomcat
[uri:/*.jsp]
info=map the tomcat
service httpd restart
总结:
动静分离:静态界面交给apache,动态界面交给tomcat,这样达到了网络优化动静分离
apache监听80端口,tomcat监听8080端口,默认用户请求从80端口进入,发现有jsp界面的请求,这个时候交给tomcat处理,这里他们之间需要一个衔接工具mod_jk2(80)、ajp(8009)
如果将tomcat的端口号改为80,则所有东西都有tomcat处理
apache不可动态处理
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23168012/viewspace-1052523/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23168012/viewspace-1052523/