Node.js 切近实战(十二) 之Linux部署

之前的话我们的项目都是跑在windows上,今天我们要将我们的程序跑到linxu机器上。在看linux部署之前,我们先看一下类似于 mvc的过滤器或者叫拦截器。在中我们加入如下代码

var beforeRequest = function (req, res, next) {
    if ( == '/' 
        ||  == '/login' 
        ||  == '/config' 
        ||  == '/user' 
        ||  == '/logInout') {
        next();
    }
    else if ( == null ||  == undefined || !) {
        ('/login');
    }
    else {
        next();
    }
}

(beforeRequest);

此时当有请求到达时,就会先判断用户是否登录,如果未登录,则跳转至登陆界面。但是要确保该代码在注册路由之前。

('/', routes);

OK,接下来我们在看一下平台上log4js的使用。

var log4js = require('log4js');
var log4jsConfig = require('./framework/config/log4js_');
();

ok,接下来我们看一下log4js的配置

 = 
{
    appenders: [
        {
            type: 'console',
            category: "console"
        }, {
            type: 'file',
            filename: 'logs/', 
            maxLogSize: 1024,
            backups: 1,
            category: 'log_info'
        }, {
            
            type: "datefile",  
            filename: "logs/error",
            alwaysIncludePattern: true,  
            pattern: "-yyyy-MM-dd-",
            category: "log_error"
        }, {
            category: "log_trace",  
            type: "datefile",  
            alwaysIncludePattern: true,  
            pattern: "-yyyy-MM-dd-",
            filename: "logs/trace"
        }
    ],
    replaceConsole: true,
    levels:  
    {
        console: "ALL",  
        log_error: "ALL",  
        log_info: "ALL",
        log_trace: "ALL"
    }
}

OK,经过这样的配置之后,我们看一下记录的log。

OK,其实在中我们对记录进行了设置。

var loggerInfo = ('log_info');
var loggerError = ('log_error');
var loggerTrace = ('log_trace');
((loggerInfo, { format: ':method :url' }));

定义了三种log,error分别记录404和500。

(function (req, res, next) {
    ();
    var err = new Error('Not Found');
     = 404;
     = "The resource you are look for is not found!";
    next(err);
});

(function (err, req, res, next) {
    ( || 500);
    ();
    ('error', {
        message: ,
        error: {}
    });
});

而info用来记录,经过设置

replaceConsole: true

使得console的内容可以在窗口输出,而不是仅写入log文件。

[2016-08-01 14:17:] [INFO] log_info - GET /user/file pageIndex=0&pageSize=10&isShared=false&fileName=
[2016-08-01 14:17:] [INFO] log_info - GET /page?q=s
[2016-08-01 14:17:] [INFO] log_info - GET /docshare
[2016-08-01 14:17:] [INFO] log_info - GET /user/sharedfile?userId=&pageIndex=0&pageSize=10&fileName=&startDate=&endDate=
[2016-08-01 14:17:] [INFO] log_info - GET /page?q=u
[2016-08-01 14:17:] [INFO] log_info - GET /page?q=r
[2016-08-01 14:17:] [INFO] log_info - GET /file/auth
[2016-08-01 14:17:] [INFO] log_info - GET /user/file?pageIndex=0&pageSize=10&isShared=true&startDate=Fri%20Jul%2001%202016%2000:00:00%20GMT+0800%20(й)&endDate=Mon%20Aug%2001%202016%2014:17:11%20GMT+0800%20(й)&fileName=
[2016-08-01 14:17:] [INFO] log_info - GET /page?q=c

而且格式就是上面设置的http method+URL

((loggerInfo, { format: ':method :url' }));

OK,关于log4js就说这么多,毕竟只是个工具,大家自己下去看api就行了。

好了,接着我们将改程序部署至linux我的centos5。

有没有注意到我桌面的ftp服务器,没错就是我在win10搭建的ftp服务器。OK,我们将程序放到ftp,我们再拷贝至centos。

ok,我们把所有要用的东西都通过此方法拷贝至centos。

我们需要的是部署程序,mongodb, for linux。好的,完成后,我们先要启动mongodb

接着我们通过node命令启动程序。

启动成功,我们在window上访问一下

有的人说了,你这个图我怎么知道是不是linux的ip。我现在就给你看两张图,一个是ip,

一个是centos的火狐浏览器。

我们再看一下linux下火狐的浏览效果

这个浏览器估计有些老,不支持html5。OK最后我们登录进去看系统是否正常。

木有什么问题,ok,今天就到这里。后面会多多的玩linux,什么.net core什么玩意的我们也玩玩。


Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值