要让WEB应用也就是网站能运行起来,首要的任务就是安装运行环境和进行相应的配置。 
本篇将详细的讲述下如何在linux(redhat或者其他unix)上搭建和配置java的WEB运行环境。 
-------------------------------------------------------- 
| [b]第1步,准备需要的安装软件[/b] 
-------------------------------------------------------- 
(1)JDK : j2sdk-1_4_2_09-linux-i586.bin ; 34.7 MB (36,429,599 字节) 
(2)WEB : jakarta-tomcat-4.1.31.tar.gz ; 7.68 MB (8,058,534 字节) 
(3)DB : mysql-standard-4.1.15-pc-linux-gnu-i686-glibc23.tar.gz ; 24.1 MB (25,276,587 字节) 
(4)jar : mysql-connector-java-3.1.11-bin.jar ;430 KB (440,483 字节) 
其中第(4)个是mysql的jar包,安装好mysql后请将其复制到mysql目录下。 
另外关于mysql,请尽量不要使用4.1.15之前的版本,因为之前的是不支持utf-8编码的。 
有的linux如redhat版本在系统安装的时候会默认装一个mysql,请先用rpm命令卸载掉。 
[color=green]环境比较老,请大家见谅.用惯了这一套,比较稳定,至今还没更换过.[/color] 
-------------------------------------------------------- 
| [b]第2步, 软件FTP上传到linux服务器[/b] 
-------------------------------------------------------- 
将上面的安装软件用ftp上传到linux上的某个目录中,比如暂时放到 /home 目录下。 
-------------------------------------------------------- 
| [b]第3步,安装 JDK (j2sdk-1_4_2_09-linux-i586.bin)[/b] 
-------------------------------------------------------- 
3.1 修改安装包文件为可执行 
[quote]chmod a+x j2sdk-1_4_2_09-linux-i586.bin[/quote] 
3.2 开始安装 
[quote]./j2sdk-1_4_2_09-linux-i586.bin[/quote] 
3.3 移动到指定的安装运行目录位置 
[quote]mv j2sdk1.4.2_09 /usr/local/jdk1.4.2[/quote] 
备注:如果你使用像jfreechat之类生成报表图片的功能,报表图片中如果有中文的,那么还要做以下设置。 
将 /usr/local/jdk1.4.2/jre/lib/font.properties.zh_CN.Redhat 改名为font.properties , 
原font.properties请先改名为font.properties.old留作备份。 
-------------------------------------------------------- 
| [b]第4步,安装 mysql (mysql-standard-4.1.15-pc-linux-gnu-i686-glibc23.tar.gz)[/b] 
-------------------------------------------------------- 
4.1 解压文件 
[quote]tar xvzf mysql-standard-4.1.15-pc-linux-gnu-i686-glibc23.tar.gz[/quote] 
4.2 配置、安装、移动 
[quote]cd mysql-standard-4.1.15-pc-linux-gnu-i686-glibc23 
./configure --prefix=/usr/local/mysql 
mv mysql-standard-4.1.15-pc-linux-gnu-i686-glibc23 /usr/local/mysql[/quote] 
mysql 默认安装目录是 /usr/local/mysql,如果你不想安装到这个目录则必须修改mysql的文件(bin/mysqld_safe),将所有的'/usr/local/mysql'替换成你想要的目录. 
4.3 设置mysql用户组(group)和用户(user) 
[quote]groupadd mysql;useradd -g mysql mysql;cd /usr/local;chown -R mysql mysql;chgrp -R mysql mysql[/quote] 
4.4 启动mysql 
[quote]/usr/local/mysql/bin/mysqld_safe -u mysql &[/quote] 
4.5 停止mysql 
[quote]/usr/local/mysql/bin/mysqladmin shutdown -u root[/quote] 
-------------------------------------------------------- 
| [b]第5步,安装 tomcat (jakarta-tomcat-4.1.31.tar.gz)[/b] 
-------------------------------------------------------- 
5.1 解压文件 
[quote]tar zxvf jakarta-tomcat-4.1.31.tar.gz[/quote] 
5.2 移动到指定的运行位置目录 
[quote]mv jakarta-tomcat-4.1.31 /usr/local/tomcat4.1.31[/quote] 
5.3 将 mysql-connector-java-3.1.11-bin.jar 复制到 /usr/local/tomcat4.1.31/common/lib 
5.4 修改jvm内存数量 
vi /usr/local/tomcat4.1.31/bin/catalina.sh 加入配置 JAVA_OPTS='-Xms128m -Xmx512m' 
具体位置可以放在下面的地方: 
[quote]# JPDA_ADDRESS (Optional) Java runtime options used when the "jpda start" 
# command is executed. The default is 8000. 
# 
# JSSE_HOME (Optional) May point at your Java Secure Sockets Extension 
# (JSSE) installation, whose JAR files will be added to the 
# system class path used to start Tomcat. 
# 
# CATALINA_PID (Optional) Path of the file which should contains the pid 
# of catalina startup java process, when start (fork) is used 
# 
# $Id: catalina.sh,v 1.37 2004/08/15 15:20:15 markt Exp $ 
# ----------------------------------------------------------------------------- 
[color=red] 
JAVA_OPTS='-Xms128m -Xmx512m'[/color] 
# OS specific support. $var _must_ be set to either true or false. 
cygwin=false 
os400=false[/quote] 
备注: 
在unix/linux平台下,jdk不能使用AWT的lib库进行图片生成显示,因此必须进行如下配置: 
(1) 此项配置对jdk版本有要求,必须使用jdk1.4.2或者更高版本,jdk1.4.1不能使用(已经测试过). 
(2) 修改tomcat配置文件 vi /usr/local/tomcat4.1.31/bin/catalina.sh 
在文件中如下位置中加上字符串 "-Djava.awt.headless=true \" 
[quote]elif [ "$1" = "start" ] ; then 
 shift 
 touch "$CATALINA_BASE"/logs/catalina.out 
 if [ "$1" = "-security" ] ; then 
 echo "Using Security Manager" 
 shift 
 "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \ 
 -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ 
 -Djava.security.manager \ 
 -Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \ 
 -Dcatalina.base="$CATALINA_BASE" \ 
 -Dcatalina.home="$CATALINA_HOME" \ 
 -Djava.io.tmpdir="$CATALINA_TMPDIR" \ 
 [color=red]-Djava.awt.headless=true \[/color] 
 org.apache.catalina.startup.Bootstrap "$@" start \ 
 >> "$CATALINA_BASE"/logs/catalina.out 2>&1 & 
 if [ ! -z "$CATALINA_PID" ]; then 
 echo $! > $CATALINA_PID 
 fi 
 else 
 "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \ 
 -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \ 
 -Dcatalina.base="$CATALINA_BASE" \ 
 -Dcatalina.home="$CATALINA_HOME" \ 
 -Djava.io.tmpdir="$CATALINA_TMPDIR" \ 
 [color=red]-Djava.awt.headless=true \[/color] 
 org.apache.catalina.startup.Bootstrap "$@" start \ 
 >> "$CATALINA_BASE"/logs/catalina.out 2>&1 & 
 if [ ! -z "$CATALINA_PID" ]; then 
 echo $! > $CATALINA_PID[/quote]
