CentOS部署Nexus3

本文详细介绍了如何在CentOS7.9系统上部署Nexus3,包括服务器环境配置(如关闭防火墙、SELinux,设置主机名),安装JDK和Nexus,以及解决常见问题,如Nexus用户权限设置、Java版本兼容性和阿里云外网域名访问配置。
摘要由CSDN通过智能技术生成

一、Nexus3部署

1. 服务器说明

1.1. 环境及配置

具体信息如下表:

系统类型IP地址节点角色CPUMemoryHostname
centos-7.9...24Gsyn-cloud-01

2. 系统设置

注意:系统设置所有操作使用root用户执行

2.1 主机名

主机名必须合法,并且每个节点都不一样(建议命名规范:数字+字母+中划线组合,不要包含其他特殊字符)。

# 查看主机名
$ hostname
# 修改主机名
$ hostnamectl set-hostname syn-cloud-01
2.2 关闭防火墙、selinux、swap,重置iptables
# 关闭selinux
$ setenforce 0
$ sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config
# 关闭防火墙
$ systemctl stop firewalld && systemctl disable firewalld
# 关闭swap
$ swapoff -a && free –h

3. 安装Nexus3

3.1 安装JDK

查看JDK软件包列表

yum search java | grep -i --color jdk

选择版本安装

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

查看JDK是否安装成功

  java -version

例:如下提示即成功

[root@syn-cloud ~]# java -version
openjdk version "1.8.0_402"
OpenJDK Runtime Environment (build 1.8.0_402-b06)
OpenJDK 64-Bit Server VM (build 25.402-b06, mixed mode)
3.2 安装Nexus
3.2.1.Nexus资源包下载
Nexus官方下载地址:https://www.sonatype.com/download-oss-sonatype

Nexus官方文档地址:https://www.sonatype.com/oss-thank-you-tar.gz

3.2.2.Nexus 资源包解压

2.1、在 /usr/local目录中创建子目录 nexus

mkdir /usr/local/nexus

2.2、解压Nexus到指定目录

tar -zxvf  nexus-3.66.0-02-unix.tar.gz -C /usr/local/nexus

Nexus 各个目录结构说明

目录名称目录说明
bin包含nexus的启动脚本以及启动相关的配置文件,例如通过bin/nexus.vmoptions文件,你可以配置一些JVM参数和日志存放位置等配置
etc包含应用级别的配置文件
lib包含 Apache Karaf 相关的jar包
public包含应用相关的公共资源
system包含应用相关的构件和插件
3.2.3.检查私服端口和工作目录

在nexus目录中有子目录 etc,其中保存私服应用的配置信息。查看nexus-default.properties 文件

vim /usr/local/nexus/nexus-3.66.0-02/etc/nexus-default.properties

确定私服访问端口和工作目录。如果没有端口相关冲突,该配置文件不做任何内容修改。配置文件内容如下:

## DO NOT EDIT - CUSTOMIZATIONS BELONG IN $data-dir/etc/nexus.properties
##
# Jetty section
application-port=8081
application-host=0.0.0.0
nexus-args=${jetty.etc}/jetty.xml,${jetty.etc}/jetty-http.xml,${jetty.etc}/jetty-requestlog.xml
nexus-context-path=/

# Nexus section
nexus-edition=nexus-pro-edition
nexus-features=\
 nexus-pro-feature

nexus.hazelcast.discovery.isEnabled=true

3.2.4.修改Nexus运行用户

Nexus私服启动后,私服应用需要访问Linux的文件系统,所以需要有足够的权限。Nexus的启动脚本文件中,可以指定应用的访问用户,此信息在/usr/local/nexus/nexus-3.66.0-02/bin/nexus.rc配置文件中定义。需修改如下信息:

run_as_user="nexus" # 修改后的内容,代表Nexus私服使用nexus用户权限

一般不建议使用root用户权限启动,可以新建一个nexus用户,启动Nexus具体操作如下:

