亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 服務器 > Web服務器 > 正文

使用sinopia 搭建私有npm服務器的教程

2024-09-01 13:53:24
字體:
來源:轉載
供稿:網友

簡介

sinopia,私有npm服務器

效果展示

使用 sinopia 的好處是,node系的工程師,內部協作時,使用自有 npm 包,會非常方便;另外,sinopia,會緩存已經下載過的包,可以在相當程度上,加速 npm install 相關命令的執行。

工作中,確實有需要用到 sinopia 來作為私有 npm 服務器的場景。原來一直在自己電腦上開啟 sinopia。這樣做最大的問題是,sinopia 后臺一直開著,會越來越耗費資源,電腦最后會變得很卡。偶爾,還會因為忘記開啟或關閉 sinopia,帶來各種不便利。

今天我試著直接在樹莓派上搭建一個 sinopia 服務。最終實現的效果較為完整,基本滿足需要了。包含用戶權限管理,外網使用自定義域名訪問,sinopia服務開機自啟等特性。

注意:以下 shell 命令,默認在樹莓派的shell中執行,而不是在本機電腦上。

安裝最新長期支持版 node 環境

樹莓派自帶的 node 環境是 v4.8.2,有必要升級下。

安裝 nvm

建議安裝 nvm,以方便管理多個版本的 node 環境。

# 安裝 nvmwget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.6/install.sh | bash# 重啟shell# 驗證 nvm 安裝command -v nvm

使用 nvm 安裝最新長期支持版 node 環境

# 安裝 Nodenvm install --lts#驗證安裝 --> v8.9.1node -v

安裝和配置 sinopia

安裝 sinopia

# 安裝npm install -g sinopia# 驗證是否安裝成功 --> 這一步會輸出自動生成的配置文件路徑等信息。sinopia

解決端口 4873 占用問題

sinopia 啟動時,默認使用 4873端口,可能會遇到端口沖突問題。

# 安裝 lsof 命令sudo apt-get updatesudo apt-get install lsof# 查看端口占用進程 PIDlsof -i :4873# 殺死占用 4873 端口的進程。4649,要換為實際的 PID。kill -9 4649

注冊一個默認賬戶

為了提高安全性,我們稍后會禁用 sinopia 的用戶注冊功能,所以先注冊一個默認的 sinopia 賬戶。需要在當前 shell 中執行 sinopia 命令開啟服務之后,再重新打開一個 shell 執行:

npm set registry http://localhost:4873/npm adduser --registry http://localhost:4873/

用戶名,密碼,郵箱等,要記牢,適當設置的復雜點。

### 升級安裝 vim

感覺樹莓派自帶的 vim 不太好使了,我也順便升級了下。

```
# 安裝 vim
sudo apt-get update
sudo apt-get install vim

# 配置支持vim中鼠標右鍵復制
vim ~/.vimrc
```

在 .vimrc 此文件中增加如下一行:

shell set mouse=v

配置 sinopia

配置文件路徑可以在執行 sinopia 命令時,從其輸出中查看,一般應是 /home/pi/.config/sinopia/config.yaml

基于我的使用使用經驗和文檔說明,主要配置了以下內容:

max_users: -1 :禁用注冊。

*npmjs: url: https://registry.npm.taobao.org* : 設置 npm 鏡像為淘寶源,一來可以加速 npm 公共包的安裝,二來借助淘寶源的只讀特性,避免誤操作發布私有 npm 包到外網上。

access: $authenticated:禁止匿名用戶訪問。配置后,未登錄用戶看不到 sinopia 上私有包的任何信息。

max_body_size: '200mb':這樣設置,會提高安裝超級 npm 包的成功率,比如 react-native 。

完整配置內容如下。如果你不是在樹莓派上配置,請把 /home/pi 替換為自己真實的用戶路徑名。

