当前位置:   article > 正文

在linux上搭建maven私服nexus和nexus的使用_nexus启动后无法访问

nexus启动后无法访问

今天来讲一下 在linux上搭建maven私服nexus和nexus的使用

一、nexus的安装

1、下载nexus

2、上传并解压

我是上传到了 /root/目录下

解压

  1. #解压
  2. tar -zxvf nexus-3.12.1-01-unix.tar.gz -C /usr/local/

3、修改默认端口

 nexus默认使用的是8081端口,如果不想使用默认的8081端口的话,可以使用以下的命令进行修改

vim /usr/local/nexus-3.12.1-01/etc/nexus-default.properties

 二、nexus的启动

进入bin目录进行启动

  1. #进入bin目录
  2. cd /usr/local/nexus-3.12.1-01/bin
  3. #启动nexus
  4. ./nexus start

 使用root账户登录,启动nexus的话,会看到一个提示,意思是说不建议使用root用户进行启动,在linux中root账户的权限是非常大的,所以一般启动软件的时候都不建议使用root账户,建议使用对应的用户启动对应的软件,所以下面我们来给nexus创建一个用户

1、为nexus创建账户

  1. #创建一个名字为nexus的用户
  2. useradd nexus
  3. #设置密码
  4. passwd nexus 按回车,会提示你输入密码

 2、把nexus相关的文件夹权限转移给刚创建的nexus账户

想要使用nexus账户来启动nexus的话,那就需要把nexus相关的文件夹权限转移给nexus账户

有2个文件夹的权限需要转移,下图中圈红的2个文件夹

  1. #把nexus-3.12.1-01/ sonatype-work/的权限转移给nexus账户和所属组
  2. chown -R nexus:nexus nexus-3.12.1-01/ sonatype-work/

3、切换nexus账户,并进行启动

注意:先kill掉刚才用root账户启动的nexus进程

  1. #切换nexus账户
  2. su nexus
  3. #进入bin目录,并启动nexus
  4. cd /usr/local/nexus-3.12.1-01/bin/
  5. #启动
  6. ./nexus start

使用 ./nexus start 这个命令启动完以后,去访问192.168.56.20:8081发现访问不了

访问不了可能是因为防火墙端口没开,于是我们使用下面的命令打开防火墙的8081端口

注意编辑防火墙文件必须使用root账户

vim /etc/sysconfig/iptables

重启防火墙服务

systemctl restart iptables.service

重启了防火墙服务后,再次访问 http://192.168.56.20:8081

有可能发现还是访问不了,刚开始一直找不到原因,就ps 看了一下nexus进程有没有正常启动

ps -ef|grep nexus

发现nexus进程还真没有启动起来,然后又用 ./nexus start 试了几次,然后用 ps 去看进程,发现还是没启动起来

然后就用了 ./nexus run 来启动,启动后, 访问 http://192.168.56.20:8081 发现可以访问了

但是用 ./nexus run 启动的话,窗口得一直开着,窗口一关进程就结束了

所以最后使用 ./nexus run & 来启动,就可以了

但是使用 ./nexus start 为什么启动不了的原因,我现在还没找到,如果有发现相同问题并解决了的小伙伴,欢迎留言

后来发现,重启一下机器,然后再使用 ./nexus start 就能启动了

至此nexus的搭建和启动就完成了

最后再添加一下 nexus开机自启动:在linux中设置nexus开机自启动

三、登录并修改最大文件数

1、登录

默认的账号是admin 密码是admin123

输入账号密码就可以登录进去了

登录进去后,会发现最上边有个黄色的叹号提示说,最大的文件数是4096,数值太低了,需要把它增加到65536,那下边我们来配置一下

 2、修改最大的文件数为65536

vim /etc/security/limits.conf

在最下边添加一下内容

  1. * soft nofile 65536
  2. * hard nofile 65536

如下图所示

注意:需要使用root账户进行修改

保存退出,然后需要重启linux机器才能生效

重启机器后,再登录进去,发现刚才那个感叹号的提示已经没有了

四、nexus的使用

 1、新建一个自己的仓库

 

2、配置本地maven的setting文件

本地maven的setting文件里需要做一些私服的配置,才能使用搭建好的nexus私服

