下载nexus安装包放到linux /usr/local
链接: https://pan.baidu.com/s/1RiPLgbNI-UR7dzDS6XBFHg 提取码: bhvn (linux版)
链接: https://pan.baidu.com/s/1pi5B51V_gmOoZrTwrw5qAg 提取码: dhk9 (windows版)
解压
tar -zxvf nexus-3.21.1-01-unix.tar.gz
删除压缩包并更改解压后文件夹名称为nexus
rm nexus-3.21.1-01-unix.tar.gz
mv nexus-3.21.1-01 nexus
修改/usr/local/nexus/bin/nexus.rc加入以下内容
run_as_user=root
新建用户
sudo useradd nexus
修改文件所属用户
sudo chown nexus /usr/local/nexus -R
如果服务器开启防火墙就打开端口
iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
service iptables save
iptables -nvL
进入/usr/local/nexus/bin启动
./nexus run
以上操作有可能出现以下几种问题
问题一:Detected execution as "root" user. This is NOT recommended!
vim /usr/local/nexus/bin/nexus
输入/run_as_root搜索,将run_as_root=true改为false
问题二:Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000717000000, 945094656, 0) failed; error='Cannot allocate memory' (errno=12)
这是由于虚拟机内存不够引起的,nexus默认内存为2G,两种解决办法:1提高虚拟机内存 2修改nexus配置减小内存(根据自己情况修改)
vim /usr/local/nexus/bin/nexus.
再次启动如果出现以下说明成功(./nexus start为后台启动不打印日志,只显示starting nexus)
登录(默认账号admin 密码根据提示到目标文件提取)
设置远程仓库地址为ali(http://maven.aliyun.com/nexus/content/groups/public)
设置拒绝匿名账号访问 ,把勾去掉(如果拒绝匿名,在配置maven的时候就需要加上账号密码)
设置以下里两个仓库的hosted为Allow redeploy,目的是可接受重复提交
maven项目中pom添加以下依赖即可使nexus生效(如果配置拒绝匿名访问,在上传jar的时候需要在maven的setting中配置server)
<!--配置下载的地址-->
<repositories>
<repository>
<id>nexus</id>
<url>http://81.70.41.44:8081/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
<!--配置项目上传私服的地址-->
<distributionManagement>
<repository>
<id>releases</id>
<url>http://81.70.41.44:8081/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<name>for snapshots demo</name>
<url>http://81.70.41.44:8081/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>