3.2.4.1. 创建用户组 nexus
groupadd nexus
3.2.4.1.添加nexus到nexus组并创建用户目录(要先创建nexus组)
useradd -g nexus -m  nexus
3.2.4.1.修改nexus用户登录密码
passwd  nexus
3.2.4.1.修改nexus用户可登录
usermod -s /bin/bash nexus
3.2.4.1.将nexus用户的登录目录改成/usr/local/nexus,并加入nexus组,注意这里是大G。
usermod -d /usr/local/nexus -G nexus nexus
3.2.4.1. 将目录/usr/local/nexus 及其下面的所有文件、子目录的文件主改成 nexus
chown -R nexus:nexus /usr/local/nexus
3.2.5.修改防火墙,开放Nexus私服端口访问

修改防火墙配置文件,开放Nexus私服的访问端口 8081

vi /etc/sysconfig/iptables  # 注意centOS系统环境
增加如下配置:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT
iptables status # 查看端口状态
service iptables restart # 重启防火墙

阿里云服务器,需要在阿里云管理后台,设置服务器的端口规则。不在iptables中限制端口的访问

3.3.启动并测试访问

如果已创建nexus用户切换到nexus用户下
su - nexus
启动Nexus私服

/usr/local/nexus/nexus-3.66.0-02/bin/nexus start
/usr/local/nexus/nexus-3.66.0-02/bin/nexus status

创建连接到 /etc/init.d下:
ln -s /usr/local/nexus/nexus-3.66.0-02/bin/nexus /etc/init.d/nexus

设置为开机启动:systemctl enable nexus

常用命令

#systemctl start nexus 进行启动
#systemctl enable nexus 加入开机启动
#systemctl stop nexus 停止
#systemctl restart nexus 重启
#systemctl status nexus 状态

8.查看初始密码,修改运行内存参数等
查看cat /usr/local/nexus/nexus-3.66.0-02/admin.password 初始密码
修改运行内存vim nexus.vmoptions启动成功访问:http://[你的IP]:8081

3.4.问题汇总

3.4.1问题:登录后nexus用户后,命令行提示:-bash-4.2$

原因:用户家目录里面与环境变量有关的文件被删除或缺失所导致的

也就是这俩文件:

  • .bash_profile
  • .bashrc

这两个文件被删除了,导致了这个错误

解决方法:

从/etc/skel把丢失的文件 复制回来就可以了

cp /etc/skel/.bash* ~    

3.4.2问题:

No suitable Java Virtual Machine could be found on your system.
The version of the JVM must be 1.8.
Please define INSTALL4J_JAVA_HOME to point to a suitable JVM.

原因:

缺失jdk1.8或未配置jdk1.8环境变量

解决方法:
安装openjdk1.8版本即可

yum install -y java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64
3.4.1阿里云服务外网域名访问

阿里云服务器配置外网域名可以访问,配置域名解析,通过Nginx配置访问nexus服务。

1、添加阿里云域名解析,如 nexus.[你的域名] 为例。

2、配置阿里云服务器的Nginx配置文件

  server {
       listen       80;
       server_name nexus.[你的域名];

        charset utf-8;
        access_log  logs/nexus_access.log main;
        include proxy.conf;
     
        location / {
            proxy_pass http://127.0.0.1:8081;
        }
     
        location ~ ^/(WEB-INF)/ {
            deny all;
        }
     
        location ~ \.(php|asp|aspx) {
            deny all;
        }
    }

其中 proxy.conf 的内容为

proxy_redirect          off;
proxy_set_header        Host            $host;
proxy_set_header        X-Real-IP       $remote_addr;
proxy_set_header        RealIP          $remote_addr;
proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;

client_max_body_size    100m;
proxy_connect_timeout   3s;
proxy_send_timeout      1m;
proxy_read_timeout      1m;
proxy_temp_file_write_size 1024m;
proxy_buffer_size         32k;
proxy_buffers             4 32k;
proxy_busy_buffers_size 64k;
proxy_ignore_client_abort on;
proxy_next_upstream error timeout invalid_header http_503;

2、配置好,Nginx重新reload下,使配置生效。
3、通过域名测试访问是否生效。
访问域名为:http://nexus.[你的域名]

  • 35
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值