共计 3592 个字符,预计需要花费 9 分钟才能阅读完成。
最近新近买了个阿里云的 ECS 服务器,想想在上面挂个 node 来玩玩,刚开始装的是 Windows 系统,图个方便,直接远程连接把本地下好的 node 包丢上去无脑安装,ok,除了上传速度,没其他毛病,运行安装一路到底没出现问题,cmd 能查看到 node 版本。接下去就是把本地的项目拖上来运行测试。
node 不像 apache、tomcat 服务器一样安装完毕后,只要把文件(如 HTML、CSS、JS 等)放到 web 根目录,然后在浏览器访问就能看到,所以项目实现的简单功能就是根据浏览器的请求返回各种资源(我想实现像其他服务器输入地址、或者像在浏览器输入以盘符开头的文件路径一样,正确的呈现出文件),就像你写好了一个静态页面 index.html,然后通过浏览器访问,因为 index.html 引用了 css、js、jpg 等等的资源,所以发起一个获取 index.html 页面的请求,那么在 node 服务端响应返回 index.html 的过程中,一遇到其他类型的资源链接,其实也是发起了对该资源的请求,因此通过对请求路径的解析,获取后缀,可以来确定需要返回的资源类型。这里有一个想法,请求有有请求静态资源的,有访问接口的,那么我把静态资源放一个文件夹里,把各种接口放另一个文件夹,就可以区分哪些是返回静态资源,哪些是访问接口了。
有点偏了,回归正传,目的就是通过浏览器正常访问资源。这里说遇到的问题,ECS 上的 Windows 系统上只有个 ie 浏览器,而且在这个 ie 上因为增强安全配置的阻挠,访问不了大多数网站。出现这个问题第一个想到的是禁用它,打开控制面板找到服务器管理器(ECS 上桌面左下角已经固定了服务器管理器,直接打开就好),在本机伺服器面板可关闭增强安全配置(图盗自百度,因为换系统了), 关了后可以正常访问大多数网站了:
接下来当然是通过浏览器访问自家的服务器,然后问题又来了,测试用的当然只能通过 ip 来访问了,偏偏 ie 没办法通过 ip 来访问,搞了很久,没办法只能换成能通过 ip 来访问的浏览器,就下个 chrome 吧,一笔带过了过程的艰辛,瞎几把折腾。下吧,反正增强安全设置已关闭,能通过 ie 下载 chrome 的。
噩梦才刚刚开始,打开 ie,访问 chrome,从此时起远程连接就是各种无缘无故卡死、退出、登不上、黑屏、白屏 ……mmp,ECS 服务器是基础的穷人配置,Windows 系统图形界面占用了太多资源,已经跑不动其他东西了。要么升级配置,要么换成 linux 系统轻装上阵。无奈,换系统吧。
这里直接在阿里云管理后台那里选择更换系统,以前 Linux 的各种操作都还给大学老师了,这里就直接选个 Linux 镜像开始折腾:
问题 1:换成 Linux 后怎么上去操作?
答:在本地下个 ssh(用来远程连接 linux,因为 Windows 自带的远程连接连不了 linux。ssh 包括两部分,SSH Secure Shell Client 用来连接 linux,会显示一个终端命令行界面,就跟直接运行 linux 看到的一样;SSH Secure File Transfer Client 也是用来连接 linux,但它是用来上下传文件的)。安装完 ssh 连接登录 linux,分别输入主机名 Host Name(公网地址),用户名 User Name(默认 root),端口号 Port(默认 22),Password(可在阿里云管理后台那里设置)。登录完就可以安装 node 了,这里下载后需要编译。
安装 node:
1、下载最新 node 版本:
wget http://nodejs.org/dist/node-latest.tar.gz
2、解压:
tar zxf node-latest.tar.gz
目前为止没出现问题,接下去就是预编译和编译了。
3、预编译:
./configure
出现问题了。
问题 2:预编译命令不存在的?什么鬼?
答:哦,要进入到解压出来后的 node 包里再执行这条命令。我们可以输入命令 ls 来看下解压出来的都是什么东西:
问题 3:能执行预编译了,但报了个 cxxg++ 版本警告,版本过旧编译不了?
答: 更新版本:
首先列出已安装的软件,我们要找到 cxxg++ 那个软件名,才能根据软件名来更新。
yum list installed
在列表中找到那个名字,更新:
yum -y update < 那个名字 >
这样更新完再预编译就好了,但是,问题没解决,新问题又出现了。
问题 4:yum -y update < 那个名字 > 这条指令报错:Loaded plugins: fastestmirror Determining fastest mirrors
这又是什么鬼?网上找了一下,说是 fastestmirror 是 yum 的一个加速插件,这个插件不能用了,所以你的命令也不能用了,好好的加什么速,总是扯出些没用的东西,就跟现下的工具一样,明明只想用 a,然后要用 a 前你得掌握 b,要用 b 前你要了解 c …… 然后就是从入门到放弃。又扯远了,不能用这个插件,那么就在配置文件那里禁用吧:
答:这里要修改两个文件,可以先用 ls 和 cd 看看文件在哪个角落:
vi /etc/yum/pluginconf.d/fastestmirror.conf
显示如下:
[main]
enabled=0 // 把 1 改为 0
verbose=0
socket_timeout=3
hostfilepath=/var/cache/yum/timedhosts.txt
maxhostfileage=10
maxthreads=15
把 enabled 改为 0,保存, 这里表示禁用该插件;
vi /etc/yum.conf
显示如下:
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1 #将 plugins 的值修改为 0
installonly_limit=5
把 piugins 改为 0,保存,表示 yum 不使用插件
ok,重新更新 cxxg++ 版本,没问题:
yum -y update < 那个名字 >
预编译,没问题:
./configure
编译:
make
编译比较久,大约半小时左右,这个出来得到的就是无脑安装的那个包了,还要安装才能用。
安装:
make install
到此就可以像在 Windows 下面一样输入 node - v 去查看 node 版本了,安装成功,接下去测试项目的运行了。其他的问题翻篇写。
下面关于 Node.js 的内容你可能也喜欢:
在 Ubuntu 14.04/15.04 上安装配置 Node.js v4.0.0 http://www.linuxidc.com/Linux/2015-10/123951.htm
如何在 CentOS 7 安装 Node.js http://www.linuxidc.com/Linux/2015-02/113554.htm
Ubuntu 14.04 下搭建 Node.js 开发环境 http://www.linuxidc.com/Linux/2014-12/110983.htm
Ubunru 12.04 下 Node.js 开发环境的安装配置 http://www.linuxidc.com/Linux/2014-05/101418.htm
Node.Js 入门[PDF+ 相关代码] http://www.linuxidc.com/Linux/2013-06/85462.htm
Node.js 开发指南 高清 PDF 中文版 + 源码 http://www.linuxidc.com/Linux/2014-09/106494.htm
Linux 下安装 Node.js 详细完整教程 http://www.linuxidc.com/Linux/2017-01/139726.htm
Ubuntu 16.04 64 位 搭建 Node.js NodeJS 环境 http://www.linuxidc.com/Linux/2016-09/135487.htm
Node.js 的详细介绍:请点这里
Node.js 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-06/144512.htm