## This is the default config file. It allows all users to do anything,# so don't use it on production systems.## Look here for more config file examples:# https://github.com/rlidwka/sinopia/tree/master/conf## path to a directory with all packagesstorage: /home/pi/.local/share/sinopia/storageauth: htpasswd:  file: ./htpasswd  # Maximum amount of users allowed to register, defaults to "+inf".  # You can set this to -1 to disable registration.  max_users: -1# a list of other known repositories we can talk touplinks: npmjs:  url: https://registry.npm.taobao.orgpackages: '@*/*':  # scoped packages  access: $authenticated  publish: $authenticated '*':  # allow all users (including non-authenticated users) to read and  # publish all packages  #  # you can specify usernames/groupnames (depending on your auth plugin)  # and three keywords: "$all", "$anonymous", "$authenticated"  access: $authenticated  # allow all known users to publish packages  # (anyone can register by default, remember?)  publish: $authenticated  # if package is not available locally, proxy requests to 'npmjs' registry  proxy: npmjs# log settingslogs: - {type: stdout, format: pretty, level: http} #- {type: file, path: sinopia.log, level: info}max_body_size: '200mb'

可以在本地編輯器中修改好配置,然后直接復制到樹莓派上:

# 打開配置文件vim /home/pi/.config/sinopia/config.yaml

使用粘貼命令。直接粘貼,格式會錯亂。

:set pastei# 右鍵粘貼即可。

配置frpc 遠程訪問

關于 frp 的配置問題,詳見:【小技巧解決大問題】使用 frp 突破阿里云主機無彈性公網 IP 不能用作 Web 服務器的限制。此處只貼出 frpc 的關鍵配置變更:

[web-sinopia]type = httplocal_port = 4873subdomain = sinopia

使用 Systemd 實現 sinopia 服務開機自啟

樹莓派,默認是帶有 Systemd 的,直接使用即可:

sudo vim /usr/lib/systemd/system/sinopia.service

sinopia.service 具體內容如下,其中/home/pi/.config/sinopia/config.yaml 要替換為自己的 config.yaml 地址:

[Unit]DescrIPtion=sinopiaAfter=network.target[Service]TimeoutStartSec=30ExecStart=/home/pi/.nvm/versions/node/v8.9.1/bin/sinopia /home/pi/.config/sinopia/config.yamlExecStop=/bin/kill $MAINPIDRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target

啟動 sinopia 并設置開機啟動:

systemctl enable sinopiasystemctl start sinopiasystemctl status sinopia

其他可能有用的命令

# 禁用服務systemctl disable sinopia# 重新啟動服務systemctl restart sinopia

在另一臺電腦上使用 sinopia 私有 npm 服務器功能

假定,最終的 sinopia 服務器的外網地址是: *http://sinopia.example.com*

真正想使用,需要在終端中配置下:

npm set registry http://sinopia.example.comnpm adduser --registry http://sinopia.example.comnpm login

配置完畢后,你可以試著發布一個私有 npm 包:

# 在某個文件夾初始化一個新的 npm 包npm init# 發布到私有 sinopia 服務器:npm publish

發布成功后,在瀏覽器中登錄 *http://sinopia.example.com*,刷新頁面,應該就能看到自己剛發布的那個包了。

注意,其他用戶在使用私有庫上的包時,也應該先登錄,否則會報錯:

unregistered users are not allowed to access package

