nexus代理阿里云(nexus官网)
本文目录一览:
- 1、如何为 Maven 私服 nexus 设置代理上网
- 2、怎么配maven链接阿里云的镜像详细步骤
- 3、【nexus】关于nexus oss 的高可用
- 4、Nexus搭建并代理AliYun镜像
- 5、Docker 安装 Nexus3,并配置 Nginx 反向代理
- 6、2019-01-04 nexus 3.x 迁移
如何为 Maven 私服 nexus 设置代理上网
如果只是想同一时间只用一台电脑上网的话:
拉好网线新建 “网络连接”就可以了
网络连接的建立方法:
1.在桌面“右键”-“网上邻居”,选择菜单中的“属性”
2.在网络连接的窗口右边栏中“单键”-“创建一个新的连接”
3.在“新建连接向导”中选择“下一步”
选择“连接到Internet”-“下一步”
选择“手动设置我的连接”-“下一步”
选择“用要求用户名和密码的宽带连接来连接”-“下一步”
填入“ISP名称”(ISP名称是这个连接的名,什么名都可以)-“下一步”
填入宽带帐号密码再“下一步”就可以完成
怎么配maven链接阿里云的镜像详细步骤
修改maven根目录下的conf文件夹中的setting.xml文件,(或者当前用户目录 的 .m2 目录下的 setting.xml 文件)
内容如下:
mirrors
mirror
idalimaven/id
namealiyun maven/name
url;/url
mirrorOfcentral/mirrorOf
/mirror
/mirrors
【nexus】关于nexus oss 的高可用
Sonatype当前不支持Nexus负载平衡,除非将Nexus实例置于启用 智能代理 或通过 更新功能 的两个实例之前。
关于nexus作为docker镜像仓库的高可用设置,网上nexus+keepalived+rsync的方式挺扯的,官方开源版本默认又不支持高可用,那么通过nginx代理不失为一个办法,只是需要将镜像推两遍,每个仓库推一遍。
nexus01 192.168.1.105
nexus02 192.168.1.106
nginx_vip 192.168.1.108(nexus.example.com)
装有docker的客户端 192.168.1.107
在nexus01服务器上安装nexus,生成keystore.jks
# keytool \
-genkeypair \
-keystore keystore.jks \
-alias Test_nexus \
-keypass Nexus@123 \
-storepass Nexus@123 \
-keyalg RSA \
-keysize 2048 \
-validity 5000 \
-dname "CN=*.example.com,OU=Test,O=Test,L=ShenZhen,ST=GuangDong,C=CN" \
-ext "SAN=DNS: nexus.example.com ,IP:192.168.1.105" \
-ext "BC=ca:true"
在nexus02服务器上安装nexus,生成keystore.jks
# keytool \
-genkeypair \
-keystore keystore.jks \
-alias Test_nexus \
-keypass Nexus@123 \
-storepass Nexus@123 \
-keyalg RSA \
-keysize 2048 \
-validity 5000 \
-dname "CN=*.example.com,OU=Test,O=Test,L=ShenZhen,ST=GuangDong,C=CN" \
-ext "SAN=DNS: nexus.example.com ,IP:192.168.1.106" \
-ext "BC=ca:true"
# vim /etc/hosts
#################################
192.168.1.108 nexus.example.com
#################################
关闭selinux
# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
# setenforce 0
nignx监听vip设置
# echo "1" /proc/sys/net/ipv4/ip_nonlocal_bind
# echo 'net.ipv4.ip_nonlocal_bind = 1' /etc/sysctl.conf
# sysctl -p
生成nginx自签名证书
# openssl req -x509 -nodes \
-days 3650 \
-newkey rsa:2048 \
-subj "/C=CN/ST=Guangdong Province/L=Shenzhen/O=Test/OU=Test/CN=nexus.example.com" \
-keyout /etc/nginx/ssl/nginx.key \
-out /etc/nginx/ssl/nginx.crt
# yum -y install nginx
# vim /etc/nginx/nginx.conf
#############################################
# For more information on configuration, see:
# * Official English Documentation:
# * Official Russian Documentation:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 500M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
# Load modular configuration files from the /etc/nginx/conf.d directory.
# See
# for more information.
include /etc/nginx/conf.d/*.conf;
upstream nexus {
server 192.168.1.105:10086 max_fails=1 fail_timeout=180s;
server 192.168.1.106:10086 max_fails=1 fail_timeout=180s;
}
server {
listen 192.168.1.108:10086 ssl;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
proxy_pass ;
#Proxy Settings
proxy_connect_timeout 3;
proxy_send_timeout 90;
proxy_read_timeout 90;
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_redirect off;
}
}
}
#############################################
根据 include /etc/nginx/conf.d/*.conf 我们也可以将nexus的代理配置写在自配置文件中:
# vim /etc/nginx/conf.d/nexus.conf
###################################################
upstream nexus {
server 192.168.1.105:10086 max_fails=1 fail_timeout=180s;
server 192.168.1.106:10086 max_fails=1 fail_timeout=180s;
}
server{
listen192.168.1.108:10086 ssl;
ssl_certificate /etc/nginx/ssl/nginx.crt;
ssl_certificate_key /etc/nginx/ssl/nginx.key;
location / {
proxy_pass ;
#Proxy Settings
proxy_connect_timeout 3;
proxy_send_timeout 90;
proxy_read_timeout 90;
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_redirect off;
}
}
###########################################################
# keytool -printcert -sslserver nexus.example.com:2020 -rfc /etc/pki/ca-trust/source/anchors/nexus.crt
注:此处2020为创建的nexus的一个仓库端口
# cat /etc/pki/ca-trust/source/anchors/nexus.crt
# update-ca-trust
# systemctl restart docker
# docker login nexus.example.com:2020 -u test -p "Test@123"
# cat /root/.docker/config.json
从输出可知,docker节点获取的就是nginx的公钥。
负载均衡Nexus工件存储库
High Availability Clustering (Legacy)
Nexus搭建并代理AliYun镜像
使用 Docker 搭建 Nexus3 私服.
等待 30s 后访问 服务器地址:8081 打开网站.
选择 Server administration and configuration 就是那个齿轮
选择maven2(proxy)
配置名称 → maven-aliyun 配置代理地址
点击 Create repository 完成 aliyun 创建
选择 maven-public
将 Aliyun 仓库提至最高
至此配置完毕.
打开 setting.xml maven的配置文件一般在 .m2/settings.xml (没有Windows,请自行配置)
添加 mirrors
添加 servers
在自己的Pom文件中添加
这时使用Maven进行上传至私服务器已经可以.而且每次下下来的公用Jar包也会缓存在服务器中.
Docker 安装 Nexus3,并配置 Nginx 反向代理
目前,市面上支持 Docker 镜像存储的主流数据仓库主要有以下 4 种:
这里,我们将选用 Nexus3 作为数据仓库,因为 Nexus3 支持非常多的仓库类型,例如: maven 、 docker 、 yum 、 apt 、 npm 、 ruby 、 gems 、 pypi 等
在 Nexus3 支持 3 种 Docker 仓库:
这里,我们将采用 Docker 的形式安装 Nexu3,这样可以减少很多不必要的麻烦,并且也方便以后的迁移工作
步骤大致如下:
代理仓库(docker-proxy)
聚合仓库(docker-group)
由于,三种仓库支持的功能都不太完美:
故使用 Nginx 进行代理:通过请求方式的不同,代理到不同的仓库,从而实现仓库操作上的统一,具体配置如下:
到这里,基本上就完成了 Nexus3 的搭建工作和 Nginx 的代理工作
参考:
2019-01-04 nexus 3.x 迁移
nexus3.x 不支持将本地的maven仓库整体拷贝进私服目录,这点和nexus2.x不一样。
nexus2.x可以直接将本地的仓库直接拷贝的nexus2.x的sonatype-work\nexus\storage的
文件夹中,因为没有进行压缩;nexus3.x则不可以直接拷贝,因为它将仓库进行了压缩
处理。
在有网络的环境中架好私服,将需要的jar包同步到私服中。配置阿里云代理,跑工程,
私服会自动将需要的jar全部同步进 sonatype-work文件夹里面。
将sonatype-work文件夹直接拷贝。在另外的环境中,在nexus-3.14.0-04\bin 文件
下面的nexus.vmoptions文件夹直接配置拷贝进来的sonatype-work的路径,启动私服,
即可完成nexus3.x私服的迁移。
发表评论
暂时没有评论,来抢沙发吧~