一、服务器要求
官网中对服务器的硬件配置做出了具体的要求
内存 | cpu |
---|---|
>=8G | >=4c |
除了硬件配置,文件句柄数也是要>=65536
[root@localhost ~]# echo "* hard nofile 65536
* soft nofile 65536" >> /etc/security/limits.conf
开头先讲讲我遇到的坑吧。由于条件限制,我是在本地起的虚拟机,而且只给了2G的内存。当我启动nexus的时候,发现怎么都启动不了。于是我就去查看日志,发现在sonatype-work/nexus3/log/下竟然没生成nexus.log日志文件,证明是彻底的没起来啊。看了nexus3的官网中的"系统要求"之后,它给出的建议是服务器的最小内存为8G,因为配置文件中的-Xms和-Xmx默认都是2703M,所以我的2G内存的虚拟机能起来才怪呢,哈哈。于是我就把内存加到了4G开始了下面的安装。
二、安装jdk
官网要求是需要jdk1.8,下载地址为下载地址为:https://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html
安装jdk很简单,步骤为:解压–>添加环境变量–>使环境变量生效–>验证
[root@localhost ~]# tar -zxf jdk-8u202-linux-x64.tar.gz -C /usr/local/
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# tail -n 2 /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_202
export PATH=$PATH:$JAVA_HOME/bin
[root@localhost ~]# source /etc/profile
[root@localhost ~]# java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
当安装有多个版本的jdk时,可以在bin/nexus中指定对应的jdk,例如
INSTALL4J_JAVA_HOME_OVERRIDE=/usr/local/jdk1.8.0_202
三、安装nexus3
先去官网下载nexus,下载地址为https://help.sonatype.com/repomanager3/download/download-archives—repository-manager-3
我这边下载的是目前的最新版本3.19.0-01,下载时需要翻墙才能下载,可能是暂时性的,不能下载的小伙伴就辛苦翻一下墙吧,再不行就留言吧,我把安装包给分享出来。
1.解压
解压出来有两个目录,所以我先在/usr/local/中先创建一个叫做nexus3的目录,然后再进行解压。
[root@localhost src]# mkdir -p /usr/local/nexus3
[root@localhost src]# tar -zxf nexus-3.19.0-01-unix.tar.gz -C /usr/local/nexus3/
[root@localhost src]# cd /usr/local/nexus3/
[root@localhost nexus3]# ls
nexus-3.19.0-01 sonatype-work
2.创建nexus用户
我们要用非root用户来启动nexus,这也是官网给出的建议。
[root@localhost ~]# useradd nexus
[root@localhost ~]# chown -R nexus:nexus /usr/local/nexus3
3.把nexus加入到系统服务中
当然,nexus不加入到系统服务也是完全可以运行的,运行方式如下:
[root@localhost ~]# su nexus
[nexus@localhost ~]$ /usr/local/nexus3/nexus-3.19.0-01/bin/nexus start|stop|run|run-redirect|status|restart|force-reload
但是加入到系统服务中显然是更为方便管理的。加入系统服务也是很简单,到/etc/systemd/system/目录下创建一个nexus.service文件即可。
[root@localhost ~]# cd /etc/systemd/system
[root@localhost system]# cat nexus.service
[Unit]
Description=nexus service
After=network.target[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/usr/local/nexus3/nexus-3.19.0-01/bin/nexus start
ExecStop=/usr/local/nexus3/nexus-3.19.0-01/bin/nexus stop
User=nexus
Restart=on-abort[Install]
WantedBy=multi-user.target
然后用systemctl命令启动
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable nexus.service
[root@localhost ~]# systemctl start nexus.service
查看下启动状态
好了,很顺利的启动了。
四、修改、优化nexus配置
可以根据实际情况对nexus的jvm内存、http端口、数据目录等进行修改。
1.修改nexus的jvm内存
根据自己的服务器的时间情况进行修改,但是官网建议是不要小于默认值,因为测试环境,我这边就修改为2048M
[nexus@localhost ~]$ cd /usr/local/nexus3/nexus-3.19.0-01/bin
[nexus@localhost bin]$ vim nexus.vmoptions
-Xms2048m
-Xmx2048m
-XX:MaxDirectMemorySize=2048m
修改完成之后nexus需进行重载才能使配置生效。
[root@localhost bin]# systemctl force-reload nexus
用jmap查看下内存,确实是变为2048M了。
2.修改nexus的http端口
默认情况下,nexus的http端口是8081。可以根据自己的实际情况进行修改。比如说改成9081端口。
[root@localhost ~]# cd /usr/local/nexus3/sonatype-work/nexus3/etc/
[root@localhost etc]# vim nexus.properties
application-port=9081
也是一样需要重来加载才能生效
[root@localhost bin]# systemctl force-reload nexus
用netstat查看下端口,确实变为9081了。
3.修改数据目录
这个配置是经常用到的一个配置项,因为nexus的数据目录存放着仓库的文件,文件多的话,这个目录占用的磁盘空间会比较大,所以我们规划的时候,数据目录最好是放在空间比较大的磁盘分区目录中,这样就省去了以后不必要的迁移了。
例如我的/data/分区是比较大的,所以我要把nexus的数据目录放在/data/分区中。先在/data/目录中建一个 nexusrepertory目录,用于存放nexus的数据目录(当然不建这个目录也行,但是我认为这样比较直观)。然后把之前的数据目录mv过来。
[root@localhost data]# cd /data/
[root@localhost data]# mkdir nexusrepertory
[root@localhost data]# chown -R nexus:nexus nexusrepertory
[root@localhost data]# mv /usr/local/nexus3/sonatype-work nexusrepertory/
然后修改配置文件
[root@localhost ~]# cd /usr/local/nexus3/nexus-3.19.0-01/bin
[root@localhost bin]# vim nexus.vmoptions
-XX:LogFile=/data/nexusrepertory/sonatype-work/nexus3/log/jvm.log
-Dkaraf.data=/data/nexusrepertory/sonatype-work/nexus3
-Djava.io.tmpdir=/data/nexusrepertory/sonatype-work/nexus3/tmp
然后重启nexus
[root@localhost ~]# systemctl restart nexus
五、修改admin的密码
上面安装配置完成之后,直接访问页面。
初始密码在文件$data-dir/sonatype-work/nexus3/admin.password文件中
[root@localhost ~]# cat /data/nexusrepertory/sonatype-work/nexus3/admin.password
a2452766-363c-4f12-975f-551d8af3d828
点击右上角的"Sign in"进行登录,用户名为admin,密码是上面这个长字符串。
登录之后,页面会弹出一个Setup
第一句话是"this wizard will help you complete required setup tasks",意思是是"该向导将帮助你完成所需的设置任务",是一句比较友好的提示语,我们点"Next"。
来到设置新密码的界面,输入两遍密码,点击"Next"。
第三个页面是让我们勾选"是否允许未经授权的用户进行下载、浏览和搜索仓库的内容"。因为nexus服务器是在内网中的,比较安全,所以我这里勾选了。
点击"Next"
看到complete,那就完成设置了,哈哈。
登录之后,如果我们想改admin的密码,可以按下面的步骤进行修改。
好了,目前为止nexus3的安装已基本完成了。
参考文章:
https://help.sonatype.com/repomanager3/installation