到此,软件已经全部安装完毕,接下来就要做些配置. 
[b]1. mysql需要一个配置文件 my.cnf[/b] (文件在我附件中的zip包有),必须把这个文件放到linux服务器的 /etc目录下. 
里面主要是设置数据库采用utf-8编码,当然也是用这个配置文件来调节mysql的各种运行参数. 
[quote][client] 
#password = your_password 
[color=red]default-character-set=utf8[/color] 
port = 3306 
socket = /tmp/mysql.sock 
# Here follows entries for some specific programs 
# The MySQL server 
[mysqld] 
[color=red]default-character-set=utf8 
default-collation=utf8_general_ci[/color] 
port = 3306 
socket = /tmp/mysql.sock[/quote] 
[b]2. mysql的root用户初始化口令和添加一个普通用户[/b] 
执行命令 
[quote]/usr/local/mysql/bin/mysqld_safe -u mysql & 
/usr/local/mysql/bin/mysql -uroot -p 
use mysql[/quote] 
## set root password 
[quote]update user set password=password('12345678') where user='root'; 
flush privileges;[/quote] 
##create a database:testdb 
[quote]CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;[/quote] 
## create a test user for testdb database: username=testuser,password=testuser123 
[quote]delete from user where user='testuser'; 
INSERT INTO user (Host, User, password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections) VALUES ('%', 'testuser', '', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0); 
update user set password=password('testuser123') where user='testuser'; 
delete from db where user='testuser'; 
insert into db(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,Lock_tables_priv) values('%','testdb','testuser','Y','Y','Y','Y','Y'); 
flush privileges;[/quote][quote][client] 
#password = your_password 
[color=red]default-character-set=utf8[/color] 
port = 3306 
socket = /tmp/mysql.sock 
# Here follows entries for some specific programs 
# The MySQL server 
[mysqld] 
[color=red]default-character-set=utf8 
default-collation=utf8_general_ci[/color] 
port = 3306 
socket = /tmp/mysql.sock[/quote] 
[b]2. mysql的root用户初始化口令和添加一个普通用户[/b] 
执行命令 
[quote]/usr/local/mysql/bin/mysqld_safe -u mysql & 
/usr/local/mysql/bin/mysql -uroot -p 
use mysql[/quote] 
## set root password 
[quote]update user set password=password('12345678') where user='root'; 
flush privileges;[/quote] 
##create a database:testdb 
[quote]CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;[/quote] 
## create a test user for testdb database: username=testuser,password=testuser123 
[quote]delete from user where user='testuser'; 
INSERT INTO user (Host, User, password, Select_priv, Insert_priv, Update_priv, Delete_priv, Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv, File_priv, Grant_priv, References_priv, Index_priv, Alter_priv, Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv, Execute_priv, Repl_slave_priv, Repl_client_priv, ssl_type, ssl_cipher, x509_issuer, x509_subject, max_questions, max_updates, max_connections) VALUES ('%', 'testuser', '', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0); 
update user set password=password('testuser123') where user='testuser'; 
delete from db where user='testuser'; 
insert into db(host,db,user,Select_priv,Insert_priv,Update_priv,Delete_priv,Lock_tables_priv) values('%','testdb','testuser','Y','Y','Y','Y','Y'); 
flush privileges;[/quote] 
[b]3. 配置tomcat的conf目录下的2个配置文件[/b]: server.xml , web.xml 
 具体配置可以参考附件zip包中的文件. 
 通过server.xml可以配置虚拟主机,能让很多个网站共用1个tomcat的80端口.(tomcat安装后默认为8080端口,如果放在互联网上请改为80端口) 
