1. 程式人生 > >使用npm私有伺服器儲存公司內部強業務型別元件(一):npm私有伺服器搭建

使用npm私有伺服器儲存公司內部強業務型別元件(一):npm私有伺服器搭建

1:安裝centOS虛擬機器
2:安裝完成虛擬機器後完成後開啟系統網絡卡:
	進入到/etc/sysconfig/network-scprits/
	開啟ifcfg-ens33檔案
	找到 ONBOOT=NO 改成 ONBOOT=yes
3:更新yum:
	yum update
4:修改虛擬機器改為橋接模式:方便外部訪問內部web服務
5:安裝net-tools 以方便使用ifconfig命令
	yum install net-tools
6:安裝wget
	yum install wget
7:安裝Node
     /usr/bin中裝的是系統預裝的可執行程式 
     /usr/local/bin中是使用者放置自己的可執行程式的地方
     cd /usr/local/src
     wget  https://npm.taobao.org/mirrors/node/v8.9.3/node-v8.9.3-linux-x64.tar.xz  
     tar xvf node-v8.9.3-linux-x64.tar.xz
     mv node-v8.9.3-linux-x64  nodejs

  配置全域性環境使用node和npm
	ln -s /usr/local/src/nodejs/bin/node  /usr/local/bin/node
     ln -s /usr/local/src/nodejs/bin/npm   /usr/local/bin/npm
	
  配置npm下載包的全域性環境變數
	cd /
	vi .bash_profile
	export PATH=$PATH:<PATH 1>:<PATH 2>:---:/usr/local/src/nodejs/bin
	source .bash_profile
	注意:每次重啟後 .bash_profile裡面的設定好像不會生效,需要手動執行一下 source .bash_profile

8:安裝pm2
	npm i –g pm2
9:安裝verdaccio(用來設定npm私有伺服器)
	npm i –g verdaccio
10:防火牆開啟4873埠
	firewall-cmd --zone=public --add-port=4873/tcp --permanent 
	firewall-cmd –reload
	firewalld的基本使用
      啟動: systemctl start firewalld
      關閉: systemctl stop firewalld
      檢視狀態: systemctl status firewalld 
      開機禁用  : systemctl disable firewalld
      開機啟用  : systemctl enable firewalld

10修改verdaccio配置
	新增本地監聽
	  開啟/root/.config/verdaccio/config.yaml,在最後新增listen:0.0.0.0:4873
	配置不允許註冊
	  開啟config.yaml所在目錄,檢視是否存在htpasswd檔案,沒有則建立
	  在裡面輸入:
		a:$6TMNjhsdfj:autocreated 2018-12-07T10:07:58.382Z
		其中a是使用者名稱,$6TMNjhsdfj是使用者名稱加密碼的base64 encode,可以在這個網站生成: http://www.htaccesstools.com/htpasswd-generator/
		開啟config.yaml,找到max_users選項,將前面的#去掉,設定max_users的值是-1(-1表示不允許使用者註冊,我們在這裡只通過手動在htpasswd裡面新增),配置好後:執行verdaccio -c config.yaml來使配置生效
11 客戶端開啟verdaccio
	 http://你的伺服器ip:verdaccio埠
12 客戶端npm使用
	 切換源:
		npm set registry http://你的伺服器ip:verdaccio埠
	 登入:
		npm login –registry http://你的伺服器ip:verdaccio埠
	 釋出:
		npm publish
13:下載npm包
		將npm源切換好後 直接npm install 包名 可直接下載 

14:npm切換回預設源
		npm config set registry https://registry.npmjs.org