由於公司產品的一致性需求,我們又從Jetty切換到GlassFish3.1.2. 這次是在Ubuntu 12.04 Server(64bit)上安裝 GlassFish web profile.
本文內容主要來源於http://www.nabisoft.com/tutorials/glassfish/installing-glassfish-311-on-ubuntu
上文非常全面,我做了刪減,去掉了不需要的iptables一節,因為我們用nginx做轉發。同時也解決了一些其他問題。
比如GlassFish3.1.2改變了安全規則。需要一些額外的步驟。
一 安裝JDK,設置好環境變量。
我安裝的是jdk1.6
- root@ www.linuxidc.com :~# java -version
- java version "1.6.0_32"
- Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
- Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)
二 創建專用帳號
先創建glassfish系統帳號
- # adduser --home /home/glassfish --system --shell /bin/bash glassfish
- Adding system user `glassfish' (UID 108) ...
- Adding new user `glassfish' (UID 108) with group `nogroup' ...
- Creating home directory `/home/glassfish' ...
再創建用戶組glassfishadmin
- # groupadd glassfishadm
將glassfish加入glassfishadm組,glassfishadmin組的目錄也設為/home/glassfish
- # usermod -a -G glassfishadm glassfish
- chgrp -R glassfishadm /home/glassfish
三 安裝unzip
- apt-get install unzip
四 下載glassfish
切換到glassfish用戶,並下載和解壓
- su glassfish
- cd /home/glassfish
- mkdir downloads
- cd downloads
- wget http://download.java.net/glassfish/3.1.2/release/glassfish-3.1.2-web.zip
- unzip glassfish-3.1.2.zip
將解壓後的文件復制到/hom/glassfish目錄下,然後退出該用戶
- mv /home/glassfish/downloads/glassfish3/* /home/glassfish/
- mv /home/glassfish/downloads/glassfish3/.org.opensolaris,pkg /home/glassfish/.org.opensolaris,pkg
- exit
五 修改目錄權限
確保程序可以在glassfish用戶下運行
- root@ www.linuxidc.com :~# chown -R glassfish /home/glassfish
- root@ www.linuxidc.com :~# chmod -R ug+rwx /home/glassfish/bin/
- root@ www.linuxidc.com :~# chmod -R ug+rwx /home/glassfish/glassfish/bin/
- root@ www.linuxidc.com :~# chmod -R o-rwx /home/glassfish/bin/
- root@ www.linuxidc.com :~# chmod -R o-rwx /home/glassfish/glassfish/bin/
六 修改端口
修改/hom/glassfish/domains/domain1/config/domain.xml如下:
- <network-listeners>
- <network-listener port="8081" protocol="http-listener-1" transport="tcp" name="http-listener-1" thread-pool="http-thread-pool"></network-listener>
- <network-listener port="8181" protocol="http-listener-2" transport="tcp" name="http-listener-2" thread-pool="http-thread-pool"></network-listener>
- <network-listener port="4848" protocol="admin-listener" transport="tcp" name="admin-listener" thread-pool="admin-thread-pool"></network-listener>
- </network-listeners>
這樣,http采用8081,https采用8181,AdminGUI采用4848端口。