点击在我的博客 xuxusheng.com 中查看,有更好的排版哦~
配置 cnpm 服务器时, 默认的服务器端口是 7001,现在要修改为 80 端口。
在linux系统中监听端口时,1024 以下的端口需要管理员权限。
如何监听80端口,大概分三种方法:
- 使用管理员账户启动,不推荐。
- 修改文件所属用户为root,再加上 s 权限,使得在普通账户下也会通过root的名义去启动应用。
- 使用非 80 端口启动程序,然后利用 iptables 进行端口转发。
###1. 直接修改 cnpm 配置文件
将 registryPort 端口修改为 80 。
此方法存在权限问题,如果当前用户为普通用户,当使用npm start
启动进程时会报错Permission denied
,只能使用管理员账户启动。
###2. 使用 nginx 进行端口转发
方法1: 直接修改 nginx 配置文件
在 /conf/nginx.conf
文件中进行修改,此方法同样存在权限问题,需要以管理员账户启动服务器。
方法2: 修改 nginx 所属用户为 root
原理上是先将 nginx 文件夹所属用户修改为 root, 然后加上s权限,使得普通用户也可以通过 root 启动,但是测试的有点问题,之后再研究研究。
###3. 利用 iptables 进行端口转发
在 root 用户下运行命令:
iptables -t nat -A PREROUTING -p tcp -i eth0 -d 192.168.11.198 --dport 80 -j DNAT --to 192.168.11.198:7001
// 192.168.11.198 为服务器ip地址
再使用 service iptables save
将配置保存到配置文件中。
端口转发OK