总结下自己在开发node web站点的一些新手问题。
发布于 9 年前 作者 xiaojue 7453 次浏览 最后一次编辑是 5 年前

主要分为几点。

一个是环境的搭建过程中的困难。

一个是编码的时候一些遇到的不舒服的地方。

还有项目的发布和维护之类的东东。毕竟 作为一个 纯前端,很多后端服务器的知识我都弱爆了。

更希望抛砖引玉的得到大牛的建议。

恩,先挖个坑~ 慢慢更新。

先说环境的一些问题,我的开发过程比较古怪,前期是在vps上直接写的代码,后来代码写的复杂了,部署困难了,又在本地搞的测试环境。【血的教训,还是本地要有一套和线上一样的环境为妙】

首先介绍下自己的开发环境:

线上机 centos 本机 ubuntu

然后用node做网站一般前端都是会顶起一个nginx来做端口代理。比如node会在本机的3000端口起个服务,然后用nginx来设置public目录和代理端口,应该大家都是这么干的。

nginx我是自己手动编译的,因为需要在configure上增加一些add-module的配置,所以ubuntu和centos都是同样的配置方法。【我加了淘宝的concat模块】

之后数据库环境和session选择的是mongodb和redis,想想也知道了,程序是用expressjs写的,所以直接用的套件。

安装mongdb我是从官方的download里一步一步装好的,配合google下如何设置开机启动,和定时备份的方法配置了下,主要是crontab定时走一个自己工程help.sh的shell完成一些工作。后期会说都是啥。

redis的配置安装同理,官方有详细安装步骤和配置方法。

基本的开发环境就这样。然后npm装好forever工具,来保持程序稳定。再定时的restart,基本一天一次,重启node进程,防止内存溢出。

处理图片的话,安装的是node-canvas和imagemagick两个工具,都需要依赖本机系统的工具,不同系统安装方法也不一样,我配置的时候也是分别配置了2次。github上都有wiki可以参考。

然后如果需要收发邮件,需要本机再装sendmail,一般都自带,我的测试机,没配置,只有线上机配置了,配合的模块有个nodemailer?貌似叫这个。。忘了。

前端我用bootstrap加seajs。后端就是expressjs,然后自己分一下m层还有c层,我的ep用的是2.x,没用3.x。

基本前期的环境配置就是这样。开发中遇到问题,之后再补- -||

写的好乱。。见笑了。。。。

10 回复

比较想知道的是用的什么vps,还有线上部署的

多总结总结~ 写得漂亮些 谢谢 支持支持

实在,写得很好!

没玩过ubuntu,看后面的东西学习了

是否配合过微软或亚马逊的云环境测试?

一天一次重启进程node进程防止内存溢出!无敌了……

一天一次重启进程node进程防止内存溢出! 这样不太好吧,如果真有内存溢出,那是天大的事,应该要问题暴露出来,然后处理掉,而不是每天重启一次掩盖掉内存可能会泄露的事实,要争取一辈子都不用重启

机器不好,没法用ubunto,我也想用linux开发啊

问题已经发现了是convert程序处理大图片的时候就会内存溢出。是convert进程的问题。不过也没什么好办法。毕竟图片处理就是吃内存的操作,内存又有限。没办法,做图片服务就是烧钱的事。。

我觉得机器不好才用ubuntu。windows多卡啊。

回到顶部