CentOS7重装之路-Node.js安装使用篇
上回我们在自己的 CentOS7
系统上安装了 PHP
并且让 PHP-FPM
与Web服务器 NGINX
相连。
这一回再说另外一个服务器端的编程语言—— Node.js
。
作为前端的开发者,Node.js
可以说是需要掌握的语言。其本身就是 JavaScript
,只是可以直接在服务器上运行罢了。
当然,也可以用于制作各类命令行小程序,以后再作介绍。
安装 Node.js
安装 Node.js
有很多种办法。
- 到官方网站下载
Binary
版本 - 到官方网站下载
Source Code
,然后再编译 - 使用
nvm
之类的软件安装
考虑到前两种办法都比较麻烦,这里我比较推荐使用 nvm
安装 Node.js
。
nvm
的项目:https://github.com/creationix/nvm/
步骤1. 安装 nvm
有 curl
的话,直接执行下面的命令就可以了。
1 | curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash |
不过,要注意这个脚本是有时效性的。如果 nvm
有新的版本,请到官网看看新的脚本的链接。、
还有要注意,一定要在 root
的角色下运行,不然请自觉 sudo
。
安装好了就可以看到 => Close and reopen ...
字样。
此时,用一下 nvm --version
看一下安装好了没有。
如果没有,请执行一下 source ~/.bashrc
。
步骤2. 安装 node.js
第一步是设置一下 Node.js
的镜像到 npm.taobao.org
。
1 | export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node |
如果不这么做,就是直接下载官方的版本,下载速度很慢的。
第二步就是 nvm install --lts
。
这里的意思就是安装最新的 Node.js
的 Long term Support
版本,相对来说比较稳定,适合生产环境。
安装好了就会说 Now using node vx.x.x (npm vx.x.x)
的信息。
第三步就是设置默认的 Node.js
版本。
1 | nvm alias default stable |
不这么做的话,重启服务器之后你会发现 node
用不了。设置这个就是让 nvm
默认 use
稳定版,也就是 lts
。
步骤3. 试一下 Node.js
安装好了,就可以试一下新安装的 Node.js
啦~
执行命令 node -v
就可以看到现在使用的 Node.js
的版本号。
执行命令 npm -v
就可以看到现在使用的 NPM
的版本号。
步骤4. 安装 cnpm
因为原版的 npm
在国内安装东西是很慢的,要解决慢就一定要用镜像。
国内比较好的镜像就淘宝的 NPM
镜像。
为了方便使用镜像并且不影响原本的 npm
,我们建议安装 cnpm
作为 npm
的代替。
cnpm
就是使用了淘宝的 NPM
镜像的 npm
。
安装方法也很简单:
1 | npm install -g cnpm --registry=https://registry.npm.taobao.org |
只需要一步就可以安装好 cnpm
。
运行 cnpm -v
可以看到安装好了的 cnpm
的版本。
使用 Node.js
运行 Node.js
因为 Node.js
是运行一个Web服务器。所以它本身就已经有自己的端口了。
好比说我的这个 express
的项目,端口设置到 :4399
。
使用 node app.js
之类的手段让 Node.js
服务器运行起来。
那么访问 http://127.0.0.1:4399
就可以上你的网站了。
NGINX
反向代理
但是,我想访问特定域名的 :80
端口就可以访问网站。怎么办?
这个时候就是 NGINX
反向代理登场的时候。
对于网站的访客,只需要知道你的域名就可以访问到你的 Node.js
服务器。
NGINX
反向代理就是把用户对你的 :80
端口的通信转发到你的内部端口,如 :4399
。
那应该在 NGINX
里面怎么操作呢?
假设我的网站是 haha.com
,Node.js
服务器端口为 :4001
。
在 NGINX
的配置文件中加入:
1 |
|
用 nginx -s reload
重新加载一下配置就可以啦~
你也可以选择在 server
下多加一句 proxy_hide_header X-Powered-By;
这样就可以防止 express
的版本号泄露出来咯~
是不是很简单?
下一节介绍怎么在 CentOS7
下获取 Let's Encrypt
的免费证书来搭建 HTTPS
服务器。
除非注明,麦麦小家文章均为原创,转载请以链接形式标明本文地址。