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 ...
随机推荐
- SQL基础篇(MICK)
SQL基础教程(Mick) 数据库和SQL C:\PostgreSQL\9.5\bin\psql.exe -U postgres -d shop 数据库的基本概念 数据库(DB):将大量数据保存起来, ...
- PAT 甲级 1025.PAT Ranking C++/Java
Programming Ability Test (PAT) is organized by the College of Computer Science and Technology of Z ...
- 【转载】jmeter-命令行执行脚本
原文地址:https://blog.csdn.net/qq_35451939/article/details/79643560 日常测试过程中发现,在大数量并发时,jmeterGUI界面时长宕机.卡死 ...
- Vant 实现 上拉加载更多
Vant 的List 组件 默认支持 瀑布流滚动加载.官方的示例是用定时器模拟的数据.我们在项目实战中,肯定是结合ajax请求处理的.那么我们该如何实现这个效果呢? Vant 的 List组件 使用方 ...
- jasypt-spring-boot
运行 运行时配置解密秘钥-Djasypt.encryptor.password=在idea中运行 命令行启动和docker中运行参见https://www.cnblogs.com/zz0412/p/j ...
- 如何保证最少消费一次redis的list队列数据
简使用pop,不能保证最少消费一次,比如pop超时可能中途丢失,或者消费者处理过程中异常而未能处理完. 解决此问题有多种方法: 1) 方法一:使用rpoplpush替代pop 这种方法相当于建立了一个 ...
- Sublime Text 3安装Package Control并安装Processing插件
由于PDE编辑界面对中文的支撑太差,于是想换到ST3来编辑代码,结果导致了噩梦的开始. 首先,找不到“Package Control”!!! 这还怎么玩~ 于是打开http://packagecont ...
- 洛谷P1084 运输计划
题目 题目要求使一条边边权为0时,m条路径的长度最大值的最小值. 考虑二分此长度最大值 首先需要用lca求出树上两点间的路径长度.然后取所有比mid大的路径的交集,判断有哪些边在这些路径上都有出现,然 ...
- Ubuntu使用小结(主要为后面部署K8s集群做基础铺垫)
包管理 dpkg -L libxml2 #查看libxml2安装了些什么文件 dpkg -s /usr/bin/ls #查看ls是那个包提供的 dpkg -c abc.deb #查看abc. ...
- AtCoder刷题记录
构造题都是神仙题 /kk ARC066C Addition and Subtraction Hard 首先要发现两个性质: 加号右边不会有括号:显然,有括号也可以被删去,答案不变. \(op_i\)和 ...