在 CentOS 7上安装Sonatype Nexus Repository OSS

2023-11-10

【转自FossLinux的Darshana《Installing Sonatype Nexus Repository OSS on CentOS 7》翻译】

Sonatype Nexus是一个流行的存储库管理器,在全球范围内用于大多数组件、二进制文件和构建工件。它支持 Java 虚拟机 (JVM) 生态系统,包括 Gradle、Ant、Maven 和 Ivy。

兼容的标准工具包括Eclipse,IntelliJ,Hudson,Jenkins,Puppet,Chef, Docker等。Sonatype Nexus repo可以通过交付二进制容器、组件和成品来管理开发组件。

在本教程中,我们将为您提供在CentOS 7上设置Sonatype Nexus Repository OSS 版本的综合指南。

在 CentOS 7 上安装 Sonatype Nexus Repository OSS

在开始本教程之前,让我们看看运行 Sonatype Nexus Repo 的最低系统要求。

系统要求

  • 最低 CPU:4,推荐 CPU:8+
  • 主机上的最小物理/RAM 8GB

1.预安装

开始设置主机名。

hostnamectl set-hostname nexus

更新您的CentOS系统。

yum update -y

通过执行下列命令安装Java:

yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel

安装 JAVA

安装完成后,检查java版本以确保您已准备好进入下载Repo的下一步。

java -version

JAVA 版本

2. 下载 Nexus Repository Manager 3

导航到opt目录

cd /opt

官网复制最新的Repo的URL,用wget下载它。

wget https://download.sonatype.com/nexus/3/latest-unix.tar.gz

解压tar文件

tar -xvzf latest-unix.tar.gz

您应该看到两个目录,包括nexus文件和nexus数据目录

