美文网首页
租了个阿里云服务器及Node.js镜像的使用

租了个阿里云服务器及Node.js镜像的使用

作者: ceido | 来源:发表于2018-01-16 22:57 被阅读0次

    阿里云服务器
    轻量服务器还是ECS服务器?

    我选择的是轻量服务器,应用镜像可以先随便选一个,反正可以重装。一开始选择了应用镜像为wordpress,window下远程登录服务器可以使用putty软件,阿里控制台也可以。

    (1)
    1、查看云服务器内核的信息:uname -a
    image
    2、切换到root用户:

    sudo su root
    这样就可以访问root文件夹,否则是没有权限的:

    image.png

    切回到admin:sudo su admin

    3、在root用户下修改密码:passwd
    image
    4、top:查看任务,及内存的使用
    5、ls:查看目录下的文件,相当于window的dir
    6、cat fileName:查看文件内容
    7、关于yum

    YUM是LINUX类系统上的自动更新组件安装系统。就象windows上的自动更新。都是可以自能分析当前系统的安装环境并根据具体命令网络升级安装所需组件。(具体百度)

    8、网站代码部署:下载安装winscp,连接服务器。主机名为阿里云公网ip。
    image

    登录成功:

    这是WordPress镜像的目录

    网站根目录:/home/www/htdocs,相当于Tomcat下的\webapps\ROOT目录。将ionic_test.html页面拖进里面测试一下,在浏览器中访问首页地址:

    http://119.23.61.159/ionic_test.html,

    8.连接数据库:

    轻量应用服务器预装了MySQL服务端,但是没有装客户端,也没有默认开启权限,在电脑使用MySql客户端连接不上。使用命令在服务器上装一个:yum install mysql;
    但仍然不可用,心想全部装了它,命令yum install mysql*,近500M,然后听搞后台的小伙伴说装起来会很麻烦的,那还是算了。另外我也要切换到nodejs的应用镜像。

    image.png
    在这里就可以重装了,挺快的几分钟。
    (2)nodejs镜像的使用:

    https://zhidao.baidu.com/question/394990939779999805.html?fr=iks&word=centos%D4%CB%D0%D0mogodb&ie=gbk

    实际开发的过程中,我们通常会选择Linux系统作为我们的服务器系统,以此来保证我们的产品能够更加安全、高效的运行。所以学一下还是有必要的。


    image.png

    装了之后,我就像在windows下那样运行命令查看一下版本:


    image.png
    不是装好了吗?怎么不可以用?

    于是我找了这篇教程部署Node.js项目(CentOS),然后看到了这句话:

    image.png
    我进入到node的目录下(需要root权限),在其子目录都运行了一遍,还是不行呀:
    image.png

    显然我们的服务器是nvm方式,于是我又运行了教程中的以下命令:


    image.png
    echo ". ~/.nvm/nvm.sh" >> /etc/profile
    source /etc/profile
    

    我再试了试,虽然它报了点东西,不知道是什么意思,但终于是有用了


    image.png

    退出到其他目录也可以:


    image.png

    版本有点低,安装一个高版本的nodejs:


    image.png
    关于NVM:

    https://www.cnblogs.com/SpecterGK/p/8550392.html
    每次切换了node版本后,下次打开终端,又会回到它默认的版本,此时可以设置默认版本:
    nvm alias default version_name
    例如:
    nvm alias default v9.3.0

    好的,下面就创建个nodejs服务试试:
    (1)创建一个文件夹:
    mkdir test
    mkdir(make directory)这个命令是用于创建文件夹的,使用非常简单,mkdir+文件夹名称,之间一定要有空格。

    (2)后面的就像在Windows下创建node服务差不多,进入文件夹:cd test
    运行npm init --yes
    npm i
    npm install express --save
    然后在本机写个简单的server.js(或者直接在winscp上写):

    var express = require('express');  
    var app = express();              
    
    
    app.get('/', function (req, res) {  
      res.send('Hello World!');
      console.log('test')
    });
    console.log('test')
    app.listen(3000);
    

    (3)最后就是用winscp把server.js放上去,最终就是这样,跟Windows下一样。


    image.png

    (4)然后我们启动它:node server.js

    image.png
    终于可以了。
    (5)然后我们在浏览器中访问它,这时候会报错:
    image.png

    需要设置防火墙:


    image.png

    然后添加规则,选择自定义,然后输入端口,server.js中监听的是3000


    image.png
    好,浏览器也可以访问了。
    image.png

    遗留问题

    虽然这样是可以了,但遗留了很多问题,简单记录:
    (1)直接访问ip报错

    image.png
    ??不带端口访问则默认为80,也就是http的端口。
    运行命令:netstat -anp|grep 80
    发现是nginx在占用,nginx服务应该是搭起的了,防火墙也默认开启了80。那为报错??

    (2)关于一开始的命令运行,好吧,虽然可以了,但是还没真正搞懂

    (3)关闭控制台或者关闭远程连接,nodejs服务也会跟着关闭。???

    解决办法:

    今天偶然看到这篇https://www.jianshu.com/p/e709b71f12da?utm_source=desktop&utm_medium=timeline

    于是我这样启动服务:pm2 start server.js
    然后,即使关闭控制台了,node服务也会继续运行。
    pm2 logs命令可以查看日志。
    我把一个Ionic demo挂在了上面:http://xxx.23.61.159:3000

    关于切换node版本后pm2不可用:需要在当前版本再安装一个pm2,运行:

    npm install -g pm2

    相关文章

      网友评论

          本文标题:租了个阿里云服务器及Node.js镜像的使用

          本文链接:https://www.haomeiwen.com/subject/aoneoxtx.html