专栏首页Kubernetes手记使用Nexus代理yum、npm、pypi
原创

使用Nexus代理yum、npm、pypi

一、Nexus介绍

生产环境中,一般不会允许所有服务器都能访问公网,理想的情况是有几台服务器作为访问代理,同时作为缓存服务器。当服务器中有所需包时通过内网获取,如无则通过公网获取同时在本地保存。

常用搭建私有yum源的方法是createrepo生成本地仓库,其它服务器通过http访问仓库。这种方法的弊端是如果当前仓库中没有所需软件包会导致安装失败,不会去其它源获取数据。

Nexus是一个强大的仓库管理器,它极大地简化了自己内部仓库的维护和外部仓库的访问。

二、Nexus 3.x部署(On Linux)

2.1、下载源码包

https://help.sonatype.com/repomanager3/download

2.2、解压

$ tar zxf nexus-3.23.0-03-unix.tar.gz
$ mv nexus-3.23.0-03 sonatype-work /data
$ echo 'NEXUS_HOME="/data/nexus-3.23.0-03"' >> ~/.bashrc
$ echo 'run_as_user="root"' >> /data/nexus-3.23.0-03/bin/nexus.rc

2.3、服务配置

$ vim /etc/systemd/system/nexus.service

[Unit]
Description=nexus service
After=network.target

[Service]
Type=forking
LimitNOFILE=65536
ExecStart=/data/nexus-3.23.0-03/bin/nexus start
ExecStop=/data/nexus-3.23.0-03/bin/nexus stop
User=root
Restart=on-abort

[Install]
WantedBy=multi-user.target

2.4、启动服务

$ systemctl start nexus # 此处启动后,请耐心等待,netstat -tunlp 查看端口8081监听后继续

2.5、登录Nexus

http://IP:8081/

查看密码

$ cat /data/sonatype-work/nexus3/admin.password

三、Nexus配置代理仓库

3.1、yum

1、创建repository

https://mirrors.tuna.tsinghua.edu.cn/centos/

创建完成后,此时 Repository 的状态为: Online - Ready to connect

2、客户端配置 Yum 文件

$ vim /etc/yun.repos.d/CentOS-Base.rpeo
[Anchnet-Base]
name=Anchnet Mirrors
baseurl=http://mirrors.anchnet.com/repository/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=0

3、安装测试

清理并重建 yum 缓存

[root@k8s-master ~]# yum clean all && yum makecache
Loaded plugins: fastestmirror
Cleaning repos: Anchnet-Base
Cleaning up everything
Loaded plugins: fastestmirror
Anchnet-Base                                                                                                                                                      | 2.2 kB  00:00:00     
(1/4): Anchnet-Base/7/x86_64/group_gz                                                                                                                             | 153 kB  00:00:00     
(2/4): Anchnet-Base/7/x86_64/primary                                                                                                                              | 2.9 MB  00:00:03     
(3/4): Anchnet-Base/7/x86_64/other                                                                                                                                | 1.6 MB  00:00:02     
(4/4): Anchnet-Base/7/x86_64/filelists                                                                                                                            | 7.1 MB  00:00:11     
Determining fastest mirrors
Anchnet-Base                                                                                                                                                                 10070/10070
Anchnet-Base                                                                                                                                                                 10070/10070
Anchnet-Base                                                                                                                                                                 10070/10070
Metadata Cache Created

安装 httpd 包测试

$ yum install httpd -y
image-20200911143616759

3.2、MySQL

1、创建repository

http://repo.mysql.com/yum/mysql-8.0-community/el/

创建完成后,此时 Repository 的状态为: Online - Ready to connect

2、客户端配置 Yum 文件

$ vim /etc/yun.repos.d/mysql-8.rpeo
[MySQL8]
name=Mysql for RHEL/CentOS $releasever - $basearch
baseurl=http://mirrors.anchnet.com/repository/MySQL8.0/$releasever/$basearch/
enabled=1
gpgcheck=0

