美文网首页工具癖程序员
阿里云centos搭建nodejs服务器(一)

阿里云centos搭建nodejs服务器(一)

作者: CN__烟雨任平生 | 来源:发表于2018-11-06 12:34 被阅读96次

趁着双十一阿里云搞活动,三年299,加团就可以购买,顺便学习一下,做一个笔记。
选的的centOS

image.png
1. 更多/修改远程密码
2. 更多/重置密码 是重置的root密码
3. 远程链接

进入以后,输入root,password是你刚刚设置的密码。重设密码以后需要重启服务器。


image.png
root
useradd [yourname] // 创建一个用户明
passwd [yourname] // 确认用户名
//结下来会提示你输入密码
// 再次输入密码就完成了

image.png

在你本地输入:ssh yourname@ip地址(公)就能连上你的服务器啦。

接下来就可以愉快的在本地操作了。
首先安装nodejs(注意是nodejs ,不带js会找不到包)


image.png

这样是因为还没有给自己的用户添加root权限

su
密码:// 输入root密码
visudo
按 i 键进入, 找到 root ALL=(ALL) ALL 然后下面添加 xiawei ALL = (ALL) ALL
root ALL=(ALL) ALL
[yonghuming] ALL = (ALL) ALL
:wq  //保存退出
su [用户名]
sudo yum install nodejs -y
node -v
npm -v //检查是否安装成功 

使用NVM安装多版本

NVM(Node version manager)是Node.js的版本管理软件,使用户可以轻松在Node.js各个版本间进行切换。适用于长期做 node 开发的人员或有快速更新node版本、快速切换node版本这一需求的用户。

安装步骤:

直接使用git将源码克隆到本地的~/.nvm目录下,并检查最新版本。

yum install git
git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`

激活NVM。

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

如果报没有权限,先切换到root用户,输入

chmod +x /etc
// 若是还没有解决 chmod 777 /etc/profile
// 然后再切换到自己用户

列出Node.js的所有版本。

nvm list-remote

安装多个Node.js版本。

nvm install v6.9.5
nvm install v10.13.0

运行 nvm ls 查看已安装Node.js版本,当前使用的版本为v6.9.5。返回结果如下所示。

[root@iZXXXXZ .nvm]# nvm ls
      v6.9.5
->       v7.4.0
      system
stable -> 7.4 (-> v7.4.0) (default)
unstable -> 6.9 (-> v6.9.5) (default)

运行 nvm use v7.4.0 切换Node.js版本至v7.4.0。返回结果如下所示。

[root@iZXXXXZ .nvm]# nvm use v7.4.0
Now using node v7.4.0

NVM的更多操作请参考帮助文档:

nvm help

部署测试项目
新建项目文件example.js。

cd ~
touch example.js

使用vim编辑器打开项目文件example.js。

yum install vim
vim example.js //无权限就加sudo 

输入 i,进入编辑模式,将以下项目文件内容粘贴到文件中。使用 Esc 按钮,退出编辑模式,输入 :wq,回车,保存文件内容并退出。

项目文件内容:

const http = require('http');
const hostname = '0.0.0.0';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World\n');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});

运行项目。

node ~/example.js``

说明 您也可以使用命令 node ~/example.js & 将项目置于后台运行。
使用命令查看项目端口是否存在。
netstat -tpln

  1. 登录ECS管理控制台,并在安全组中 添加安全组规则 放行端口(如本示例中为TCP 3000端口)。

    image.png
    image.png
    image.png
    image.png
    image.png
  2. (可选)如果您的实例中开启了防火墙,必须添加端口的入站规则(如本示例中为TCP 3000端口)。

  3. 在本地机器的浏览器中输入 http://实例公网IP地址:端口号 访问项目。

    image.png

pm2

全局安装
sudo npm install pm2@latest -g

用法
最简单的启用一个应用: pm2 start app.js
停止:pm2 stop app_name|app_id
删除:pm2 delete app_name|app_id
重启:pm2 restart app_name|app_id
停止所有:pm2 stop all
查看所有的进程:pm2 list
查看所有的进程状态:pm2 status
查看某一个进程的信息:pm2 describe app_name|app_id
参数说明
--watch:监听应用目录源码的变化,一旦发生变化,自动重启。如果要精确监听、不见听的目录,最好通过配置文件
-i --instances:启用多少个实例,可用于负载均衡。如果-i 0或者-i max,则根据当前机器核数确定实例数目,可以弥补node.js缺陷
--ignore-watch:排除监听的目录/文件,可以是特定的文件名,也可以是正则。比如--ignore-watch="test node_modules "some scripts"
-n --name:应用的名称。查看应用信息的时候可以用到
-o --output <path>:标准输出日志文件的路径,有默认路径
-e --error <path>:错误输出日志文件的路径,有默认路径
--interpreter <interpreter>:the interpreter pm2 should use for executing app (bash, python...)。比如你用的coffee script来编写应用
完整参数命令: pm2 start ~/example.js --watch
可用来替代刚刚的node ~/example.js


image.png

待续

相关文章

网友评论

    本文标题:阿里云centos搭建nodejs服务器(一)

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