[b]4. 制作tomcat启动脚本文件[/b],内容如下(假设保存为 startweb.sh,要修改属性为可执行 chmod a+x startweb.sh): 
[quote]export JAVA_HOME=/usr/local/jdk1.4.2 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib/rt.jar:. 
/usr/local/tomcat4.1.31/bin/shutdown.sh 
/usr/local/mysql/bin/mysqladmin shutdown -u root -pabcxyz123456 
i=`ps -ef|grep -E "java"|grep -v grep|awk '{print$2}'` 
kill -9 $i 
i1=`ps -ef|grep -E "mysqld_safe"|grep -v grep|awk '{print $2}'` 
kill -9 $i1 
/usr/local/mysql/bin/mysqld_safe -u mysql & 
/usr/local/tomcat4.1.31/bin/startup.sh[/quote] 
那么如果要启动或者重起tomcat,只要执行下这个脚本文件就可以了. 
[b]5. 将tomcat设置成自启动.[/b] 
在 /etc/rc.d/rc.local 文件中加入 
[quote]/脚本存放的目录/startweb.sh[/quote] 
至此,java的web环境已经安装完毕了,所有的软件全部安装在目录 /usr/local/目录下.由于对应的安装软件都比较庞大,这里就不再提供,需要自己去另外下载相应的软件.如果你找到的安装软件与上面所说的不相同,那么请参考上面的安装和配置方法,软件版本的不同,安装和配置可能会有差别. 
附件: server.xml,web.xml,my.cnf对应的zip包 (config.zip) 
------------------------------------------------------------- 
分享知识 分享快乐, 希望文章能给需要的朋友带来小小的帮助。 
另外,欢迎朋友转载,转载时请注明出处,谢谢!
                










