部署实战记录

写博客是为了让自己不那么快忘记

把一个 node 服务部署上线是怎么个流程?

本人在做个人公众号微信分享服务时因为看到别人的个人订阅号能突破微信认证的界限,所以也想尝试一下,结果是失败了,但是又温习了下部署的整一流程,以此记录

现在开发通过

本地部署测试

上阿里云/腾讯云开启安全组规则,开放端口(我的服务是3003)

上服务器开放防火墙

用nginx 做域名映射

  • server {
        listen 80;
        server_name example.azhubaby.com;
        location / {
            proxy_set_header   X-Real-IP $remote_addr;
            proxy_set_header   Host      $http_host;
            proxy_pass         http://0.0.0.0:3003;
        }
    }
    

完毕

因为我的牵扯到微信JS-SDK,所以要去公众号配置JS安全域名

此后去微信开发者工具中测试

防火墙配置

测试命令:

telnet ip地址 端口

在本地window系统 cmd命令窗口输入该命令。ip地址为远程服务器的公网ip地址。

命令案例:

telnet 47.102.152.19 3003

查看防火墙状态

systemctl status firewalld.service

开启防火墙

systemctl start firewalld.service

关闭防火墙

systemctl stop firewalld.service

禁用防火墙

systemctl disable firewalld.service

查看防火墙已开放端口列表

firewall-cmd --list-all

防火墙添加端口

[root@localhost ~]# firewall-cmd --permanent --add-port=3003/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 8080/tcp 3306/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

防火墙关闭端口

[root@localhost ~]# firewall-cmd --permanent --remove-port 3003/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

参考资料