Friday, April 27, 2012

Glassfish3入門 (3)-整合mod_jk

一般的網頁伺服器會使用httpd來顯示靜態網頁,而使用tomcat或是glassfish當成是jsp動態網頁或是servlet的容器,但是使用者若要進入java-based的網站還要輸入port number(例如:8080),會造成使用者的困擾,同時網管人員也可能因為安全因素而不開放8080埠,本文將介紹使用mod_jk讓httpd自動轉發servlet或是jsp之頁面要求至glassfish伺服器。(本文是參考Glassfish 3.1.2版之administration-guide)

  • 伺服器(CentOS 5.8 x64)既有服務:apache httpd 2.2、glassfish 3.1.2 (已有一個domain叫app,並且發佈了一個web專案叫School)。

Monday, April 2, 2012

GlassFish3 入門 (2) -- 以non-root的權限執行服務

為了避免執行GlassFish服務的使用者具有太大的權限,例如前文的root,因此我們可以建立一個較低權限的使用者來啟動服務。

  • 首先建立一個群組glassfish3,並且新增一個使用者glassfish,此使用者沒有home directory。
sudo groupadd glassfish3
sudo useradd -s /bin/bash -M -g glassfish3 glassfish

  •  將/opt/glassfish3的所有權轉給glassfish。

sudo chown -Rf glassfish.glassfish3 /opt/glassfish3
  •  修改/etc/init.d/GlassFish_test,讓它可以用glassfish的權限啟動服務。

    Sunday, April 1, 2012

    GlassFish3 入門 (1) -- 初始設定

    為了專案開發需要,採用了glassfish3當成是Web Service的容器。為免以後忘記如何將服務架起來,只好記錄下來囉!

    本文使用的是glassfish3 open source edition - 3.1.2,可在此下載。主機採用CentOS 5搭配JDK 6u31的執行環境。

    • 先將JDK以及glassfish3解壓縮在/opt底下。(JAVA_HOME請自行設定,在此不詳述)
    •  設定基礎環境(編輯/opt/glassfish3/glassfish/config/asenv.conf),加入以下兩行指令,指定預設之Java Home及glassfish3安裝路徑,可避免自動啟動服務時發生錯誤。
    AS_JAVA="/opt/jdk1.6.0_27"
    AS_HOME="/opt/glassfish3/glassfish"

    •  進入/opt/glassfish3/bin裡,輸入sh asadmin,可以進入管理畫面。
    1.  可先將預設domain1刪除(delete-domain domain1)
    2.  建立自己的domain(create-domain test),按下Enter即可自動設定(預設沒有密碼)。

    •  設定開機自動啟動服務。
    1. 進入管理介面後,輸入create-service [instance]指令,此處的instance指的是domain名稱。
    2. 指令成功執行後,會自動將啟動指令檔複製到/etc/inid.d/以及/etc/rcN.d底下(此處的N為0-6及S)。
    3. 此內建的指令檔會自動在重開機後啟動服務,但先決條件是重開機之前要先啟動服務