阿里云轻量应用服务器部署React项目
系统镜像:CentOS 7.3
应用镜像: Node.js
在terminal运行 ssh root@公网IP
sudo su root
切到root账号下
(sudo su root
切回到admin)
重置服务器后ssh失效
ssh-keygen -R 你要访问的IP地址
删除先前的配置
Node环境启用
在控制台输入nvm -v
、node -v
查看当前安装的程序版本,却发现…emmm,怎么不能用?查看阿里云官方教程!部署Node.js环境(CentOS 7)。发现原来需要激活nvm。
# 在root根目录下
source /etc/profile
再运行nvm list
查看当前node使用版本,发现是v4.8.4,也太低了。所以
# nvm 安装 node 最新稳定版
nvm install stable
# 启用该版本
nvm use stable
# 把该版本设为默认
nvm alias default stable
此时再运行nvm -v
、node -v
,就可以查到当前比较新的版本了。
执行测试项目
cd ~
touch example.js
通过yum
下载vim编辑器(YUM是LINUX类系统上的自动更新组件安装系统。就象windows上的自动更新。都是可以自能分析当前系统的安装环境并根据具体命令网络升级安装所需组件。)
yum install vim
vim example.js
- 按
i
键,进入编辑模式。- 输入测试代码。
const http = require('http'); const hostname = '0.0.0.0'; // 相当于windows的127.0.0.1 const port = 3000; // 在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}/`); });
- 按
esc
退出编辑模式。- 输入
:wq
之后回车,保存文件并退出
通过node example.js &
启动,并得到端口号。
运行netstat -tpln
查看是否在监听项目端口。(在本例中有3000端口则表示项目在正常运行)
http://公网IP就可以访问
还可以自己配置端口,在ECS中是安全组,在轻量云服务器中就是防火墙
浏览器就可以正常访问了
持续运行
当关闭控制台的时候,这个node进程也就没有了。pm2
可以让进程一直活着。运行pm2 start example.js
其实在
node.js
应用服务器下已经安装好了pm2
,但是因为切换了node
版本导致pm2
不可用,直接在当前版本中再下载一下就可以。
命令:npm i pm2 -g
想停止这个进程:pm2 stop example.js
pm2常用命令:https://www.jianshu.com/p/e709b71f12da?utm_source=desktop&utm_medium=timeline
参考文章:
阿里云轻量应用服务器部署Node项目手记
阿里云轻量应用服务器默认配置的node.js升级
部署Node.js环境(CentOS 7)