首页 > 代码库 > 瞎几把折腾,node安装

瞎几把折腾,node安装

     新近买了个阿里云的ecs服务器,想想在上面挂个node来玩玩,刚开始装的是window系统,图个方便,直接远程连接把本地下好的node包丢上去无脑安装,ok,除了上传速度,没其他毛病,运行安装一路到底没出现问题,cmd能查看到node版本。接下去就是把本地的项目拖上来运行测试。

    node不像apache、tomcat服务器一样安装完毕后,只要把文件(如HTML、CSS、JS等)放到web根目录,然后在浏览器访问就能看到,所以项目实现的简单功能就是根据浏览器的请求返回各种资源(我想实现像其他服务器输入地址、或者像在浏览器输入以盘符开头的文件路径一样,正确的呈现出文件),就像你写好了一个静态页面index.html,然后通过浏览器访问,因为index.html引用了css、js、jpg等等的资源,所以发起一个获取index.html页面的请求,那么在node服务端响应返回index.html的过程中,一遇到其他类型的资源链接,其实也是发起了对该资源的请求,因此通过对请求路径的解析,获取后缀,可以来确定需要返回的资源类型。这里有一个想法,请求有有请求静态资源的,有访问接口的,那么我把静态资源放一个文件夹里,把各种接口放另一个文件夹,就可以区分哪些是返回静态资源,哪些是访问接口了。

    有点偏了,回归正传,目的就是通过浏览器正常访问资源。这里说遇到的问题,ecs上的window系统上只有个ie浏览器,而且在这个ie上因为增强安全配置的阻挠,访问不了大多数网站。出现这个问题第一个想到的是禁用它,打开控制面板找到服务器管理器(ecs上桌面左下角已经固定了服务器管理器,直接打开就好),在本机伺服器面板可关闭增强安全配置(图盗自百度,因为换系统了),关了后可以正常访问大多数网站了:技术分享

    接下来当然是通过浏览器访问自家的服务器,然后问题又来了,测试用的当然只能通过ip来访问了,偏偏ie没办法通过ip来访问,搞了很久,没办法只能换成能通过ip来访问的浏览器,就下个chrome吧,一笔带过了过程的艰辛,瞎几把折腾。下吧,反正增强安全设置已关闭,能通过ie下载chrome的。

    噩梦才刚刚开始,打开ie,访问chrome,从此时起远程连接就是各种无缘无故卡死、退出、登不上、黑屏、白屏......mmp,ecs服务器是基础的穷人配置,window系统图形界面占用了太多资源,已经跑不动其他东西了。要么升级配置,要么换成linux系统轻装上阵。无奈,换系统吧。

    这里直接在阿里云管理后台那里选择更换系统,以前linux的各种操作都还给大学老师了,这里就直接选个linux镜像开始折腾:

  问题1:换成linux后怎么上去操作?

  答:在本地下个ssh(用来远程连接linux,因为window自带的远程连接连不了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了,这里参照简书http://www.jianshu.com/p/af9ed9f1d2f7中的操作来安装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

    到此就可以像在window下面一样输入node -v去查看node版本了,安装成功,接下去测试项目的运行了。其他的问题翻篇写。

 

瞎几把折腾,node安装