9.2.2 Bundle方式安装Nexus
Nexus的Bundle自带了Jetty容器,因此用户不需要额外的Web容器就能直接启动Nexus。首先将Bundle文件解压(例如笔者将其解压到D:\bin\目录),这时就会得到如下两个子目录:
nexus-webapp-1.7.2/:该目录包含了Nexus运行所需要的文件,如启动脚本、依赖jar包等。
sonatype-work/:该目录包含Nexus生成的配置文件、日志文件、仓库文件等。
其中,第一个目录是运行Nexus所必需的,而且所有相同版本Nexus实例所包含的该目录内容都是一样的。而第二个目录不是必须的,Nexus会在运行的时候动态创建该目录,不过它的内容对于各个Nexus实例是不一样的,因为不同用户在不同机器上使用的Nexus会有不同的配置和仓库内容。当用户需要备份Nexus的时候,默认备份sonatype-work/目录,因为该目录包含了用户特定的内容,而nexus-webapp-1.7.2目录下的内容是可以从安装包直接获得的。
用户只需要调用对应操作系统的脚本就可以启动Nexus,这里介绍主流的在Windows和Linux平台上启动Nexus的方式。
在Windows操作系统上,用户需进入nexus-webppp-1.7.2/bin/jsw/windows-x86-32/子目录,然后直接运行nexus.bat脚本就能启动Nexus。如果看到如下输出,就说明启动成功了:
jvm 1|2010-09-02 15:27:11 INFO[er_start_runner]-o.s.n.DefaultNexus-
Started Nexus(version 1.7.2 OSS)
jvm 1|2010-09-02 15:27:11 INFO[er_start_runner]-o.s.n.p.a.DefaultAt~
-Attribute storage directory does not exists,creating it here
:...\sonatype-work\nexus\proxy\attributes
jvm 1|2010-09-02 15:27:11 WARN[er_start_runner]-o.s.s.m.s.FileModel~-
No configuration file in place,copying the default one and c
ontinuing with it.
jvm 1|2010-09-02 15:27:11 INFO[er_start_runner]-o.s.s.m.s.FileModel~-
Loading Security configuration from D:\bin\nexus-oss-webapp-1
.7.2...\sonatype-work\nexus\conf\security.xml
jvm 1|2010-09-02 15:27:11 INFO[er_start_runner]-o.s.s.w.PlexusConfi~-
SecurityManager with role='org.sonatype.security.PlexusSecuri
tyManager'and roleHint='web'found in Plexus.
jvm 1|2010-09-02 15:27:12 INFO[er_start_runner]-org.mortbay.log-Star-
ted SelectChannelConnector@0.0.0.0:8081
这时,打开浏览器访问http://localhost:8081/nexus/就能看到Nexus的界面,如图9-1所示。
要停止Nexus,可以在命令行按Ctrl+C键。
在nexus-webppp-1.7.2/bin/jsw/windows-x86-32/目录下还有其他一些脚本:
Installnexus.bat:将Nexus安装成Windows服务。
Uninstallnexus.bat:卸载Nexus Windows服务。
Startnexus.bat:启动Nexus Windows服务。
图 9-1 Nexus的初始界面
Stopnexus.bat:停止Nexus Windows服务。
Pausenexus.bat:暂停Nexus Windows服务。
Resumenexus.bat:恢复暂停的Nexus Windows服务。
借助Windows服务,用户就可以让Nexus伴随着Windows自动启动,非常方便。
在Linux系统上启动Nexus也非常方便,例如笔者使用Ubuntu 32位系统,那么只需要进入到nexus-webapp-1.7.2/bin/jsw/linux-x86-32/,然后运行如下命令:
$./nexus console
同样地,读者可以看到Nexus启动的命令行输出,并且可以使用Ctrl+C键停止Nexus。除了console之外,Nexus的Linux脚本还提供如下的命令:
./nexus start:在后台启动Nexus服务。
./nexus stop:停止后台的Nexus服务。
./nexus status:查看后台Nexus服务的状态。
./nexus restart:重新启动后台的Nexus服务。
关于Bundle安装的一个常见问题是端口冲突。Nexus Bundle默认使用的端口是8081,如果该端口已经被其他应用程序占用,或者你想使用80端口开放Nexus服务,则编辑文件nexus-webapp-1.7.2/conf/plexus.properties,找到属性application-port,按需要将默认值8081改成其他端口号,然后保存该文件,重启Nexus便可。