nginx+pip2pi搭建内网pip源

nginx+pip2pi搭建内网pip源

需求:部署服务时需要在内网服务器上利用pip安装第三方库,没有网络的情况下需要手动上传,比较麻烦也不利于管理。

解决办法:利用nginx+pip2pi一台有网的服务器上搭建供内网服务器使用的pip源

流程:下载需要的第三方库及其依赖库->利用pip2pi创建源文件->通过nginx发布源


  • 下载第三方库

mkdir /usr/local/offline4pip3

# 下载单个离线包及其依赖
pip3 download -d /usr/local/offline4pip3/ <packege_name>

# 批量下载离线包及其依赖
pip3 download -d /usr/local/offline4pip3/ -r requirement.txt

# 清华源
-i https://pypi.tuna.tsinghua.edu.cn/simple
  • 创建源文件

    1. 安装pip2pi

pip3 install pip2pi

    2. 创建源文件

dir2pi /usr/local/offline4pip3

# 执行后在offlinepip3文件夹下生成simple文件夹
  • nginx发布源

    1. 开放端口(以9921为例)

firewall-cmd --zone=public --add-port=9921/tcp --permanent
firewall-cmd --reload

    2. 下载并安装nginx

# 下载
wget http://nginx.org/download/nginx-1.14.2.tar.gz
# 解压
tar zxvf nginx-1.14.2.tar.gz
cd nginx-1.14.2
# 配置
./configure --prefix=/usr/local/nginx_offline4pip3/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
# 编译安装
make && make install

    3. 配置nginx

vim /usr/local/nginx_offline4pip3/conf/nginx_offline4pip3.conf
 
# nginx_offline4pip3.conf内容如下
events {
        accept_mutex on;
        worker_connections 4096;
}
http {
        include mime.types;
        default_type  application/octet-stream;
        sendfile on;
 
        server {
                listen 9921 default_server;
                listen [::]:9921 default_server;
                server_name 192.168.0.39;  # localhost
                location / {
                        root /usr/local/Offline4pip3;
                        autoindex on;
                }
        }
}

    4. 运行nginx发布pip源

/usr/local/nginx_offlien4pip3/sbin/nginx -c /usr/local/nginx_offlien4pip3/conf/nginx_offline4pip3.conf

# 查看端口是否被监听
netstat -ntlp |grep 9921

     5. 测试

curl http://192.168.0.39:9921/simple/

    测试的时候发现老是飘到81端口去,检查了后才发现以前设置了全局代理,通过unset http_proxy取消了代理,但是是暂时的。最后修改/etc/environment永久的取消了代理。

  • 通过内网pip源安装第三方库及其依赖

# 安装单个离线包
pip3 install <packege_name> --index-url=http://192.168.0.39:9921/simple/

# 批量安装离线包
pip3 install -r requirement.txt --index-url=http://192.168.0.39:9921/simple/

 


版权声明:本文为zhifangyou7864原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。