3、安装测试

$ yum install -y mysql-community-client-8.0.11 mysql-community-server-8.0.11
image-20200911143838509

3.3、npm

1、创建repository

https://registry.npm.taobao.org/

创建完成后,此时 Repository 的状态为: Online - Ready to connect

2、客户端设置 npm 地址

$ npm config set registry http://mirrors.anchnet.com/repository/npm/

3、安装测试

$ npm i eslint
image-20200911144133462

3.4、pypi

1、创建repository

https://mirrors.aliyun.com/pypi

创建完成后,此时 Repository 的状态为: Online - Ready to connect

2、客户端配置 pip.conf 文件

$ vim .pip/pip.conf
[global]
trusted-host = mirrors.anchnet.com
index-url = http://mirrors.anchnet.com/repository/pypi/simple/

3、安装测试

$ pip install django
[root@k8s-master ~]# pip3 install django
Collecting django
  Downloading http://mirrors.anchnet.com/repository/pypi/packages/django/3.1.1/Django-3.1.1-py3-none-any.whl (7.8MB)
    100% |████████████████████████████████| 7.8MB 1.4MB/s 
Requirement already satisfied: pytz in /usr/local/lib/python3.6/site-packages (from django)
Requirement already satisfied: asgiref~=3.2.10 in /usr/local/lib/python3.6/site-packages (from django)
Requirement already satisfied: sqlparse>=0.2.2 in /usr/local/lib/python3.6/site-packages (from django)
Installing collected packages: django
Successfully installed django-3.1.1

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何优雅的打造 All-in One 仓库

    做过大型项目的同学一定都搞过自定义 yum 仓库,自定义 yum 在网上也有很多种方案,但今天我们来个不一样的玩法!

    老叶茶馆
  • Nexus OSS 3 搭建并配置使用 Docker & Git LFS 仓库

    目录 Nexus OSS 3 介绍 环境、软件准备 Nexus OSS 3 服务搭建 Git LFS 仓库配置使用 Docker 私有仓库配置使用 1、Nexu...

    哎_小羊
  • Nexus3最佳实践系列:搭建Docker私有仓库

    容器仓库是容器化管理中非常重要的一环,相当于 SVN 在程序研发、运维发布中的地位。因此,一个稳定、可靠的容器仓库尤为重要。

    张戈
  • 使用 Nexus3镜像搭设私有仓库(Bower 、Docker、Maven、npm、NuGet、Yum、PyPI)

     Nuget 是免费、开源的包管理工具,专注于在 .Net、.Net Core 平台应用开发过程中第三方组件库的管理,相对于传统单纯的 dll 引用要方便、科学...

    心莱科技雪雁
  • Nexus3 OSS环境搭建以及在日常工作中的用途

    本文介绍的Nexus不是谷歌的一个手机品牌哈,而是一个非常强大的仓库管理平台。支持常见的Docker、Maven、npm、PyPI等仓库的管理。

    小博测试成长之路
  • Maven and Nexus3 原

    关于maven的原理,详见:https://my.oschina.net/adailinux/blog/2247017

    阿dai学长
  • Maven and Nexus2 原

    这个问题从Maven的第二个用处说起,依赖管理,通过在Pom中指定坐标的形式将jar引入到项目中。那这个过程,要经历怎样一个流程呢?从哪里寻找jar?下载的ja...

    阿dai学长
  • Docker 系列四(自定义仓库).

        Docker hub 是 Docker 官方维护的一个公共仓库,大部分需求都可以通过在 Docker hub 中直接下载镜像来完成。接下来,来看一下怎么...

    JMCui
  • 运维自动化基础建设|企业级工件库选择和搭建

    •加速CI/CD的响应,减少等待•避免关键代码泄漏(站在安全角度)•为规范化建设提供基石•统一管理依赖•工件的生命周期的管理

    追马

扫码关注云+社区

领取腾讯云代金券