npm私服搭建

news/2024/11/23 17:18:17/

前提

  • git
  • node version >= 8.* (推荐: 8.11.4)

使用cnpmjs搭建私服

笔者在centos进行操作

  1. 下载cnpmjs.org
# 拉取cnpmjs.org
git clone https://github.com/cnpm/cnpmjs.org.git
# 安装所需依赖包
cd cnpmjs.org && npm install

2.搭建数据库

2.1 搭建mysql

# 下载mysql的repo源(这里使用的版本为5.7)
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm 
# 安装刚下载的rpm源
rpm -ivh mysql57-community-release-el7-8.noarch.rpm
# 安装mysql
yum -y install mysql-server

2.2 mysql默认配置文件路径

配置文件:/etc/my.cnf 日志文件:/var/log/var/log/mysqld.log 服务启动脚本:/usr/lib/systemd/system/mysqld.service socket文件:/var/run/mysqld/mysqld.pid

2.3 配置my.cnf

[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
server_id = 1
expire_logs_days = 3# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2.4 mysql服务

service mysqld start/restart/stop

2.5 重置密码

注意: 密码必须满足数字、小写字母、大写字母 、特殊字符、长度至少8位

# 获取mysql随机生成的密码
grep "password" /var/log/mysqld.log

这里写图片描述

# 登录mysql(第一次以mysql随机密码登录)
mysql -u root -p

这里写图片描述

# 修改密码
alter user '用户名(默认root)'@'Ip地址(默认localhost)' identified by '密码';
# 刷新
flush privileges;
# 退出再次登录, 测试已经修改成功
show databases;
  1. cnpmjs.org配置文件(config/index.js)

    • 启用集群模式,可选项
enableCluster: true
  • 端口设置, registryPort为注册服务端口,webPort为Web访问端口,默认即可
registryPort: 7001,
webPort: 7002
  • 管理员设置
admins: {// name: emailfengmk2: 'fengmk2@gmail.com',admin: '改成您的邮箱即可',dead_horse: 'dead_horse@qq.com',
}
  • 数据库配置
db: 'cnpmjs',
username: 'cnpmjs',
password: 'Password',
dialect: 'mysql',
host: '127.0.0.1',
port: 3306,
storage: path.join(dataDir, 'data.mysql')
  • 绑定监听地址,可选项。若非本机需要访问,则添加符号//注释此行。亦可在本机架设Nginx做反向代理,则无须修改此行
bindingHost: '127.0.0.1'
  • 注册主机名修改为对应IP地址或域名(笔者使用默认配置, 在客户端拉取包时会出现404问题, 这边将该配置修改为当前主机 + registryPort的端口号 默认7001)
registryHost: 'xxx.xxx.xxx.xxx:7001'
  • 开启私有模式,只允许管理员发布包,默认公有模式允许所有用户发布包
enablePrivate: true
  • 允许发布私有包必须具有的命名前缀
scopes: [ '@xxx' ]
  • 同步模式,none不同步只代理源公有模块;exist只同步已存在的模块;all同步所有模块
syncModel: 'exist'

3.1 系统配置脚本,可通过创建config.js文件来覆盖默认配置(config/config.js)

// 笔者-配置文件
module.exports = {debug: false,admins: {admin: 'xxx@qq.com'},database: {db: 'cnpmjs',username: 'root',password: 'xxx',dialect: 'mysql',host: '127.0.0.1',port: 3306},bindingHost: '',registryHost: 'xxx.xxx.xxx.xxx:7001',syncModel: 'exist'
}
  1. 客户端使用

    • 安装cnpm
npm install -g cnpm
  • 修改cnpm的registry
cnpm config set registry=http://xxx.xxx.xxx.xxx:7001
  • 添加用户, 因为只有admin用户才能发布,所以就添加admin用户
cnpm adduser# 命令行下
> Username: admin
> Password: 设置密码
> Email: (this IS public) 这个与config/config.js管理员admin一致
  • cnpm登录
cnpm login# 命令行下
> Username: (admin) 
> Password: (or leave unchanged) 
> Email: (this IS public) (你的邮箱)

5.测试是否可以发布、拉取、撤销

5.1 vim hello.js

module.exports = function() {return 'Hello World'
}

5.2 npm init (一路回车即可)

5.3 发布

cnpm publish 

5.4 拉取

cnpm unpublish 

5.5 撤销

cnpm unpublish xxx@版本号

http://www.ppmy.cn/news/529471.html

相关文章

maven私服nexus上传第三方jar包以及下载

私服是一个特殊的远程仓库,它是架设在局域网内的仓库服务。私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构建的使用,它先从私服请求,如果私服上没有的话,则从外部的远程仓库下载&#xff0…

神鬼传奇客户端-终极优化精简方法

本人的笔记本是IBM的A31 玩神鬼传奇 能玩 但是有些卡!于是花了俩天时间专门研究客户端精简! 自己参考网上的和自己琢磨的方法精简客户端!  现在精简进度80% 了 但是一个人测试太累!在者 完美的文件也不好对应!  特…

传世基本架构-客户端(传世文件格式分析)

传世文件类型格式探讨(一): Wix文件:索引文件,根据索引查找到相应数据地址 (数据文件)。 // WIX 文件头格式 typedef struct tagWIXFILEIMAGEINFO { CHAR szTmp[40]; // 库文件标题 WEMADE Entertainment inc. WIL文件头 INT nIndexCount; // 图片数量 …

命运211月服务器维护,命运2服务端+客户端+工具+教程

步骤: 1、 设置电脑ip 手动修改电脑ip地址为:192.168.10.10(根据自己情况随意,这个就不用说了吧) 1.jpg (82.35 KB, 下载次数: 43) 2012-7-30 01:07 上传 2、 安装设置IIS安装就不说了,直接用iis一键安装(下面有地址)。说下设置 在我们在D盘下建立一个文件件,名字叫WWWR…

《我的世界》Minecraft私服搭建100%成功

最近作者的发小找上作者,闲聊时回忆起每年春节,大家一起在家里组局域网,一起玩《我的世界》的快乐时光,由于去年春节疫情的影响,所以我没有回家过年,也就没有跟往年一样,享受这段美好的开黑时光…

linux服务端 完美世界 下载,完美世界私服教程完美服务端关于TWGM登陆问题解决...

完美世界私服教程完美服务端关于TWGM登陆问题解决 更新时间:2012-07-19 03:17 文章作者: 浏览次数: 次 2.如果没看过,恩,那么... 对照那个帖子里的第3部分. 把dbserver修改成明码IP 把web用户,就是username修改为root 把密码,就是password修改为MYSQL的root用户密码 为什么要这…

搭建好的飞飞服务器(虚拟机)+客户端(物理机)分享给大家

飞飞作为一款经典的休闲游戏,停服但停不掉我曾经的回忆,所以,在闲暇时间我找来了飞飞的服务器和客户端,决定自己搭建,这里,非常感谢提供者,让我能找到以前的感觉。 客户端和服务器我已经打包好了…

八、服务端+客户端跨平台移植Linux、MacOS

. 前言一、项目创建与编译1、Linux系统2、MacOS系统3、不同系统的IP查看 二、客户端跨平台相关修改1、头文件问题2、SOCKET问题3、字符串编译错误4、套接字网络环境5、sockaddr_in问题6、recv()函数问题7、select模型中的nfds 三、服务端跨平台相关修改1、accept()参数问题2、f…