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 ...
随机推荐
- phpstorm通过FileWatchers配置自动格式化代码插件
在自动格式代码的插件中, prettier一直是挺不错的, 这个插件在不同的IDE里有不同的配置地方, 但是配置参数基本上是差不多的. 下面就说明下在phpstorm(版本2019.2)中如何配置的吧 ...
- Git推送文件时,出现的Couldn't load this key(OpenSSH SSH-2 private key (old PEM format))
在进行推送到远程仓库的过程中遇到的一个错误. 解决方法: 找到这个位置 然后打开文件所在位置 再打开这个文件然后再 导入成功 然后点击save private key这个按钮 就可以成功的生成一个文件 ...
- luogu2900:Land Acquisition(斜率优化)
题意:有N块地,每块地给出的宽和高,然后可以分批买,每次买的代价是所选择的地种最宽*最高. 问怎么买,使得代价和最小. 思路:显然,先去掉被包括的情况,即如果一个地的宽和高斗比另外一个小,那么久可以删 ...
- 命令行创建react.js项目
npm install -g create-react-app /*搭建一个全局的脚手架*/ create-react-app my-demo /*创建项目 my-demo是项目名字* ...
- spring boot是一个应用框架生成工具?
spring boot是一个应用框架生成工具?
- es6 -- 与解构赋值默认值结合使用
参数默认值可以与解构赋值的默认值,结合起来使用. function foo({x, y = 5}) { console.log(x, y) } foo({}) // undefined 5 foo({ ...
- Edge Beta 进入无痕模式 快捷方式
“浏览器路径” -InPrivate 在快捷方式的路径后加 -InPrivate 就可以了
- MongoDB Map Reduce(转载)
MongoDB Map Reduce Map-Reduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE). MongoDB提供的Map ...
- JS的ES6的class
1.类的创建: 定义类 类的构造函数 类的静态方法 类的一般属性和方法 //定义类 class Person{ // 类的静态方法,相当于Person.test = function(){consol ...
- A1130 | 中缀表达式、查找根节点
代码: #include <stdio.h> #include <memory.h> #include <math.h> #include <string&g ...