ls -lh

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xiRUzVEL-1631600730185)(https://cdn.fosslinux.com/wp-content/uploads/2020/02/04052743/Etracted_Files.png)]

重命名文件夹

mv nexus-3.20.1-01 nexus

mv sonatype-work nexusdata

重命名目录

3. 设置用户/权限和配置

I. 为一个nexus服务添加一个用户

useradd --system --no-create-home nexus

II. 设置Nexus文件和Nexus数据的所有者

chown -R nexus:nexus /opt/nexus

hown -R nexus:nexus /opt/nexusdata

III. 更改 Nexus 配置并设置自定义数据目录

编辑“nexus.vmoptions”。

vim /opt/nexus/bin/nexus.vmoptions

更改数据目录。

-Xms2703m 
-Xmx2703m 
-XX:MaxDirectMemorySize=2703m 
-XX:+UnlockDiagnosticVMOptions 
-XX:+LogVMOutput 
-XX:LogFile=../nexusdata/nexus3/log/jvm.log 
-XX:-OmitStackTraceInFastThrow 
-DIPv4Stack. 
-Dkaraf.home=. 
-Dkaraf.base=. 
-Dkaraf.etc=etc/karaf 
-Djava.util.logging.config.file=etc/karaf/java.util.logging.properties 
-Dkaraf.data=../nexusdata/nexus3 
-Dkaraf.log=../nexusdata /nexus3/log 
-Djava.io.tmpdir=../nexusdata/nexus3/tmp 
-Dkaraf.startLocalConsole=false

保存并退出文件。

更改 Nexus 数据目录

IV. 改 nexus 服务帐户的用户。

编辑“nexus.rc”文件。

vim /opt/nexus/bin/nexus.rc

取消注释“run_as_user”参数并添加新值。

run_as_user="nexus"

V. 停止监听远程连接。

我们需要修改“nexus-default.properties”文件。

vim /opt/nexus/etc/nexus-default.properties

将 application-host=0.0.0.0 更改为 application-host=127.0.0.1。

更改应用程序主机

VI. 配置nexus用户的打开文件限制。

vim /etc/security/limits.conf

将以下值添加到文件中。

nexus - nofile 65536

保存并退出文件

4. 设置Nexus为系统服务

在“/etc/systemd/system/”中创建Systemd服务文件。

vim /etc/systemd/system/nexus.service

在文件中添加如下:

[Unit]
Description=Nexus Service
After=syslog.target network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/opt/nexus/bin/nexus start
ExecStop=/opt/nexus/bin/nexus stop
User=nexus
Group=nexus
Restart=on-failure

[Install]
WantedBy=multi-user.target

重载systemctl。

systemctl daemon-reload

使服务在系统启动时可用。

systemctl enable nexus.service

启动服务。

systemctl start nexus.service

监控日志文件

tail -f /opt/nexusdata/nexus3/log/nexus.log

日志文件

检查服务端口

netstat -tunlp | grep 8081

检查端口

5. 设置Nginx

设置epel存储库

yum install -y epel-release

罗列存储库

yum repolist

安装nginx

yum install nginx

设置系统启动nginx

systemctl enable nginx

检查Nginx状态,如果服务未运行启动服务

systemctl status nginx

systemctl start nginx

6. 为服务器设置 DNS 记录。

然后转到您的 DNS 管理器并为您的服务器添加 A 记录。

A Domain Name Server IP

在这里,我们使用 AWS 路由 53 来设置我们的 DNS。

DNS记录

7. 使用 certbot 配置 SSL

I. 先安装certbot包

yum install certbot python2-certbot-nginx

II. 安装证书

certbot --nginx

它会问几个问题,然后输入电子邮件、域名和所需的输入,如下所示。

生成 SSL

安装完成后,打开nginx.conf。

vim /etc/nginx/nginx.conf

您可以看到 certbot SSL 配置。

III. 添加代理通行证

将以下内容添加到位置块。

location / {

    proxy_pass "http://127.0.0.1:8081";
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header        X-Forwarded-Proto $scheme;
    proxy_set_header        X-Forwarded-Ssl on;
    proxy_read_timeout      300;
    proxy_connect_timeout   300;

}

代理通行证

保存并退出文件。

检查 nginx 语法:

nginx -t

重启 Nginx:

systemctl restart nginx

8. 设置防火墙规则

现在启用对特定公共 IP 的 https 访问。运行以下命令。

firewall-cmd --permanent --zone=public --add-rich-rule=' 
rule family="ipv4" 
source address="123.44.8.180/32" 
port protocol="tcp" port="443" accept'

如果您需要打开 https 以公开运行以下命令:

firewall-cmd --zone=public --permanent --add-service=https

重新加载防火墙。

firewall-cmd --reload

9. 为Nginx设置SELinux代理

setsebool -P httpd_can_network_connect 1

10. 用您的主名浏览网站

eg: https://nexusrepo.fosslinux.com/

浏览URL

11. 登录服务器

使用默认用户名“admin”登录。在服务器中运行以下命令并获取密码。

cat /opt/nexusdata/nexus3/admin.password

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eEwwPmgP-1631600730213)(https://cdn.fosslinux.com/wp-content/uploads/2020/02/04094607/Sign_IN.png)]

首次登录后,您应该会看到一个类似的窗口,如下所示。

单击下一步并为管理员用户设置新密码。

新管理员密码

再次单击下一步,您应该会看到“配置匿名访问”窗口。不要启用匿名访问。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HT8mlkwl-1631600730219)(https://cdn.fosslinux.com/wp-content/uploads/2020/02/04095447/Anonymous_Access.png)]

单击下一步按钮,您可以看到完整的设置。

完成设置

点击完成。

这就是在 CentOS 7 上安装 Sonatype Nexus Repository OSS 的全部内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CentOS 7上安装Sonatype Nexus Repository OSS 的相关文章

  • 如何在 CentOs 中安装 php-xml

    我正在尝试在 CentOs 6 5 上安装 php xml 我输入命令yum install php xml 我收到此错误 Loaded plugins fastestmirror Loading mirror speeds from ca
  • 如何从 Mac OS X 交叉编译到 Linux x86?

    我正在运行 Mac OS X 10 5 8 并希望使用 GCC 4 1 2 为目标 CentOS 5 3 进行编译 我怎么能 编译GCC 4 1 2工具链及相关工具 使用该工具交叉编译目标 CentOS 5 3 任何帮助是极大的赞赏 最简单
  • Docker CentOS 映像不会自动启动 httpd

    我正在尝试使用 Apache 和 PHP 程序运行一个简单的 Docker 映像 如果我跑的话效果很好 docker run t i p 80 80 my httpd bin bash 然后手动启动Apache service httpd
  • 无法将 SonarQube 分析结果与 VSTS 集成

    我正在 VSTS 中使用准备 运行和发布分析任务来运行 SonarQube 分析并发布结果以构建摘要 前两个步骤成功执行 但 发布分析 任务失败 因为它无法获取分析 ID 的任务 我收到以下错误消息 无法获取 ID AWE9 wu8 fbf
  • 更改 Kubernetes 中的 CPU 管理器策略

    我正在尝试更改我管理的 Kubernetes 集群的 CPU 管理器策略 如上所述here https kubernetes io docs tasks administer cluster cpu management policies
  • 无法安装 kubernetes helm Chart 错误:无法重复使用仍在使用的名称

    无法安装 helm 图表 但当我使用 helm 生成的原始文件时 我可以通过 kubectl apply 安装 当我使用时显示以下错误helm install myChart debug Error cannot re use a name
  • 将容器推送到 Azure 容器注册表时资源访问被拒绝

    使用 Docker Compose 将容器推送到私有 Azure 容器注册表时 Azure DevOps 管道返回以下错误 正在推送 容器 注册表 应用程序 最新 推送引用存储库 docker io registry container 被
  • PCRE 库版本太旧

    Bug Genie 3 需要 PCRE 库 8 0 或更高版本 你有 版本 7 8 2008 09 05 将您的系统更新到最新版本 你常用的来源 在我查看问题并尝试通过以下步骤更新我的 PCRE 库后 wget the latest sou
  • mod_mono 在新安装的 centos 上出现 EOF 错误

    我全新安装了 Centos 6 3 已完全更新 我已经从源安装了 mono xsp 和 mod mono 每个包都完美编译 它们都以 usr local mono 前缀安装 因此所有内容都位于 usr local mono 下 我已将 In
  • 出现错误 /usr/bin/env: 节点:权限被拒绝

    我已经在我的服务器 Centos 上完成了 ODOO v9 安装 一切都已安装成功 登录页面也可以正常工作 但登录后我收到一个包含以下错误的页面 usr bin env node Permission Denied 我尝试更改权限 但我的问
  • 合并来自 ffmpeg 的两个视频

    我想使用 ffmpeg 将两个 mp4 视频组合成一个 mp4 视频 到目前为止我尝试过的是 ffmpeg i input1 mp4 i input2 mp4 output mp4 但是 每次我获取带有第一个输入的视频编解码器的视频而不是另
  • 为 Azure Bot 服务设置插槽或多个环境

    我正在使用 Azure Bot 服务开发 Microsoft Bot 希望为 QA 开发 暂存设置不同的环境或插槽 就像我们在 azure 应用程序服务中所做的那样 在设置中 我没有找到 部署槽位 选项 但在设置下 每个设置都有 槽位设置
  • 导入错误:没有名为 django 的模块

    我使用的是centos Linux 我有 python 2 6 和 django 现在我升级到 python 2 7 Python 2 6 位于 usr lib python2 6 Python 2 7 位于 usr local lib p
  • 套接字错误 10054

    我有一个C S程序 客户端使用socket向服务器发送文件 发送后大约超过700k数据 客户端 在win7上 将收到套接字10054错误 这意味着连接被对等方重置 服务器运行在CentOS 5 4上 客户端是在virtual box中运行的
  • 无法在 Perl 中找到 DBI.pm 模块

    我使用的是 CentOS 并且已经安装了 Perl 5 20 并且默认情况下存在 Perl 5 10 我正在使用 Perl 5 20 版本来执行 Perl 代码 我尝试使用 DBI 模块并收到此错误 root localhost perl
  • 提供数组作为 devops 管道的参数

    我刚刚开始使用天蓝色管道 我们希望不再使用arm模板和参数文件手动部署Azure资源 而是使用devops管道来完成此任务 虽然使用单个模板 参数的 json 文件来完成此操作很简单 但我看不到处理多个文件的明智方法 我已经看到有关使用数组
  • 错误:libXext.so.6:无法打开共享对象文件:没有这样的文件或目录[重复]

    这个问题在这里已经有答案了 运行尝试打开 ods 文件的 java 文件时出现以下错误 线程 main 中出现异常 java lang UnsatisfiedLinkError opt software jdk1 6 0 45 jre li
  • php56 - CentOS - Remi 仓库

    我刚刚在测试盒上安装了 php 5 6 正常的 cli php 解释器似乎不存在 gt php v bash php command not found gt php56 v PHP 5 6 13 cli built Sep 3 2015
  • 是否可以在具有高山风味的 docker 容器内构建 AOSP?

    我对 AOSP 非常陌生 我正在尝试在 Docker 上设置完整的 AOSP 以构建 Docker 映像 例如 Alpine 或 Ubuntu 映像 如果不可能 请让我知道无法在内部设置 AOSP 的原因泊坞窗图像 或者我需要编写 Dock
  • 错误:无法下载存储库“appstream”的元数据:无法准备内部镜像列表:镜像列表中没有 URL

    我正在尝试使用我在 Dockerfile 中指定的 centOs 上的 yum 下载 java 拉取 centOs 镜像后 运行崩溃并抛出此错误 还要提一下 我的服务器实例是AWS EC2 Step 2 9 RUN yum install

随机推荐