写点什么

在 CentOS 7 上安装 Sonatype Nexus Repository OSS

用户头像
DisonTangor
关注
发布于: 4 小时前
在 CentOS 7上安装Sonatype Nexus Repository OSS

【转自 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 版本以确保您已准备好进入下载 Repo 的下一步。


java -version
复制代码


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
复制代码



重命名文件夹


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
复制代码


保存并退出文件。



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 ServiceAfter=syslog.target network.target
[Service]Type=forkingLimitNOFILE=65536ExecStart=/opt/nexus/bin/nexus startExecStop=/opt/nexus/bin/nexus stopUser=nexusGroup=nexusRestart=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。


7. 使用 certbot 配置 SSL

I. 先安装 certbot 包


yum install certbot python2-certbot-nginx
复制代码


II. 安装证书


certbot --nginx
复制代码


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



安装完成后,打开 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/
复制代码


11. 登录服务器

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


cat /opt/nexusdata/nexus3/admin.password
复制代码



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



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



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



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



点击完成。


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

发布于: 4 小时前阅读数: 3
用户头像

DisonTangor

关注

怀揣一个武侠梦的男孩 2020.07.29 加入

还未添加个人简介

评论

发布
暂无评论
在 CentOS 7上安装Sonatype Nexus Repository OSS