阿里云ecs服务器(linux-centos7):搭建node服务器

Node项目安装、上传及端口监听设置

安装node

参照阿里云官网的介绍(https://help.aliyun.com/document_detail/50775.html?spm=a2c4g.11186623.2.18.7aa779240CerDw#concept-50775-zh)

下载Node.js安装包。

wget https://nodejs.org/dist/v6.9.5/node-v6.9.5-linux-x64.tar.xz

解压文件。

tar xvf node-v6.9.5-linux-x64.tar.xz

创建软链接,您就可以在任意目录下直接使用node和npm命令。

ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm

查看node、npm版本。

node -v
npm -v

至此,Node.js环境已安装完毕。软件默认安装在/root/node-v6.9.5-linux-x64/目录下

上传node项目

安装putty,然后使用pscp上传node项目,putty的使用可以参考我写的另一篇博客(https://my.oschina.net/u/3986435/blog/3043052)

然后使用node命令运行入口文件,即可开启端口的监听

永久开启node服务监听端口

想要永久开启node服务监听端口(不会因ctrl+c关闭),可以使用pm2(一个node进程管理工具)

安装pm2

npm i -g pm2

创建软链接,您就可以在任意目录下直接使用pm2命令。

ln -s /root/node-v6.9.5-linux-x64/bin/pm2 /usr/local/bin/pm2

然后使用以下命令运行入口文件,即可永久开启node服务监听端口

pm2 start app.js

如果在后面加--watch表示代码更新会同步到服务器,但是不建议这样做(前后端代码不同步可能会导致服务器报错而停止服务器) 建议手动重新加载并重新启动pm2的进程

pm2 reload app.js
pm2 restart app.js

参考文章:

https://www.jianshu.com/p/2e31fd9eb048

https://blog.youkuaiyun.com/putao2062/article/details/79688020

转载于:https://my.oschina.net/u/3986435/blog/3050963

### 部署Node.js应用程序至阿里云ECS #### 购买并准备ECS实例 对于希望利用阿里云资源部署Node.js应用的开发者而言,首先需完成ECS实例的选购流程。通过阿里云官网入口,新用户尤其是学生群体可享受特定优惠措施来降低初次尝试的成本。完成注册与身份验证之后,在线挑选适合需求的配置方案,并按照指引操作直至获取到可用的虚拟主机环境[^3]。 #### 安装必要的软件包 一旦拥有了一台处于良好状态下的Linux服务器(如Ubuntu或CentOS),下一步就是确保操作系统内已正确设置了开发所需的依赖项。针对Node.js环境构建来说,这通常意味着要先更新系统的默认库集合,再依据官方文档指示下载对应版本的Node.js发行版。值得注意的是,不同类型的Linux发行版可能会有不同的安装方式;例如,某些情况下可以通过`apt-get`工具轻松实现自动化安装过程,而在其他场景下则可能需要用到源码编译的方式来进行定制化设置[^2]。 ```bash # 对于Debian/Ubuntu系统 sudo apt update && sudo apt upgrade -y curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -y nodejs # 对于RedHat/CentOS系统 sudo yum clean all curl -sL https://rpm.nodesource.com/setup_18.x | sudo bash - sudo yum install -y nodejs ``` #### 构建Web服务框架 为了使Node.js能够作为网络服务对外提供接口调用功能,往往还需要额外引入诸如Express这样的中间件解决方案。这类组件不仅简化了HTTP请求处理逻辑的设计工作量,同时也提供了丰富的API支持用于快速搭建RESTful风格的应用程序结构。此外,考虑到生产环境中安全性的重要性,建议同步考虑HTTPS协议的支持情况——即提前准备好SSL/TLS证书文件以便后续集成使用[^1]。 ```javascript const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(3000, () => console.log(`Server running on port 3000`)); ``` #### 设置反向代理及负载均衡器 当涉及到多站点托管或是希望通过单一公网IP地址承载多个独立域名的服务时,则不可避免地要用到像Nginx这样高效的反向代理服务器。它不仅可以有效地分发来自客户端的不同类型流量给内部相应的后端处理器负责响应,而且还能起到保护实际业务逻辑免受外部攻击威胁的作用。因此,在完成了基本的Node.js应用部署之后,紧接着应该着手规划好整个架构体系内的路由转发机制设计。 ```nginx server { listen 80; server_name example.com; location / { proxy_pass http://localhost:3000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Proto $scheme; } } ``` #### 实现持续交付管道 最后但同样重要的一环是如何保障代码变更后的自动测试、打包以及上线发布的顺畅性。借助CI/CD平台的力量,比如GitHub Actions或者GitLab CI等开源工具链组合起来可以帮助团队成员更高效地管理迭代周期中的各个环节。具体实施细节方面可以从编写`.gitlab-ci.yml`脚本入手,定义清晰的任务执行顺序图谱,从而达到一键触发全流程的效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值