nexus私服下载&安装&仓库使用 整理(Linux环境)这一篇足够
下载&安装
1、需要jdk8以上环境**
2、下载Nexus安装包,官网下载地址**:https://www.sonatype.com/download-oss-sonatype
选择下载对应的操作系统:
3、安装只需要几步即可**
我在当前用户下创建的maven目录
mkdir maven/nexus
将压缩包放入/nexus下
解压:
tar zxvf nexus-3.16.1-02-unix.tar.gz
解压后得到:nexus-3.16.1-02和sonatype文件夹
重命名
mv nexus-nexus-3.16.1-02 nexus
新建用户(这一步我没做,这一步只是为了选择运行nexus 的用户):
sudo useradd nexus
在nexus/bin/nexus.rc中将运行nexus的用户配置上(也可直接用你登录的用户名):
修改文件所属用户
sudo chown nexus /usr/nexus -R
添加java配置
vi maven/nexus/nexus/bin/nexus
将INSTALL4J_JAVA_HOME_OVERRIDE=/usr/java/jdk1.8.0_74/
#nexus端口默认8081,启动前需查看8081端口是否被占用
ps -ef | grep 8081
或者其他命令
若有占用需修改
maven/sonatype-work/nexus3/etc/nexus.properties中端口号
4.第一次启动查看日志,之后可以使用**
(启动:/nexus/nexus/bin/nexus start
关闭:/nexus/nexus/bin/nexus stop)
/nexus/nexus-3.16.1-02/bin/nexus run
(前台运行,可以实时查看日志)
命令包括:{start|stop|run|run-redirect|status|restart|force-reload}
run:启动并有日志
ps:用start启动可能UI界面有延迟稍一等估计就好了(要是还没好那估计有弄错的地方)
5、启动完成后访问地址**:http://yuorserverport:8081(如果出现页面中404错误,等会在刷新访问)
1.尝试用./nexus start启动,后台启动,启动成功后可以访问
2.尝试用./nexus run启动,前台启动,显示日志,启动后可以访问
[nexus@localhost bin]$ ./nexus run
Java HotSpot(TM) 64-Bit Server VM warning: Cannot open file ../sonatype-work/nexus3/log/jvm.log due to Permission denied
Warning: Cannot open log file: ../sonatype-work/nexus3/log/jvm.log
Warning: Forcing option -XX:LogFile=/tmp/jvm.log
Unable to update instance pid: Unable to create directory /usr/local/sonatype-work/nexus3/instances
/usr/local/sonatype-work/nexus3/log/karaf.log (Permission denied)
Unable to update instance pid: Unable to create directory /usr/local/sonatype-work/nexus3/instances
1.提示权限不够,切换成root对nexus(或者你登录的用户)用户进行授权,并且可以得出,nexus会自动创建该文件夹,并且要把数据写到里面
[root@localhost local]# chown nexus:nexus -R sonatype-work/
[root@localhost local]# su - nexus
[nexus@localhost ~]$ cd /usr/local/nexus-3.5.2-01/bin/
[nexus@localhost bin]$ ./nexus run
...
-------------------------------------------------
Started Sonatype Nexus OSS 3.5.2-01
-------------------------------------------------
1.通过浏览器进行访问http://serveraddress:port,如:http://172.16.1.3:8081/
若访问失败:
结果发现找不到页面,这个时候要检查服务器的防火墙是否关闭,如果开启状态,则关闭
[root@localhost ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2017-09-25 10:10:57 EDT; 5s ago
Docs: man:firewalld(1)
Main PID: 3552 (firewalld)
CGroup: /system.slice/firewalld.service
└─3552 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Sep 25 10:10:56 localhost.localdomain systemd[1]: Starting firewalld - dynami...
Sep 25 10:10:57 localhost.localdomain systemd[1]: Started firewalld - dynamic...
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl stop firewalld
1.再次访问
6、其它说明**
1)Nexus默认的端口是8081,可以在etc/nexus-default.properties配置中修改。
2)Nexus默认的用户名密码是admin/admin123
3)当遇到奇怪问题时,重启nexus,启动时间会比较慢 要1分钟左右后才能访问。
4)Nexus的工作目录是sonatype-work(路径一般在nexus同级目录下)
仓库介绍
当访问:http://ip:8081/ 会有nexus界面
用户登陆,进入Repositories页面点击Nexus“Log in”,输入默认用户名(admin)和默认密码(admin123)登录。后找到Repositories
1、四种仓库类型介绍
默认仓库介绍
1)maven-central: maven中央库,默认从https://repo1.maven.org/maven2/拉取jar
2)maven-releases: 私库发行版jar
3)maven-snapshots:私库快照(调试版本)jar
4)maven-public: 仓库分组,把上面三个仓库组合在一起对外提供服务,在本地maven基础配置settings.xml中使用。
Nexus默认的仓库类型有以下四种:(上面的名字可以随便取,关键是它对应的是什么仓库类型)
1)group(仓库组类型):又叫组仓库,用于方便开发人员自己设定的仓库;
2)hosted(宿主类型):内部项目的发布仓库(内部开发人员,发布上去存放的仓库);
3)proxy(代理类型): 从远程中央仓库中寻找数据的仓库(可以点击对应的仓库的Configuration页签下Remote Storage Location属性的值即被代理的远程仓库的路径);
4)virtual(虚拟类型): 虚拟仓库(这个基本用不到,重点关注上面三个仓库的使用);
Policy(策略):表示该仓库为发布(Release)版本仓库还是快照(Snapshot)版本仓库;
2、可以连接互联网的状态下仓库拉取jar包流程
1)Maven可直接从宿主仓库下载构件,也可以从代理仓库下载构件,而代理仓库间接的从远程仓库下载并缓存构件
2)为了方便,Maven可以从仓库组下载构件,而仓库组并没有时间的内容(下图中用虚线表示,它会转向包含的宿主仓库或者代理仓库获得实际构件的内容).
创建新用户和新仓库
1、创建用户
登陆admin后,可以点击上面的“设置”图标,在“设置”里可以添加用户、角色,对接LDAP等的设置,如下:
创建用户好后,重新登陆创建的用户
2、创建仓库
上面对仓库的概率清楚后,我们开始创建新仓库,主要创建3个仓库
proxy仓库 作用是去远程拉取jar包
hosted仓库 作用是存放本地上传的三方jar包
group仓库 作用是将上面来个放到这个组里,进行统一管理
(1)proxy 代理仓库创建
中央仓库的代理默认为https://repo1.maven.org/maven2/ 我们可以更换成阿里云中央仓库。
(2)hosted 仓库创建
host仓库这里了两种不同的存储类型
(3)group仓库
主要就是把上面三个仓库放到该组里,然后让这个组给外面访问。
有关在linux服务器上搭建nexus的工作已经完成,接下来就需要配置maven相关配置文件,来测试该仓库的是否成功。
各位看官辛苦了,希望这篇文章能够帮助你,下一篇文章将更新如何批量上传jar到仓库以及maven连接nexus私服