nodejs应用在centos上的部署以及微信公众平台的配置

3人阅读 评论(0) 收藏 举报
分类:

曾经学习过相关内容,但是遗忘太快,很多坑也踩了又踩,果然是好记性不如烂笔头,找个地方记录一下部署过程:

环境搭建

登录阿里云,更换系统centos7.2,可以采用阿里云现成环境镜像(偷懒),或者自己搭建,注意事项:
使用putty远程登录到服务器
安装nodejs 最好使用淘宝镜像,速度更快

安装mongodb,教程很多,不谈

如果启动报错则先以--repair方式启动,kill进程后,删除logs.lock文件再次-fork启动 配置conf文件

学会正确关闭数据库,如果直接关闭,会导致mongo为了保护数据库生成.lock文件,使得下次无法启动

use admin
db.runCommand("shutdown")//db.shutdownServer()正确关闭mongodb

或者

mongod --shutdown

还需要将mongodb添加进开机启动项:
chmod +x /etc/rc.d/rc.local

使用vim将mongo启动命令添加进去

mongo启动命令如下:

mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/log/log.log -fork


指定默认数据库和日志位置,文件夹需要自己新建,后者为文件位置非文件夹位置


全局安装forever,以管理服务进程
npm install -g forever
启动服务 forever start server.js
关闭所有 forever stopall

防火墙配置

配置iptables和阿里云安全组,二者缺一不可
微信公众平台只支持443和80端口,需要在安全组中开放80端口,还需要在系统中使用iptables开放80端口
centos7的默认防火墙为firewalld,这里采用iptables,故先关闭firewalld
systemctl stop firewalld.service
systemctl disable firewalld.service #禁止firewall开机启动
yum install iptables-services 

编辑iptables配置文件:
vim /etc/sysconfig/iptables

添加如下记录:
-A INPUT -p tcp -m state NEW -m tcp --dport 8999 -j ACCEPT

注意这几行配置不要写在最后,写在22端口下一行即可,否则不会生效

命令添加方式如下,将80端口映射到8999端口,主程序监听8999端口即可(linux下非root无法监听小于1024的端口)

iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8999
sudo iptables-save
systemctl restart iptables
systemctl enable iptables
查看防火墙规则 iptables -L -n
查看端口 netstat -a -n

使用xftp上传文件,注意更改其中的地址//主程序监听阿里云内网ip,online部分改为阿里云外网ip

//或者从github中拉取代码


如何导入数据

使用mongodb工具从文件导入(如果本地有数据库也可以从本地数据库向线上数据库导入)
mongorestore 支持.bson和json格式
命令:
 mongorestore -d weixin xxx(文件夹目录)

mongoimport 导入到指定数据库 User.json
mongoimport -d dbname -c collectionname --file filename --type json

数据库管理员验证权限设置,待补充


微信公众号平台配置:

微信公众号仅支持80和443端口!!!
测试公众号填写URL为项目中微信处理件url地址
注意appID和appsecret以及token是否匹配
另外微信公众号平台需要将自己的ip地址加入白名单,以调用微信API

tips:

本地测试需要注意(使用ngrok代理)
1.如果在手机上连接笔记本本地服务器需要监听host地址为本机IP,不可以用127.0.0.1
127.0.0.1为环回地址,数据包到达网络层即被传回,不会出本机
2.开放80端口后,需要用管理员权限启动项目才能监听80端口(windows环境)





查看评论

LAMP部署-CentOS、Apache、MySQL、PHP配置优化

适用人群 PHP程序员,基于PHP的开源产品维护人员,网站管理等 课程简介 CentOS,Apache,Mysql,PHP安装过程中遇到的问题,会在本套课程中详细介绍。
  • 2017年06月06日 14:48

CentOS中搭建NodeJS环境

CentOS中搭建NodeJS环境 l 前言 Node.js是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好...
  • u010651383
  • u010651383
  • 2016-08-05 09:17:30
  • 1520

腾讯云从零部署nodejs站点

最近入手了一台腾讯云机子,用于团队社区站点的建设,站点架构: 数据库服务:mongodb后台:nodejs + express接入:nginx   整个购买到部署的要点步骤: 服务器...
  • tengxy_cloud
  • tengxy_cloud
  • 2016-11-07 15:41:52
  • 2423

Nodejs在Linux的部署和配置

Linux centos-7系统,nodejs为node-v6.10.0-linux-x64
  • donyFeng66
  • donyFeng66
  • 2017-03-13 10:18:04
  • 928

centos nodejs 部署forever

获取nvm源码 1、直接从 github 找到最新版本通过wget下载到本地wget https://github.com/cnpm/nvm/archive/v0.23.0.tar.gz, 2、或...
  • u010340774
  • u010340774
  • 2016-11-22 10:29:07
  • 1470

Linux系统(Centos)下安装nodejs并配置环境

总结Centos下安装nodejs并配置环境,记录成功安装的方法。推荐的安装方法是利用已编译的二进制文件安装,不推荐使用源码的形式安装,一是源码安装比较麻烦,二是需要自行下载编译浪费时间。1.安装no...
  • qq_21794603
  • qq_21794603
  • 2017-03-29 19:59:19
  • 21849

Node.js+MongoDB+Nginx在腾讯云的CentOS的部署

准备一共需要安装和配置以下: - Nginx - node - mongoDB第一步:安装node安装安装node有很多种方法,我用源码编译的,奇慢无比,以后不用了! 下面是粘贴官网的教程 c...
  • littleorange6
  • littleorange6
  • 2017-11-14 16:43:06
  • 355

CentOS 7部署Node.js+MongoDB:在VPS上从安装到Hello world

写好代码,花钱买了VPS,看着Charges一直上涨却无从下手?记一位新手司机从购买VPS到成功访问的过程0.购买VPS首先,选择VPS提供商,部署一个新的服务器(Deploy New Server)...
  • azureternite
  • azureternite
  • 2016-08-29 01:11:01
  • 2050

CentOs7部署node环境并发布(云服务器)

CentOs7部署node环境并发布(云服务器) 蛮久之前买了个阿里云服务器就想着鼓捣些啥来玩玩,于是就想到了部署一个node环境并把小网站放上去跑跑。 相关:CentOs7 、没有安装虚拟机,直...
  • qq_26769677
  • qq_26769677
  • 2018-01-16 23:06:37
  • 147

[NodeJS] 腾讯云 CentOS7.2 部署 Express+MongoDB 项目

第一次部署应用到服务器上,写这篇文章来记录一下基本的流程,以方便以后忘了可以查看,并希望可以帮到同样有疑惑的朋友。环境操作系统: Ubuntu 16.04 腾讯云主机镜像: CentOS 7.2 6...
  • Elliott_Yoho
  • Elliott_Yoho
  • 2016-11-25 11:39:24
  • 2124
    个人资料
    等级:
    访问量: 1
    积分: 11
    排名: 236万+
    文章分类
    文章存档