09

CentOS 6.9下WDCP集成环境使用反向代理配置域名无端口号访问Node网站

CentOS 6.9安装了WDCP的的集成环境(nginx+apache+php+mysql+xend+pureftpd+phpmyadmin),为了使访问Node项目的域名后不显示端口号,那么需要使用Nginx的反向代理,但是还要保持集成环境中的apache对前端的动态内容处理。

配置文件是建站时默认生成的,那么一些默认内容我没有删除,只是给注释掉了。

1、打开WDCP管理后台,默认是http://你的ip:8080/,点击步骤如下图:

20180109161233

2、修改nginx配置文件,配置文件名称默认形式一般为www_mrdede_com.conf,修改方法如下: Continue reading

09

Linux CentOS编译与非编译安装NodeJS方法

淘宝NodeJS镜像

Linux下载地址 https://npm.taobao.org/mirrors/node/v8.9.4/node-v8.9.4-linux-x64.tar.xz

CentOS 6.9安装NodeJS命令:

一、非编译安装NodeJS:

如果是上面的目录结构,这是不需要编译安装,也就是说直接把它放在某个位置,之后把目录加入到Linux环境变量就可以使用了。方法如下:

建一个文件夹,准备复制node文件:

复件文件(cp前面有个反斜杠,意思是屏蔽当前命令使用别名):

使用vi工具(vi/vim命令及使用方法)把路径加入环境变量:

打开文件后,把下面代码加在最后面,如下:

修改完文件后,需要再重新执行一下环境文件

查看是否成功:

如果成功则会打印出安装的Node版本号,则清理一下垃圾,如下:

完成。

二、编译安装NodeJS:

如果是需要编译安装的Node,命令如下:

如果无法查看到版本号,需要手动加入环境变量:

还有一种加入到全局的方法:

三、yum安装NodeJS:

另有一种更简单的方法,通过yum包管理器安装,我没有这么安装过,因为我怀疑他不是最新版本,但是我查询它是有Nodejs-x64包的,命令如下:

 

02

Node项目加入windows系统服务并开机自动启动

使用模块

node-windows

npm官网: https://www.npmjs.com/package/node-windows
github官网: https://github.com/coreybutler/node-windows

1.使用命令行工具,进入项目根目录D:\www\web\itme1下载node-windows模块 :  npm install node-windows –save

2.在项目根目录创建nw.js文件

3.使用命令行工具,进入项目根目录运行 node nw.js,同时在项目根目录生成daemon文件夹,里面生成了以我的项目名称为文件名的exe文件和两个日志文件,当项目在浏览器中运行后,此文件夹还会生成几个日志文件。

4.进入系统服务,查找名称为shippositioning的服务是否正常启动。

01

iisnode+Node+Express+socket.io配置IIS环境的艰辛历程(未完)

系统基础环境说明:

Windows Server 2008 R2 Enterprise x64
IIS 7.5
Node v8.9.3

IIS新装模块:

URL Rewrite
iisnode-full-v0.2.21-x64.msi

Node应用程序:

express v4.15.5
socket.io v2.0.4

Node package.json文件如下:

Continue reading

十二 06

两个故事理解阻塞非阻塞与同步异步的区别

故事一:

“阻塞”与”非阻塞”与”同步”与“异步”不能简单的从字面理解,提供一个从分布式系统角度的回答。
1.同步与异步
同步和异步关注的是消息通信机制 (synchronous communication/ asynchronous communication)
所谓同步,就是在发出一个*调用*时,在没有得到结果之前,该*调用*就不返回。但是一旦调用返回,就得到返回值了。
换句话说,就是由*调用者*主动等待这个*调用*的结果。

而异步则是相反,*调用*在发出之后,这个调用就直接返回了,所以没有返回结果。换句话说,当一个异步过程调用发出后,调用者不会立刻得到结果。而是在*调用*发出后,*被调用者*通过状态、通知来通知调用者,或通过回调函数处理这个调用。 Continue reading

