本文将介绍如何在CentOS上运行Java Web服务,其中将包括如何搭建JAVA运行环境、如何开启端口号、如何使得服务在命令执行窗口关闭后依旧运行
第一步:卸载旧Linux自带的JDK
①查看本机JDK版本
java -version
结果如下
java version "1.6.0" OpenJDK Runtime Environment (build 1.6.0-b09) OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)
②卸载本机自带的openjdk,安装sun公司的jdk.
rpm -qa | grep java
显示如下信息:
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
卸载:
rpm -e --nodeps java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
如果出现找不到openjdk source的话,那么还可以这样卸载
yum -y remove java java-1.4.2-gcj-compat-1.4.2.0-40jpp.115 yum -y remove java java-1.6.0-openjdk-1.6.0.0-1.7.b09.el5
第二步:安装JDK
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html(JDK下载)
①从SUN下载jdk-1_5_0_14-linux-i586-rpm.bin或jdk-1_5_0_14-linux-i586.bin
在/usr下新建java文件夹,将安装包放在/usr/java目录下
mkdir /usr/java
②安装JDK
# cd /usr/java
如果是jdk-1_5_0_14-linux-i586-rpm.bin文件安装
# chmod 777 jdk-1_5_0_14-linux-i586-rpm.bin ← 修改为可执行 # ./jdk-1_5_0_14-linux-i586-rpm.bin ← 选择yes同意上面的协议 # rpm -ivh jdk-1_5_0_14-linux-i586.rpm ← 选择yes直到安装完毕
如果是.bin文件安装
# chmod a+x jdk-1_5_0_14-linux-i586.bin ← 使当前用户拥有执行权限 # ./jdk-1_5_0_14-linux-i586.bin ← 选择yes直到安装完毕
(参考博客http://johnsz.blog.51cto.com/525379/694052)
第三步:配置环境变量
①# vi /etc/profile
②在最后加入以下几行:
export JAVA_HOME=/usr/java/jdk1.6.0_10 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
③# reboot ← 重启机器配置生效
第四步:关闭防火墙或者添加端口
vi /etc/sysconfig/iptables 打开配置文件加入如下语句: -A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT 重启防火墙 /etc/init.d/iptables restart 查看端口状态 /etc/init.d/iptables status
(参考博客http://blog.csdn.net/you_jinjin/article/details/7262461)
第五步:工程打包运行
Java -jar projectName.jar
第六步:在后台挂起进程
nohup Java -jar projectName.jar
运行后,程序将在jar文件同目录下创建一个日志文件,记录控制台的显示信息,并且关闭命令行窗口后,服务继续运行。
(参考博客http://303i.com/article/2013/11/10/1111.html)
补充说明:
#关闭防火墙
/etc/init.d/iptables stop
# 停止服务
service iptables stop
#查看防火墙信息
/etc/init.d/iptables status
#开放端口:8080
/sbin/iptables -I INPUT -p tcp –dport 8080 -j ACCEPT
#重启防火墙以便改动生效:(或者直接重启系统)
/etc/init.d/iptables restart
#将更改进行保存
/etc/rc.d/init.d/iptables save
#直接在/etc/sysconfig/iptables中增加一行也可以添加端口:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
#永久关闭防火墙
chkconfig –level 35 iptables off #此方法源自网络
#查看打开的端口:
/etc/init.d/iptables status