转载请注明出处:http://www.cnblogs.com/shamoyuu/p/node_bae.html

百度有一个应用引擎,价格非常便宜,Java的tomcat每天4毛钱,node每天2毛钱,我以前在上面搭建过一个JavaWeb的项目,今天来说说怎么搭建nodejs+express+mysql的后台。

首先打开console.bce.baidu.com,注册登录完成,然后新建一个应用引擎BAE如下图进行设置

【前端】用百度BAE和express部署自己的node后台-LMLPHP

目前基础版的BAE只支持node4.4.4,不过应该已经足够了。如果是用koa2的,可以选择专业版,贵得多,但是支持最新的node版本。

svn或者git可以根据自己的需要选择,我下面是以svn为例。

然后就会看到我们新建的项目了

【前端】用百度BAE和express部署自己的node后台-LMLPHP

展开“更多操作”,点击“发布设置”,然后打开“自动发布设置”的开关,这个意思是svn提交以后,会自动部署,不然每次都要手动点一下。

复制svn地址,然后在本地检出,账号密码就是你百度的账号密码,可以看到两个个默认的文件package.json和server.js,还有其他的文件不用理会。

package.json就是。。。。package.json

server.js就是express里的www文件和app.js文件的合体

然后我们把这两个文件都删掉

然后我们在这个文件夹上打开cmd,运行express命令(express的安装自己百度),就会生成一个express标准的项目。

我们需要改造两点:

  1. 需要给bin文件夹的www文件增加一个js的扩展名,改成www.js
  2. 需要设置package.json文件里start的属性为"node --harmony ./bin/www.js"

之所以要这样改,是因为BAE基础版启动的时候,必须是一个js文件。加--harmony是让BAE支持ES6的语法。

好了,可以提交了,如果不出意外,就可以看到express的初始页面

注意不要提交node_modules文件夹,系统会自动帮你install的

【前端】用百度BAE和express部署自己的node后台-LMLPHP

然后我们在express里编写自己的代码,增加mysql,实现增删改查,这一步略了。我们直接来讲BAE里的mysql怎么用

在BAE部署列表页面的左侧,有一排菜单,点击扩展服务

【前端】用百度BAE和express部署自己的node后台-LMLPHP

然后点击“添加新服务”,选择mysql,勾选同意,点击立即购买。现在是免费的1G空间。这个数据库只有BAE可以访问,其他环境下无法访问(百度内网也可以)

新建好了我们就可以在扩展服务界面看到我们新建的mysql数据库了,点击数据库的名字(名字是乱码一样的,自动生成的)可以看到数据库所有的信息了

【前端】用百度BAE和express部署自己的node后台-LMLPHP

↑↑↑这就是BAE环境下的数据库配置↑↑↑

数据库的账号和密码,分别是你的AK和SK,可以点击问号,然后点击查看来获取到

【前端】用百度BAE和express部署自己的node后台-LMLPHP

如果想要根据不同的环境来区分数据库的话,可以修改根目录下app.conf文件,在最后添加下面的代码

environment :
NODE_ENV : "production"

这个文件须严格遵照YAML语法规范(http://yaml.org/),任何不合规范的配置,如使用中文、Tab或不符合缩进规则等,均会导致发布失败

然后可以在代码里直接获取这个变量

process.env.NODE_ENV //production

完结,散花

我的博客在不登录的情况下也可以评论,只需要输入昵称和评论,这一套后台都是在上面搭建的BAE上运行的。

05-11 19:48