3.
编译和发布
Sakai
如何使用
Maven
以下步骤仅仅是简单介绍如何开始使用
maven
来编译和发布
sakai
,更多的细节请参阅:
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
参数
通过命令:
maven cln bld dpl
或者
maven sakai
,来清除以前
build
的内容,详细指令参见:
sakai_maven.doc
。
build
过程将持续一段时间,其间会有详细的输出。特别是第一次
build
时,
maven
将下载所有相关的依赖到本地存储区,编译
sakai
代码,发布
sakai
到
tomcat
的
webapps
目录下。如果
maven
完成的信息是:
BUILD SUCCESSFUL
,则可以进行下一步操作。如果完成信息是:
BUILD FAILED
,可以通过相关的错误信息来定位错误出处。详见第七部分。
Maven
和内存
当进行
build
的时候,你可能会碰到
out of memory
的错误,这也许是当
maven
启动的时候没有读到
JAVA_OPTS
参数,你可以通过另外设置一个环境变量来解决这个问题:
MAVEN_OPTS
。以下设置对于
unix
系统是基本足够了:
export MAVEN_OPTS="-Xmx384m -XX:PermSize=48m"
现在都还是缺省配置,你应该可以启动
tomcat
运行
sakai
了,但为了更好的运行
sakai
,最好还是做一些优化配置,详见下一部分。
4.
安装后配置
4.1.
创建保存属性文件的文件夹
在缺省配置属性下,
sakai
可以运行它的不同的组件。为了重新配置这些组件,你必须在
sakai.properties
文件中配置某些参数,这个文件缺省放在
$CATALINA_HOME/sakai
目录下,这个目录
maven
不会自动创建,所以你将手工创建。
选择不同的位置保存
sakai.properties
将
sakai
的配置文件保存在
tomcat
的文件结构之外比较好。例如,在一个开发环境中,你可能会经常的重装
tomcat
,将
sakai
的配置文件保存在
tomcat
文件结构之外将避免每次重建
sakai
的配置文件。
为了在
tomcat
之外保存
sakai
的配置文件,只需修改
java
的启动命令(或者
JAVA_OPTS
环境变量)来设置系统属性:
sakai.home
:
-Dsakai.home=/path/to/desired/sakai/home/
属性文件所在位置必须是
tomcat
可读写的。
4.2. sakai.properties
文件
Sakai
的主要配置文件就是
sakai.properties
,
有两种方式生成该配置文件,一是从头创建,二是拷贝一份已经在运行的配置文件进行修改。在
sakai-src/reference/docs/
目录下有一份标准的配置文件例子,另外一个可能的目录是在
sakai-src/kernel/component/src/config/org/sakaiproject/config/
下。
原理上
sakai
任何组件的属性都可以通过这个配置文件来重载。这个配置文件中涉及到的参数设置,仅仅只是所有可能设置的一小部分。
得到更多关于
sakai.properties
的信息
从你的机构名到数据库的配置,
sakai.properties
文件的参数设置涉及到的范围极广。更多的信息请参见
sakai_properties.doc
或者
reference/docs/architecture/sakai_properties.doc
文件。
4.3. Email
配置
Sakai
需要两个
email
的功能:一个接收发送到
sakai
的
email
的功能,另一个是发送
email
的功能。为了能发送
mail
,
sakai
需要一个
smtp
服务器地址(域名或者
ip
)来接收从
sakai
发出的
mail
,这个
smtp
服务器就是在
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
服务器配置失效,通过下面的配置可以达到目的:
如果
smpt
服务器采用缺省的
25
端口,则必须以
root
身份来启动
tomcat
,从安全的角度出发,建议不要用
root
权限来启动
tomcat
,因此可以配置
smtp
的端口为
8025
,例如:
4.4. JVM
调优
Java
虚拟机的缺省配置对于运行
sakai
应用而言,略显不足。因此需要配置一些
java
虚拟机的参数以优化
sakai
的运行。
注意
JVM
调优是一个非常复杂和不透明的过程,因此建议你花一些时间来试验不同的内存和垃圾回收器配置下,系统的运行状况,以下细节仅仅提供一个例子和建议,在实施的时候建议你咨询系统管理员或者
java
专家,也可以通过
sakai
的
wiki
来获取一些建议。
控制
JVM
选项的最标准的方法是通过配置
tomcat
启动文件中的
JAVA_OPTS
环境变量。根据应用范围的不同,这些参数值变化比较大,具体的大小设置可以根据自己的经验以及服务器的配置进行权衡,以下配置是针对一个开发环境进行的配置
:
以上配置对于一个开发和试用环境是足够的,以
server
模式启动,分配了
512M
的永久内存以保存持久对象。但是这些配置对于大量并发用户访问的情况是不够的,对于一个
32
位的带有多处理器的服务器,以下是一个更加合适的生产环境配置:
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"
以上是一个比较好的配置,通过实践发现,当最小内存和最大内存设置为同一个值时,能得到一个更加平滑的性能;垃圾回收消息被打开,可以看到垃圾回收情况;另外一个重要的考虑是
NewSize
在整个堆栈尺寸中的比率,最后两个参数是当服务器有多个处理器的情况下才配置的,如果你的服务器只有一个处理器,建议取消这两个参数。
4.5.
测试
Sakai
在到此为止的配置中,还未涉及到数据库的配置,目前还是用的缺省数据库,现在可以启动你的
tomcat
,来看看上面的这些配置是否生效。通过以下命令可以启动
tomcat
:
Windows:
|
bin/startup.bat
|
Mac/*nix:
|
bin/startup.sh
|
Tomcat
启动成功后,通过访问:
http://localhost:8080/portal
,可以知道
sakai
是否成功部署
缺省的管理用户名和密码是:
admin/admin
。如果你能登陆,表示
sakai
部署成功,这时,你可以停掉
tomcat
来进行数据库的配置了:
Windows:
|
bin/shutdown.bat
|
Mac/*nix:
|
bin/shutdown.sh
|