本文將介紹如何在CentOS上運行Java Web服務,其中將包括如何搭建Java運行環境、如何開啟端口號、如何使得服務在命令執行窗口關閉後依舊運行
第一步:卸載舊Linux自帶的JDK①查看本機JDK版本
Java代碼
java -version
結果如下
Java代碼
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.
Java代碼
rpm -qa | grep java
顯示如下信息:
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
卸載:
Java代碼
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的話,那麼還可以這樣卸載
Java代碼
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 或 jdk-7u21-linux-i586.tar.gz
在/usr下新建java文件夾,將安裝包放在/usr/java目錄下
Java代碼
mkdir /usr/java
②安裝JDK
Java代碼
# cd /usr/java
如果是jdk-1_5_0_14-linux-i586-rpm.bin文件安裝
Java代碼
# 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文件安裝
Java代碼
# chmod a+x jdk-1_5_0_14-linux-i586.bin ← 使當前用戶擁有執行權限
# ./jdk-1_5_0_14-linux-i586.bin ← 選擇yes直到安裝完畢
如果是.tar.gz
Java代碼
#解壓,拷貝到指定目錄
sudo tar -zxvf jdk-7u21-linux-i586.tar.gz
第三步:配置環境變量①# vi /etc/profile
②在最後加入以下幾行:
Java代碼
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 ← 重啟機器配置生效
或者 sudo gedit /etc/profile
第四步:關閉防火牆或者添加端口Java代碼
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
第五步:工程打包運行Java代碼
Java -jar projectName.jar
第六步:在後台掛起進程
Java代碼
nohup Java -jar projectName.jar
運行後,程序將在jar文件同目錄下創建一個日志文件,記錄控制台的顯示信息,並且關閉命令行窗口後,服務繼續運行。
補充說明: #關閉防火牆
/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