阿里云上搭建pypi私有服務器

寫在前面

pip安裝的python包,默認從 https://pypi.python.org/pypi 上下載的。但是有時候公司內(nèi)部使用的組件,不方便開放到外網(wǎng),這時候我們就要搭建自己的pypi服務器了。通過調(diào)研,我選擇了pypiserver。

安裝

服務器是一臺阿里云的ubuntu。
以我的習慣,每個服務我都會建一個單獨的用戶,然后代碼部署在用戶的根目錄下。首先用root用戶創(chuàng)建pypi用戶:

~# useradd pypi
~# mdkir /home/pypi
~# chown pypi:pypi /home/pypi

然后切換到pypi用,并進入/home/pypi
為了不污染全局的python環(huán)境,一般我們用 virtualenv來安裝各種組件:

~$ virtualenv .venv
~$ source .venv/bin/activate
~$ pip install pypiserver 
~$ mkdir packages # 建立存放packages的文件夾

配置

上傳package需要用戶名密碼,密碼文件使用命令htpasswd命令生成

~$ pip install passlib
~$ apt-get install apache2-utils
~$ htpasswd -sc .htaccess user   # 回車后會提示輸入密碼,輸入123456

啟動

pypi-server應該在后臺運行,簡單的話可用使用nohup命令,但一般都用supervisor來管理。在當前目錄創(chuàng)建pypi-server.conf,內(nèi)容如下:

[program:pypi-server]
directory=/home/pypi/
command=/home/pypi/.venv/bin/pypi-server -p 10086 -P /home/pypi/.htaccess /home/pypi/packages
autostart=true
autorestart=true
redirect_stderr=true

其中-p選項指定偵聽的端口,-P選項指定密碼文件。
將該文件軟鏈到supervisor的配置文件夾下:

  ~$ cd /etc/supervisor/conf.d/
  ~$ sudo ln -s /home/pypi/pypi-supervisor.conf pypi-supervisor.conf

重啟supervisor

~$sudo supervisorctl reload

查看pypi-server運行情況:

~$sudo supervisorctl status

可見pypi-server已經(jīng)運行了:

pypi-server                      RUNNING    pid 27289, uptime 16:41:19

因為是阿里云的服務器,我們還需要在安全組中打開這個端口的訪問限制。
然后瀏覽器訪問http://服務器ip:10086,會有如下的歡迎頁:

image.png

下一篇介紹私有服務器的使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容