现在的项目基本都是用Maven来管理工程,这样一来在公司内容搭建一个私服就非常有必要了,这样一来可以管理公司内部用的JAR包,也可以管理第三方的各种JAR来,以免每次都要从外网的仓库中下载。私服有两种软件搭建Nexus和artifactory,这两个各有优点
Nexus是一个强大的Maven仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。利用Nexus你可以只在一个地方就能够完全控制访问 和部署在你所维护仓库中的每个Artifact。Nexus是一套“开箱即用”的系统不需要数据库,它使用文件系统加Lucene来组织数据。Nexus 使用ExtJS来开发界面,利用Restlet来提供完整的REST APIs,通过m2eclipse与Eclipse集成使用。Nexus支持WebDAV与LDAP安全身份认证。
官网下载压缩包,解压之后发现有两个文件夹,一个是nexus-2.11.0-02,另一个是sonatype-work;第一个文件夹包含了Nexus运行所需要的文件,是运行Nexus必须的;第二个文件夹目录包含Nexus生成的配置文件、日志文件、仓库文件等,当需要备份Nexus的时候,默认备份的是此目录文件。
官网:https://www.sonatype.com/
免费版下载网址(三系统选择):https://www.sonatype.com/download-nexus-repo-oss?submissionGuid=23d9c141-e811-4b6c-996a-c4303c681b74
免费Linux/Unix版下载(2020/1的最新版):https://sonatype-download.global.ssl.fastly.net/repository/repositoryManager/3/nexus-3.20.1-01-unix.tar.gz
cd ~/data //进入存放压缩包的文件夹
tar -xvzf nexus-3.20.1-01-unix.tar.gz //解压缩
解压出来两个文件夹:nexus-3.20.1-01 sonatype-work
用命令查看
ll
cd nexus-3.20.1-01/bin //进入bin文件夹,
ll //找到nexus文件
./nexus run //初次运行
Ctrl+C //按快捷键退出
默认网址:http://
例如: http://localhost:8081/
查找默认admin用户随机密码:
find / -name 'admin.password' //find后面的‘/’表示在哪个路径下查找,在解压后的两个文件夹找就行了,文件名是admin.password
登录后按照网页提示选择即可
手动控制nexus服务的命令:./nuxus start(启动) / stop(停止) / restart(重启) / force-reload / status(服务运行状态:running/stoped)
注意:如果端口冲突,导致无法启动,需要修改服务端口号
~/data/nexus-3.20.1-01/conf/nexus.properties文件中找到 application-port=8081
改为另一个未被占用的端口就好
cd ~/data/nexus-3.20.1-01/bin/nexus.rc
修改或添加一行: run_as_user="root" (引号中是有足够权限的用户,我用的是root)
sudo ln -s ~/data/nexus-3.20.1-01/bin/nexus /etc/init.d/nexus
cd /etc/init.d
sudo update-rc.d nexus defaults
sudo service nexus start
至此,设置自启动就完成了
官方文档(设置自启动)
问题:私服界面提示“Recommended file descriptor limit is 65536 but count is 4096.” 警告。
解决方法
/etc/security/limits.conf
文件中添加以下行
@root - nofile 65536 //此处必须在账户名前加上‘@’ 否则不生效
官方文档:https://help.sonatype.com/repomanager3/system-requirements#SystemRequirements-AdequateFileHandleLimits