CentOS7下安装Nexus私服及基础配置
环境准备
- VMware上安装CentOS7
- XShell/Xftp
- NexusOSS-3.10
- jdk1.8
安装
使用root用户登录,将安装包均放置在/usr/local文件夹下
- 使用Xshell、Xftp、FileZilla或MobaXterm将上述jdk及nexus安装包上传至
/usr/local tar -zxvf jdk-8u211-linux-x64.tar.gztar -zxvf nexus-3.10.0-04-unix.tar.gz
此时安装就已经完成了,其实已经可以直接使用root用户启动了,但是为了方便以后管理,我这里添加了一些配置。参考设置小节。
设置
日志存放
nexus启动时,会产生日志和临时文件等,默认情况下会放在与Nexus安装目录同级文件夹sonatype-work中(第一次启动会自动生成),现将其默认位置修改为Nexus的根目录下vim /usr/local/nexus-3.10.0-04/bin/nexus.vmoptions

防火墙
基本参考
高级参考
firewall-cmd --zone=public --add-port=8081/tcp --permanent
HTTPS
端口
Nexus默认端口是8081,它的配置文件在/usr/local/nexus-3.10.0-04/etc/nexus-default.properties中,可以通过cat命令查看:
## 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
添加https访问的形式涉及到端口设置,假如准备设置8443为https端口,那么需要修改两个地方:
- 新增
application-port-ssl=8443 - 在
nexus-args属性上追加,${jetty.etc}/jetty-https.xml:
注:如果需要将http导向https访问,则追加
jetty-http-redirect-to-https.xml至nexus-args,这里我没有强制。
此时也别忘记开防火墙:firewall-cmd --zone=public --add-port=8443/tcp --permanent
keystore
如果此时启动肯定会报错[1],因为还缺keystore.jks的配置,我们使用脚本生成,其中涉及keytool工具使用,因此先保证keytool可以正常使用:
- 添加JAVA_HOME环境变量
vim /etc/profile并在合适位置加入export JAVA_HOME=/usr/local/jdk1.8.0_211
export PATH=$JAVA_HOME/bin:$PATH
- 刷新环境变量使其立刻生效:
resource /etc/profile vim /usr/local/nexus-3.10.0-04/nexus-ssl-generate-keystore.shNEXUS_DOMAIN='Nexus'
if [[ -z $1 ]]; then
echo 'please input your ip_address!'
exit
fi
NEXUS_IP_ADDRESS=$1
PASSWORD='password'
keytool -genkeypair -keystore keystore.jks -storepass ${PASSWORD} -keypass ${PASSWORD} -alias nexus -keyalg RSA -keysize 2048 -validity 5000 -dname "CN=${NEXUS_DOMAIN}, OU=Nexus, O=Nexus, L=Beijing, ST=Beijing, C=CN" -ext "SAN=IP:${NEXUS_IP_ADDRESS}" -ext "BC=ca:true" mv keystore.jks etc/ssl/
#keytool -export -alias nexus -keystore keystore.jks -file keystore.cer -storepass ${PASSWORD}
#mv keystore.cer etc/ssl/- 生成keystore
/usr/local/nexus-3.10.0-04/nexus-ssl-generate-keystore.sh 192.168.197.198,这里192.168.197.198是本机IP。
开机启动
参考
vim /usr/lib/systemd/system/nexus3.service
[Unit]
Description=nexus3 - private repository
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/nexus-3.10.0-04/bin/nexus start
ExecReload=/usr/local/nexus-3.10.0-04/bin/nexus restart
ExecStop=/usr/local/nexus-3.10.0-04/bin/nexus stop
[Install]
WantedBy=multi-user.target
此时使用systemctl enable nexus3使配置生效即可。
使用说明
| OPTION | COMMAND |
|---|---|
| 启动 | systemctl start nexus3 |
| 停止 | systemctl stop nexus3 |
| 重启 | systemctl restart nexus3 |
用户
一般不能直接使用root用户,因此需要为nexus添加用户专门运行:
添加用户:adduser nexus
设置密码:passwd nexus
将拥有者设置为nexus:chown nexus:nexus -R /usr/local/nexus-3.10.0-04
将nexus添加至sudoers:
visudo- 添加
nexus ALL=(ALL) ALL su nexus
启动
sudo systemctl start nexus3
/usr/local/nexus-3.10.0-04/etc/jetty/jetty-https.xml中会涉及读取keystore.jks↩︎
CentOS7下安装Nexus私服及基础配置的更多相关文章
- Linux 环境下安装 Nexus 私服存储库
镜像下载.域名解析.时间同步请点击阿里云开源镜像站 一.nexus私服存储库简介 Nexus 是一个强大的maven仓库管理器,它极大地简化了本地内部仓库的维护和外部仓库的访问.,还可以用来创建yum ...
- centos7下安装docker(26如何配置Health Check)
Docker只能从容器启动进程的返回代码判断其状态,而对于容器内部应用的运行状况基本没有了解 执行docker run命令时,通常根据dockerfile中的CMD或ENTRYPOINT启动一个进程, ...
- Centos7下安装配置Redsocks
Redsocks是一个开源的网络程序,代码依赖开源的libevent网络库.Redsocks允许你将所有TCP连接重定向到SOCKS或HTTPS代理,比如Shadowsocks(Centos7下安装配 ...
- CentOS7下安装MySQL并配置远程连接
一.CentOS7下安装MySQL数据库 CentOS7默认的安装包里面已经没有 MySQL-Server安装包了,远程镜像中也没有了. 默认的是MariaDB (MySQL的一个分支,开发这个分支的 ...
- Linux下建立Nexus私服
Linux下建立Nexus私服 要安装3个东西,然后配置私服: 1.JDK 2.Maven 3.Nexus 然后配置 1.JDK的安装 下载JDK安装包,格式为RPM格式,安装即可 安装程序 #rpm ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
- CentOS7 下安装 iSCSI Target(tgt) ,使用 Ceph rbd
目录 一.iSCSI 介绍 1. iSCSI 定义 2. 几种常见的 iSCSI Target 3. 优缺点比较 二.安装步骤 1. 关闭防火墙 2. 关闭selinux 3. 通过 yum 安装 t ...
- CentOS7 下 安装 supervisor以及使用
CentOS7 下 安装 supervisor 以及使用 手动安装 [注] linux环境必须安装 python 1.获取supervisor包:[https://pypi.python.org/py ...
- Linux CentOs7 下安装 redis
Linux CentOs7 下安装 redis 请将以下命令放入linux命令行中运行 如果安装过程前没有安装GCC请先安装 命令如下 $ yum install gcc-c++ $ wget ht ...
随机推荐
- 使用kubeadm安装Kubernetes 1.15.3 并开启 ipvs
一.安装前准备 机器列表 主机名 IP node-1(master) 1.1.1.101 node-2(node) 1.1.1.102 node-3(node) 1.1.1.103 设置时区 cp / ...
- gitlab修改IP地址及仓库地址
将IP修改为192.168.10.100,操作方法 . 先修改本地的IP地址 vim /etc/sysconfig/network-scripts/ifcfg-eth0TYPE=EthernetBOO ...
- 剑指Offer(十七):树的子结构
剑指Offer(十七):树的子结构 搜索微信公众号:'AI-ming3526'或者'计算机视觉这件小事' 获取更多算法.机器学习干货 csdn:https://blog.csdn.net/baidu_ ...
- PAT 乙级 1003.我要通过! C++/Java
1003 我要通过! (20 分) 题目来源 “答案正确”是自动判题系统给出的最令人欢喜的回复.本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则 ...
- 这是一份非常适合收藏的Android进阶/面试重难点整理
写在前面 记得我大二时“不务正业”地自学Android并跟了老师做项目,到大三开始在目前的公司实习,至今毕业已有几年多,学习Android已经6.7年多了!但总感觉知识点很零散,并且不够深入,遇到瓶颈 ...
- php7新增的两个操作符---null合并及飞船操作符
<?php //null合并操作符?? //(太空)飞船操作符<=> //The operator returns 0 if both operands are equal, 1 i ...
- HDU3605 Escape(最大流判满流 + 状压)
[题意]: 有N个人,M个星球,给N*M矩阵,(i, j)为1代表i可以到j星球,0代表不能,问是否能把所有人转移走. [思路]: N的范围为1e6,如果让每个人与星球连边一定TLE,再根据矩阵每一行 ...
- 项目Alpha冲刺(团队) -- 总结及汇总
项目Alpha冲刺(团队) --总结 1.团队信息 团队名 :男上加男 成员信息 : 队员学号 队员姓名 个人博客地址 备注 221600427 Alicesft https://www.cnblog ...
- nodejs中判断请求来自PC端还是移动端
获取req.headers["user-agent"]: var deviceAgent = req.headers["user-agent"].toLower ...
- objc_object 与 NSObject
objc_object 与 NSObject:同一个事物的不同表现形式.