3.
編譯和發(fā)布
Sakai
如何使用
Maven
以下步驟僅僅是簡單介紹如何開始使用
maven
來編譯和發(fā)布
sakai
,更多的細節(jié)請參閱:
sakai_maven.doc
in
reference/docs/architecture
和
https://source.sakaiproject.org/svn/reference/tags/sakai_2-2-1/docs/architecture/sakai_maven.doc
3.1.
下載源文件
通過
http://www.sakaiproject.org/
下載所需要的
sakai
源文件。
通過版本管理獲取源代碼
有時候為了得到最新的修訂版,可以通過版本管理來獲取源代碼具體命令如下:
svn export https://source.sakaiproject.org/svn/sakai/branches/sakai_2-2-x/
3.2.
解壓源代碼包
將
sakai
源代碼包解壓到合適位置(比如你的
sakai
根目錄)。
3.3.
運行
Maven
在
sakai-src
目錄下運行命令:
maven bld dpl
其它
builds
參數(shù)
通過命令:
maven cln bld dpl
或者
maven sakai
,來清除以前
build
的內(nèi)容,詳細指令參見:
sakai_maven.doc
。
build
過程將持續(xù)一段時間,其間會有詳細的輸出。特別是第一次
build
時,
maven
將下載所有相關(guān)的依賴到本地存儲區(qū),編譯
sakai
代碼,發(fā)布
sakai
到
tomcat
的
webapps
目錄下。如果
maven
完成的信息是:
BUILD SUCCESSFUL
,則可以進行下一步操作。如果完成信息是:
BUILD FAILED
,可以通過相關(guān)的錯誤信息來定位錯誤出處。詳見第七部分。
Maven
和內(nèi)存
當(dāng)進行
build
的時候,你可能會碰到
out of memory
的錯誤,這也許是當(dāng)
maven
啟動的時候沒有讀到
JAVA_OPTS
參數(shù),你可以通過另外設(shè)置一個環(huán)境變量來解決這個問題:
MAVEN_OPTS
。以下設(shè)置對于
unix
系統(tǒng)是基本足夠了:
export MAVEN_OPTS="-Xmx384m -XX:PermSize=48m"
現(xiàn)在都還是缺省配置,你應(yīng)該可以啟動
tomcat
運行
sakai
了,但為了更好的運行
sakai
,最好還是做一些優(yōu)化配置,詳見下一部分。
?
4.
安裝后配置
4.1.
創(chuàng)建保存屬性文件的文件夾
在缺省配置屬性下,
sakai
可以運行它的不同的組件。為了重新配置這些組件,你必須在
sakai.properties
文件中配置某些參數(shù),這個文件缺省放在
$CATALINA_HOME/sakai
目錄下,這個目錄
maven
不會自動創(chuàng)建,所以你將手工創(chuàng)建。
選擇不同的位置保存
sakai.properties
將
sakai
的配置文件保存在
tomcat
的文件結(jié)構(gòu)之外比較好。例如,在一個開發(fā)環(huán)境中,你可能會經(jīng)常的重裝
tomcat
,將
sakai
的配置文件保存在
tomcat
文件結(jié)構(gòu)之外將避免每次重建
sakai
的配置文件。
為了在
tomcat
之外保存
sakai
的配置文件,只需修改
java
的啟動命令(或者
JAVA_OPTS
環(huán)境變量)來設(shè)置系統(tǒng)屬性:
sakai.home
:
-Dsakai.home=/path/to/desired/sakai/home/
屬性文件所在位置必須是
tomcat
可讀寫的。
4.2. sakai.properties
文件
Sakai
的主要配置文件就是
sakai.properties
,
有兩種方式生成該配置文件,一是從頭創(chuàng)建,二是拷貝一份已經(jīng)在運行的配置文件進行修改。在
sakai-src/reference/docs/
目錄下有一份標(biāo)準的配置文件例子,另外一個可能的目錄是在
sakai-src/kernel/component/src/config/org/sakaiproject/config/
下。
原理上
sakai
任何組件的屬性都可以通過這個配置文件來重載。這個配置文件中涉及到的參數(shù)設(shè)置,僅僅只是所有可能設(shè)置的一小部分。
得到更多關(guān)于
sakai.properties
的信息
從你的機構(gòu)名到數(shù)據(jù)庫的配置,
sakai.properties
文件的參數(shù)設(shè)置涉及到的范圍極廣。更多的信息請參見
sakai_properties.doc
或者
reference/docs/architecture/sakai_properties.doc
文件。
4.3. Email
配置
Sakai
需要兩個
email
的功能:一個接收發(fā)送到
sakai
的
email
的功能,另一個是發(fā)送
email
的功能。為了能發(fā)送
mail
,
sakai
需要一個
smtp
服務(wù)器地址(域名或者
ip
)來接收從
sakai
發(fā)出的
mail
,這個
smtp
服務(wù)器就是在
sakai.properties
文件中進行配置:
smtp@org.sakaiproject.email.api.EmailService=some.smtp.org
為了讓
sakai
能收到
mail
,將作以下配置:
# dns addresses used for incoming email
smtp.dns.1 = 255.255.255.1
smtp.dns.2 = 255.255.255.2
# SMTP port on which our SMTP server runs. Default is 25.
#Recommend running on 8025, and using a standard mailer on 25 to forward mail to Sakai.
smtp.port = 25
# flag to enable or disable our SMTP server for incoming email (true | false)
smtp.enabled = true
為了使
smtp
服務(wù)器配置失效,通過下面的配置可以達到目的:
如果
smpt
服務(wù)器采用缺省的
25
端口,則必須以
root
身份來啟動
tomcat
,從安全的角度出發(fā),建議不要用
root
權(quán)限來啟動
tomcat
,因此可以配置
smtp
的端口為
8025
,例如:
4.4. JVM
調(diào)優(yōu)
Java
虛擬機的缺省配置對于運行
sakai
應(yīng)用而言,略顯不足。因此需要配置一些
java
虛擬機的參數(shù)以優(yōu)化
sakai
的運行。
注意
JVM
調(diào)優(yōu)是一個非常復(fù)雜和不透明的過程,因此建議你花一些時間來試驗不同的內(nèi)存和垃圾回收器配置下,系統(tǒng)的運行狀況,以下細節(jié)僅僅提供一個例子和建議,在實施的時候建議你咨詢系統(tǒng)管理員或者
java
專家,也可以通過
sakai
的
wiki
來獲取一些建議。
控制
JVM
選項的最標(biāo)準的方法是通過配置
tomcat
啟動文件中的
JAVA_OPTS
環(huán)境變量。根據(jù)應(yīng)用范圍的不同,這些參數(shù)值變化比較大,具體的大小設(shè)置可以根據(jù)自己的經(jīng)驗以及服務(wù)器的配置進行權(quán)衡,以下配置是針對一個開發(fā)環(huán)境進行的配置
:
以上配置對于一個開發(fā)和試用環(huán)境是足夠的,以
server
模式啟動,分配了
512M
的永久內(nèi)存以保存持久對象。但是這些配置對于大量并發(fā)用戶訪問的情況是不夠的,對于一個
32
位的帶有多處理器的服務(wù)器,以下是一個更加合適的生產(chǎn)環(huán)境配置:
JAVA_OPTS="-server -Xms1500m -Xmx1500m -XX:NewSize=400m -XX:MaxNewSize=400m -XX:PermSize=128m -XX:MaxPermSize=196m -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
以上是一個比較好的配置,通過實踐發(fā)現(xiàn),當(dāng)最小內(nèi)存和最大內(nèi)存設(shè)置為同一個值時,能得到一個更加平滑的性能;垃圾回收消息被打開,可以看到垃圾回收情況;另外一個重要的考慮是
NewSize
在整個堆棧尺寸中的比率,最后兩個參數(shù)是當(dāng)服務(wù)器有多個處理器的情況下才配置的,如果你的服務(wù)器只有一個處理器,建議取消這兩個參數(shù)。
4.5.
測試
Sakai
在到此為止的配置中,還未涉及到數(shù)據(jù)庫的配置,目前還是用的缺省數(shù)據(jù)庫,現(xiàn)在可以啟動你的
tomcat
,來看看上面的這些配置是否生效。通過以下命令可以啟動
tomcat
:
Windows:
|
bin/startup.bat
|
Mac/*nix:
|
bin/startup.sh
|
Tomcat
啟動成功后,通過訪問:
http://localhost:8080/portal
,可以知道
sakai
是否成功部署
缺省的管理用戶名和密碼是:
admin/admin
。如果你能登陸,表示
sakai
部署成功,這時,你可以停掉
tomcat
來進行數(shù)據(jù)庫的配置了:
Windows:
|
bin/shutdown.bat
|
Mac/*nix:
|
bin/shutdown.sh
|
?