mave的setting文件里默认会有很多注释掉的东西,下面是我把注释掉的内容删除后,我本地setting文件的完整配置

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  5. <localRepository>E:\maven\repr</localRepository>
  6. <pluginGroups>
  7. </pluginGroups>
  8. <proxies>
  9. </proxies>
  10. <servers>
  11. <server>
  12. <id>cj-releases</id>
  13. <username>admin</username>
  14. <password>admin123</password>
  15. </server>
  16. <server>
  17. <id>cj-snapshots</id>
  18. <username>admin</username>
  19. <password>admin123</password>
  20. </server>
  21. </servers>
  22. <mirrors>
  23. <mirror>
  24. <id>alimaven</id>
  25. <mirrorOf>central</mirrorOf>
  26. <name>aliyun maven</name>
  27. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  28. </mirror>
  29. </mirrors>
  30. <profiles>
  31. <profile>
  32. <id>jdk-1.8</id>
  33. <activation>
  34. <activeByDefault>true</activeByDefault>
  35. <jdk>1.8</jdk>
  36. </activation>
  37. <properties>
  38. <maven.compiler.source>1.8</maven.compiler.source>
  39. <maven.compiler.target>1.8</maven.compiler.target>
  40. <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
  41. </properties>
  42. </profile>
  43. <profile>
  44. <id>cj</id>
  45. <activation>
  46. <activeByDefault>false</activeByDefault>
  47. </activation>
  48. <!-- 私有库地址-->
  49. <repositories>
  50. <repository>
  51. <id>cj</id>
  52. <url>http://192.168.56.20:8081/repository/maven-public/</url>
  53. <releases>
  54. <enabled>true</enabled>
  55. </releases>
  56. <snapshots>
  57. <enabled>true</enabled>
  58. </snapshots>
  59. </repository>
  60. </repositories>
  61. <!--插件库地址-->
  62. <pluginRepositories>
  63. <pluginRepository>
  64. <id>cj</id>
  65. <url>http://192.168.56.20:8081/repository/maven-public/</url>
  66. <releases>
  67. <enabled>true</enabled>
  68. </releases>
  69. <snapshots>
  70. <enabled>true</enabled>
  71. </snapshots>
  72. </pluginRepository>
  73. </pluginRepositories>
  74. </profile>
  75. </profiles>
  76. <activeProfiles>
  77. <activeProfile>cj</activeProfile>
  78. </activeProfiles>
  79. </settings>

3、修改nexus的代理地址

可以看到nexus默认的代理地址是maven的中央仓库地址,这个地址是国外的,咱们在国内访问可能会很慢,所以,咱们把它改成国内阿里的中央仓库地址:

http://maven.aliyun.com/nexus/content/groups/public/

4、测试效果

在本地项目的pom文件中添加一个本地仓库没有的依赖,看看它是不是会去咱们配置nexus私服上去拉取,nexus私服上没有的话,它会去配置的中央仓库拉取并保存到nexus私服上

 可以看到它已经是去咱们自己搭建的nexus私服上拉取了

由于是第一次拉取,所以咱们的nexus私服上是没有的,它肯定会中央仓库拉取,并保存到nexus私服上,所以咱们看下nexus私服的仓库里有没有刚才保存的依赖

 可以看到刚才添加的aws-java-sdk-core 1.12.74依赖已经保存到咱们搭建的nexus私服的仓库里了

5、把本地打包的项目上传到nexus私服

怎么把我们本地打包的项目上传到nexus私服呢?

首先需要在本地的项目pom文件里配置以下信息

  1. <!--pom.xml 远程仓库的配置 id要跟本地maven的setting.xml相同 -->
  2. <distributionManagement>
  3. <repository>
  4. <id>cj-releases</id>
  5. <url>http://192.168.56.20:8081/repository/maven-releases/</url>
  6. </repository>
  7. <snapshotRepository>
  8. <id>cj-snapshots</id>
  9. <url>http://192.168.56.20:8081/repository/maven-snapshots/</url>
  10. </snapshotRepository>
  11. </distributionManagement>

如下图所示

 然后在idea的右侧Maven工具栏里,点击deploy

 可以看到已经 Build Success

然后我们去nexus私服的仓库里看看有没有传上去

 可以看到我们本地打包的项目jar包已经上传到nexus私服上去了

那其他的项目怎么引用我们打包到私服上的jar呢?

很简单,只需要在pom文件里加上相应的依赖就可以了

 添加完pom依赖,可以看看对应的依赖库里有没有这个项目的jar

 上图可以看到其他项目里已经可以依赖我们打包到nexus私服里的jar了

6、手动上传jar到nexus私服

我们还可以把一个jar手动的上传到nexus私服

首先我们准备一个jar,可以是你本地项目打包出来的jar也可以是你在网上下载好的一个jar

然后选择一个仓库,点击进去

点Upload component

 点Browse,选择本地的jar包 按照下图填好相应的信息,点击Upload

 可以看到jar已经传上去了

然后我们在项目里引用一下刚才上传的jar,下图可以看到在项目里已经成功依赖刚才上传的jar包 

至此,nexus的搭建和基本的使用就讲完了

纯手敲原创不易,如果觉得对你有帮助,可以打赏支持一下,哈哈,感谢~

           

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/124723
推荐阅读
相关标签
  

闽ICP备14008679号