如何在独立nodejs 虚拟主机机上配置node.js开发环境

使用Nodejs开发微信公众号后台服务实例
使用Nodejs开发微信公众号后台服务实例
微信,庞大的用户基数,极强的用户粘性,在近两年吸引了无数的开发者注意力。 Nodejs,近两年发展非常快的开发工具,尤其适合构建移动后台。本文就以笔者自己开发的实例,来描述如何基于Nodejs开发属于自己的微信公众号。在这个实例中,主要使用到了express, wechat, mongodb, monk等模块。
前期准备:
1.申请微信公众号,前往 https://mp./& 申请,这里不做过多阐述。
2. 购买服务器, 这里推荐Amazon的EC2,首次用户可选择micro instance,一年免费,申请很方便,只需输入自己的信用卡信息即可,只是整个过程是全英文,不过年免费呦,多花点时间也是值得的。
安装NodeJs开发环境:
1.& yum -y install gcc
2.& yum -y install gcc-c++
3.& yum -y install make automake
4.& wget http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz
5.& tar -xvzf node-v0.10.29.tar.gz
6.& cd& 解压目录
7. ./configure
9.& make install
安装Mongodb:
1. wget /linux/mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz
2. tar -xvzf mongodb-linux-x86_64-enterprise-amzn64-2.6.3.tgz
3. sudo cp -R -n& mongodb-linux-x86_64-enterprise-amzn64-2.6.3 /usr/local/mongodb
实例介绍:
笔者所在班级组了个足球队,大家统一把钱交到队长手里,由队长支付每次费用,并记录每人费用和余额并通知大家。由于不是每次所有人都能来,而费用只能由参加活动的人以AA方式平摊,记录起来比较麻烦。于是笔者就做了个微信公众号,每次只需要输入活动消费金额和选择参与人数,即可自动生成每人花费和余额,此后把明细发到微信群里,每个人就可以看见了。&
在这个实例中,笔者实际上搭建了一个微网站,通过Web页面来记录或显示活动花费和余额。微信公众号就相当于在用户微信和微网站之间搭起了一个桥梁,当微信用户关注笔者的公众账号时,通过微信公众平台开发者模式,即可自动给微信用户回复使用帮助。在帮助里,包含了操作相应的web link,只需要点击即可进入相应页面。
构建微信公众号后台服务:
万事具备,只欠开发了:)
开始之前,先简要介绍下express和wechat 两个模块:
express - 优秀的Web开发框架, 使用express,可以非常快速的搭建自己的网站。由于微信服务器会通过HTTP Post请求来和开发者服务器交互,所以需要使用express框架。
下面是有新用户关注时的log, 103.7.30.84为微信服务器的IP地址。
103.7.30.84 POST /wechat?signature=8a8e408fdae6bbdd6e470afcea283&timestamp=&nonce= 2 200
wechat -& 封装了和微信服务器交互的细节,使开发者只需关注自己的业务即可。
首先,我们要安装express 并使用express 来创建工程:
代码如下:1. npm install -g express
2. express -e your_project&&& 参数 -e 表明使用ejs 引擎,无参数默认使用jade 引擎。
3. cd your_project && npm install
安装后的目录结构如下:
[ec2-user@ip-172-31-2-188 your_project]$ ls
app.js& bin& node_modules& package.json& public& routes& views
接下来安装wechat:
1. npm install wechat
微信开发者模式配置:
配置URL和token,示例如下:
微信服务器接入认证和自动回复:
修改app.js,相应代码如下:
app.use('/users', users);
app.use('/weixin', weixin);
app.use(express.query()); // Or app.use(express.query());
app.use('/wechat', wechat('hchismylove', function (req, res, next) {
&// 微信输入信息都在req.weixin上
&var message = req.
&console.log(message);
&if((message.MsgType == 'event') && (message.Event == 'subscribe'))
&&var refillStr = "&a href=\"http://your_IP/weixin/refill?weixinId=" + message.FromUserName + "\"&1. 点击记录团队充值&/a&"
&&var consumeStr = "&a href=\"http://your_IP/weixin/consume?weixinId=" + message.FromUserName + "\"&2. 点击记录团队消费&/a&"
&&var deleteStr = "&a href=\"http://your_IP/weixin/delete?weixinId=" + message.FromUserName + "\"&3. 点击回退记录&/a&"&&&&&&
&&var historyStr = "&a href=\"http://your_IP/weixin/history?weixinId=" + message.FromUserName + "\"&4. 点击查询历史记录&/a&"
&&var emptyStr = "&&&&&&&&& ";&&&&
&&var replyStr = "感谢你的关注!" + "\n"+ emptyStr + "\n" + refillStr + "\n"+ emptyStr + "\n" + consumeStr
&&&&&&&&&&+ "\n"+ emptyStr + "\n" + deleteStr + "\n"+ emptyStr + "\n" + historyS
&&res.reply(replyStr);
通过下面这行代码即可实现微信服务器接入认证:
代码如下:app.use('/wechat', wechat('your_token', function (req, res, next) {
如下代码实现了当新用户关注时,自动发送使用帮助:
if((message.MsgType == 'event') && (message.Event == 'subscribe'))&
&&& res.reply(replyStr);&
微信截图如下:
Copyright & 2016 phpStudy如何在生产服务器上部署 Node.js 应用? - 知乎429被浏览70324分享邀请回答nodejs;#名字和前面的对应,将所有的请求转发给后端的node
access_log
logs/nodejs.access.#如果需要日志的话 } 推荐将静态文件如css、js和图片和应用服务器分开。 应用启动的话可以直接node app.js,还可以使用其他守护方式启动,当进程挂了自动重启。还可以考虑使用multi-node(),增强应用的稳定性和性能。361 条评论分享收藏感谢收起本文讲的是Linux虚拟机中node.js之开发环境搭建_Linux,
先说下nodejs这个哦,有人以为它是一种语言,其实不是,它是一个平台。下面来说下本次的话题:Vmware虚拟机node.js之开发环境搭建
一.安装linux系统
(已安装linux可跳此步骤)
虚拟机推荐选择:VirtualBox 或
先说下nodejs这个哦,有人以为它是一种语言,其实不是,它是一个平台。下面来说下本次的话题:Vmware虚拟机node.js之开发环境搭建
一.安装linux系统
(已安装linux可跳此步骤)
虚拟机推荐选择:VirtualBox 或者 Vmware (专业版永久激活码:5A02H-AU243-TZJ49-GTC7K-3C61N)
我这里使用Vmware。
安装好Vmware后,点击新建虚拟机,选择稍后安装操作系统,然后进行配置。虚拟机设置如下:
    客户机操作系统:其他;
    版本:其他64位;
    虚拟机名称:node.js ;
    位置:D:\VM\node.js ;
    其他默认;
虚拟机就建好了,配置如右图所示。
这里有个问题需要注意:就是虚拟机的网络适配器,我这里是选择桥接模式。这个模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位),它可以访问网内任何一台机器。(这里我的主机IP是192.168.1.49 而虚拟机IP是192.168.1.59)。如果你的网络环境不适合用桥接,请选择NAT模式。
然后下载镜像,系统我这里选择centos,当然其他的linux系统也是可以的。直接百度centos download点击第一个,然后DVDISO下载。大约4GB。  
下载镜像完成后,点击虚拟机设置,CD/DVD选项卡中选择使用ISO镜像文件。
点击启动,去我们的虚拟机,然后选择第一个开始安装。
1.安装过程在中,语言使用默认语言(English),然后点击continue继续。
2.在这里点击
选择Basic Web Server,右侧选择Development Tools,然后点击Done返回。
3.点击 虽然这里默认以及选择但是还是要再点击一次选择
然后点击右下角的按钮开始安装。
等待安装的过程中,点击开始设置管理员密码。设置完后等待安装完成,大约3-5分钟。安装完成后点击reboot按钮重启。
重启后用户名:root
密码:是刚刚安装过程中设置的密码。
到这里CENTOS就安装完成了,下面简单做一些设置。
用vi修改etc/sysconfig/network-scripts/目录下的网卡配置文件,修改最后一个ONBOOT为yes。因为centos7默认情况下,网卡是关闭的。修改完成后wq保存退出。如图下所示
修改完配置文件后,输入命令systemctl restart network重启虚拟机网络。
输入命令ifconfig可以看到已经获取到了IP地址。
如果不放心,还可以ping 试试。这时候虚拟机已经连接上了外网。
二.nodejs以及相关软件安装
先写个xshell安装。(可选,不安装也不影响Nodejs开发)
xshell:Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的。
xshell:详细的安装步骤 /xsh_column/xs-az.html
个人感觉比较好用,安装完成后,点击新建,输入名称node,主机node,端口号22,然后输入登录名root,密码就能进入centos了。因为我这里虚拟机是桥接的方式,为了以后虚拟机的IP不会变动,我在C:\Windows\System32\drivers\etc\hosts文件最后加上192.168.1.59 node。以后虚拟机的IP都会固定在这个,方便后续开发。
/*****************我就是任性的分割线****************************/
现在centos里先安装几个东西(必须!)
1.安装一个epel,输入命令
yum install epel-release
2.安装nodejs,输入命令
yum install nodejs
等待下载安装完成后,输入命令node --version查看版本号是否安装完成。
3.安装mongodb服务端,输入命令
yum install mongodb-server
4.安装mongodb客户端,输入命令
yum install mongodb
等待下载安装完成后,输入命令mongo --version查看版本号是否安装完成
5.安装redis,输入命令
yum install redis
等待下载安装完成后,输入命令redis-cli --version查看版本号是否安装完成
以上所有步骤完成后,即完成了node.js的开发环境搭建。值得掌声祝贺!!!
三.node测试运行
下面简单写个小程序来运行一下。
vim test.js
var name = "qin";
console.log("hello "+name);
wq保存退出,输入命令node test.js ,即可看到结果。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持云栖社区。
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索linux
nodejs环境搭建
linux搭建node.js
linux nodejs环境搭建、linux搭建node.js、node.js 环境搭建、vue和nodejs环境搭建、node环境搭建,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有linux nodejs环境搭建、linux搭建node.js、node.js 环境搭建、vue和nodejs环境搭建、node环境搭建等
,所有相关内容均不代表云栖社区的意见!node.js环境搭建教程 node.js怎么进行环境搭建
时间: 10:38:44来源:作者:@@@(0)
Node.js是一个JavaScript运行环境,但是实际上他是多谷歌V8引擎进行封装,node对一些特殊的用例进行了优化,提供了API,让V8更加好的在非浏览器情况下运行,下面小编就为大家介绍一下node.js环境搭建教程  Node.js是一个事件驱动I/O服务端JavaScript环境。由于其拥有异步非阻塞、环境搭建简单、实践应用快等特性,使得其在新一代编程开发中更为流行。同时,由于Node.js 基于JavaScript语法,因此在学习Node.js时也可以了解和学习JavaScript的语法,拓宽和加深读者对Web前端开发技术的理解。当前,Node.js主要应用于HTTP Web服务器的搭建和快速实现的独立服务器应用。在实践项目中,Node.js更适合做一些小型系统服务或者一些大项目的部分功能的实现。  1 通过 nvm 安装任意版本的 node  如果你想长期做 node 开发, 或者想快速更新 node 版本, 或者想快速切换 node 版本, 那么在非 Windows(如 osx, linux) 环境下, 请使用 nvm 来安装你的 node 开发环境, 保持系统的干净.  如果你使用 Windows 做开发, 那么你可以使用 nvmw 来替代 nvm  1.1 安装 nvmw  1.1.1、直接从 github clone nvmw 到本地, 这里我使用目录是H:\program files (x86)\ 目录存放 git 项目。  git clone /cnpm/nvmw.git  1.1.2、设置 H:\program files (x86)\\nvmw 目录到你的 PATH 环境变量中。  1.1.3、重新打开你的终端, 输入 nvmw  1.2 通过 nvmw 安装任意版本的 node  如安装目前最新版本,通过下面的命令:  nvmw install 0.12.4  问题:如果出现“输入错误:没有 文件扩展的 .js 脚本引擎”。  1.3 设置当前使用的node版本  通过下面的命令:  nvmw use 0.12.4  2 通过.msi安装node  到官网https://nodejs.org/download/下载对应环境的安装包。下载完成之后,双击&node-v0.12.4-x64.msi&,开始安装nodejs,自定义安装在H:\program files (x86)\nodejs下面。  在cmd控制台输入:node -v,控制台将打印出:v0.12.4,出现版本提示表示安装成功。该引导步骤会将node.安装到H:\program files (x86)\nodejs目录下,并将该目录添加进PATH环境变量。  3 测试运行js  3.1 通过命令行交互模式测试  3.2 通过node命令 执行  编辑HelloWorld.js文件输入console.log(&Hello shapolang961&);  在命令行执行:  node HelloWorld.jsnodejs怎样实现虚拟主机,在同一台服务器上跑多个独立的网站? - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
就像基于apache/iis等实现的虚拟主机一样,一台服务器上同时运行用nodejs做的多个独立网站,而不是用不同的端口号和子域名的方式。请问能实现吗?
我想这个问题的关键是,各个基于nodejs的独立网站,都可能指定自己的端口号,而这些端口号可能重复。但是作为虚拟主机提供者,服务器不能要求用户网站使用特定的端口吧。
我的目的很简单,我有一台服务器,想架个nodejs的环境,host多个独立域名的网站
且要求在访问各网站时不能带上端口号
用nginx或apache作爲反向代理,根據不同的域名映射到本地不同的端口。
我找到node http-proxy了,可以实现反向代理
我觉得最好还是用nginx哈~反正生产环境也要用nginx的
使用 connect host 即可
.use(connect.vhost(&#', fooApp))
.use(connect.vhost(&#', barApp))
.use(connect.vhost('*.com', mainApp))
fooApp 可以是 express 的 app
当然也可以是webjs的app…
谢谢各位回复!我觉得还是反向代理的机制比较好吧?因为这样可以用 node path/to/app.js 的方式单独启动每一个应用,然后用另一个专职的主控实现反向代理。不知道connect.vhost 能不能这样做?
nginx稳定可靠,你值得信赖…
有用,不错。nginx
目前还是推荐使用nginx 原因很简单
稳定好 便于扩展
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的

我要回帖

更多关于 支持nodejs的虚拟主机 的文章

 

随机推荐