十一 13

WebStorm中错误提示:Unresolved function or method require()解决办法

Nodejs项目开发,使用WebStorm工具时,require()函数提示错误:Unresolved function or method require(),完美解决方案。

英文版WebStorm:

File >> Settings >> Languages & Frameworks >> JavaScript >> Libraries >> Download

点击“Download”后等待一小会,在列表中查找“requeuirejs”,点击高亮后,再点击对话框下的“Download and Install”,确定,确定,完成。

中文版WebStorm:

文件 >> 设置 >> 语言和框架 >> JavaScript >> Libraries >> Download

点击“Download”后等待一小会,在列表中查找“requeuirejs”,点击高亮后,再点击圣诞框下的“Download and Install”,确定,确定,完成。

十一 12

安装Nodejs+Express+socket.io方法

一、安装 Nodejs

官网 https://nodejs.org/
dist https://nodejs.org/dist/
进入dist查找版本号文件夹(如:v8.9.1/),进入后,此版本所有系统的下载安装包都在里面:
32位系统(x86),64位系统(x64)
windows系统下安装Nodejs(下载.msi后缀文件),一直点Next,设置一下安装目录就行了,过程省略。
Linux系统(CentOS6.5)下安装Nodejs,到官网按系统去复制下载地址或到dist目录下对应的版本文件夹下载.tar.xz后缀文件。

准备命令 gcc make gcc-c++ openssl-devel wget都是一会需要的,也可以略过此步,因为一般都会自带的,可以等需要的时候再安装

查看自带nodejs版本

输出 v6.10.3
查看系统32位/64位(32-bit/64-bit),我的是64位的,一会要下载64位的包

输出 /sbin/init: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
创建一个下载文件夹

进入文件夹

下载(稍稍漫长的等待,三五分钟)

解压.xz得到.tar文件,再解压.tar即可

查看文件夹下所有文件

输出 CHANGELOG.md LICENSE README.md bin include lib share
这是源码包,不需要编译安装了,直接放到/usr/local下设置好环境变量就可使用
创建目录node并移动源码包 Continue reading

26

Node入门–一本全面的Node.js教程

关于

本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识。本书绝不是一本“Hello World”的教程。

状态

你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。

本书中的代码案例都在Node.js 0.6.11版本中测试过,可以正确工作。

读者对象

本书最适合与我有相似技术背景的读者: 至少对一门诸如Ruby、Python、PHP或者Java这样面向对象的语言有一定的经验;对JavaScript处于初学阶段,并且完全是一个Node.js的新手。

这里指的适合对其他编程语言有一定经验的开发者,意思是说,本书不会对诸如数据类型、变量、控制结构等等之类非常基础的概念作介绍。要读懂本书,这些基础的概念我都默认你已经会了。

然而,本书还是会对JavaScript中的函数和对象作详细介绍,因为它们与其他同类编程语言中的函数和对象有很大的不同。

本书结构

读完本书之后,你将完成一个完整的web应用,该应用允许用户浏览页面以及上传文件。

当然了,应用本身并没有什么了不起的,相比为了实现该功能书写的代码本身,我们更关注的是如何创建一个框架来对我们应用的不同模块进行干净地剥离。 是不是很玄乎?稍后你就明白了。

本书先从介绍在Node.js环境中进行JavaScript开发和在浏览器环境中进行JavaScript开发的差异开始。

紧接着,会带领大家完成一个最传统的“Hello World”应用,这也是最基础的Node.js应用。

最后,会和大家讨论如何设计一个“真正”完整的应用,剖析要完成该应用需要实现的不同模块,并一步一步介绍如何来实现这些模块。

可以确保的是,在这过程中,大家会学到JavaScript中一些高级的概念、如何使用它们以及为什么使用这些概念就可以实现而其他编程语言中同类的概念就无法实现。 Continue reading