以上這篇使用sinopia 搭建私有npm服務器的教程就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国模视频一区二区| 欧美在线性爱视频| 亚洲欧洲黄色网| 久久九九全国免费精品观看| 51午夜精品视频| 国产精品入口免费视频一| 色中色综合影院手机版在线观看| 久久伊人91精品综合网站| 国产精品国产自产拍高清av水多| 久久久久久av| 在线激情影院一区| 国产99久久精品一区二区 夜夜躁日日躁| 色综合久久中文字幕综合网小说| 日韩精品免费一线在线观看| 亚洲国产小视频在线观看| 久久精品影视伊人网| 亚洲第一色中文字幕| 午夜精品久久久久久久99黑人| 在线a欧美视频| 欧美亚洲国产视频| 欧美影院成年免费版| 国产精品久久99久久| 久久影院中文字幕| 一区二区在线视频播放| 国产精品日韩av| 欧美另类极品videosbest最新版本| 亚洲激情在线观看视频免费| 91久久久国产精品| 日韩精品极品在线观看播放免费视频| 欧美激情视频一区二区三区不卡| 欧美亚洲国产精品| 日韩av有码在线| 国产精品久久97| 91性高湖久久久久久久久_久久99| 欧美成人手机在线| 亚洲天堂网在线观看| 欧美性猛交xxxx乱大交3| 欧美日韩成人精品| 国产脚交av在线一区二区| 亚洲精品久久久久| 国产精品视频999| 中文字幕一区二区三区电影| 欧美多人爱爱视频网站| 亚洲va欧美va国产综合剧情| 国外成人免费在线播放| 全球成人中文在线| 中文字幕欧美亚洲| x99av成人免费| 亚洲天堂成人在线视频| 不卡中文字幕av| 亚洲欧洲激情在线| 人人做人人澡人人爽欧美| www.久久撸.com| 日韩欧美aⅴ综合网站发布| 久久免费视频在线观看| 91免费人成网站在线观看18| 亚洲国产婷婷香蕉久久久久久| 亚洲va欧美va国产综合剧情| 国语自产在线不卡| 久久久精品国产亚洲| 欧美大片免费观看在线观看网站推荐| 久久久久久av| 色偷偷9999www| 日韩精品中文在线观看| 国产欧美精品在线播放| 欧美激情在线有限公司| 欧美日本在线视频中文字字幕| 97视频免费在线观看| 91影院在线免费观看视频| 久久久久久亚洲精品| 亚洲天堂一区二区三区| 国产啪精品视频| 国产精品自产拍在线观看| 国产亚洲一级高清| 91久久国产精品| 成人免费福利视频| 最新国产成人av网站网址麻豆| 91精品国产乱码久久久久久久久| 久久人人爽亚洲精品天堂| 亚洲影院色无极综合| 91wwwcom在线观看| 久久精品成人欧美大片古装| 国产成人精品视频在线观看| 亚州成人av在线| 精品女同一区二区三区在线播放| 国产精品吹潮在线观看| 日韩有码在线电影| 91在线中文字幕| 国产精品日韩在线播放| 久久精品视频99| 久久av.com| 2018国产精品视频| 亚洲免费精彩视频| 57pao国产成人免费| 国产美女主播一区| 亚洲第一天堂无码专区| 日韩av电影院| 亚洲人成在线观| 欧美精品电影免费在线观看| 日本欧美在线视频| 亚洲人成电影在线播放| 91情侣偷在线精品国产| 欧美成人国产va精品日本一级| 国产成人精品视| 久久久久久成人| 91在线播放国产| 日韩欧美亚洲成人| 欧美一级淫片aaaaaaa视频| 欧美小视频在线| 欧美福利在线观看| 日韩一区二区精品视频| 黑人巨大精品欧美一区二区免费| www高清在线视频日韩欧美| 欧美特黄级在线| 日韩中文字幕国产| 日韩欧美在线免费| 91免费在线视频网站| 色婷婷av一区二区三区在线观看| 久久伊人精品一区二区三区| 九九久久国产精品| 中文字幕在线精品| 色999日韩欧美国产| 亚洲图片欧美午夜| 色偷偷av一区二区三区| 久久精品青青大伊人av| 九九热精品视频国产| 国产精品成人国产乱一区| 中文字幕亚洲天堂| 亚洲国产精品人人爽夜夜爽| 久久精品在线播放| 欧美视频二区36p| 日韩在线免费视频观看| 91在线观看免费高清完整版在线观看| 久久亚洲欧美日韩精品专区| 国产亚洲人成网站在线观看| 欧美日韩爱爱视频| 国产精品一区二区电影| 亚洲韩国青草视频| 91极品视频在线| 日本不卡免费高清视频| 国产91精品久久久| 成人动漫网站在线观看| 国产精品xxx视频| 国产精品高潮视频| 亚洲男人天堂2024| 日韩免费av一区二区| 日韩国产高清污视频在线观看| 国产91色在线|| 日韩精品在线免费观看视频| www.久久久久久.com| 国产综合在线看| 91精品久久久久久久久久久久久| 国产一区二区三区久久精品| 国产美女久久精品香蕉69| 97av在线播放| 4p变态网欧美系列| 亚洲影视九九影院在线观看| 91久久国产综合久久91精品网站| 精品视频在线导航| 久久精品成人欧美大片| 亚洲电影第1页| 欧日韩不卡在线视频| 亚洲a中文字幕| 奇米一区二区三区四区久久|