Linux上搭建内部npm,sinopia开启了本地无法访问

因为我的linux服务器无法连接外网,所以只能先连接外网下载好node源码,然后再用sftp上传到服务器上。
node和npm都成功安装了。
然后接着安装sinopia,也是上面同样的方法。
sinopia是一个搭建企业内部私人npm的node服务器。
全部都以下面这种方式设置了全局命令:

ln -s /home/node-v4.6.1-linux-x64/bin/node /usr/local/bin/node

执行$ sinopia,可以看见:
图片描述

sinopia服务器已开启,并指向4873端口,没怎么在意上面那句,大概意思是sinopia不需要超级权限,不要在root下运行,可是我尝试过在其他目录下运行,都是一样的提示这句。
我在本地win下打开localhost:4873或者ip+4873都无法访问,打开ip是可以访问的。
然后测试下端口:
图片描述
我的目的是想,用Xshell SSH开启linux的服务器可以本地访问。
请问我还需要做些什么?或者哪些做的不对的?
谢谢~

阅读 5.3k
2 个回答

这个问题我也遇到了,你需要去配置下 .config/sinopia/config.yaml文件,这个文件你需要去找一下。
在文件末尾添加(端口号自行设定):
listen: 0.0.0.0:4873
然后就可以访问虚拟机的npm仓库地址了
图片描述

不仅要改配置,还要在开放防火墙的端口

[root@webteam sysconfig]# systemctl stop firewalld.service 
[root@webteam sysconfig]# systemctl start firewalld.service 
[root@webteam sysconfig]# firewall-cmd --permanent --add-port=4873/tcp  
success
[root@webteam sysconfig]# firewall-cmd --reload
success
[root@webteam sysconfig]# 

按照上面的方式添加了listen: 0.0.0.0:4873,还是不行。于是就考虑可能是防火墙的问题。
1、关闭防火墙的服务,测试是否能够访问服务

systemctl stop firewalld.service 

2、确定关闭后可以访问,于是开启防火墙,准备开放端口

 systemctl start firewalld.service

3、开放端口

firewall-cmd --permanent --add-port=4873/tcp  

4、防火墙重新加载配置

firewall-cmd --reload
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题