nodejs写后端,部署云服务器(腾讯云)

1.首先,在阅读这篇文章时,保证你有一定的nodejs基础

2.用新人身份,体验一个月的腾讯云服务器

3.

 4.进入实例,点击登录,修改远程服务器登陆密码

5.点击登录

6.在服务器上,安装nodejs环境

7.用vscode充当编辑器,然后编写代码:

// 导入express
const express = require('express');
//创建服务器实例
const app = express();
const router = express.Router();
//导入cors
const cors =require('cors')
app.use(cors());
//放开跨域
router.all('*', (req, res, next) => {
    //设置允许跨域的域名,*代表允许任意域名跨域
    res.header("Access-Control-Allow-Origin", "*");
    //允许的header类型
    res.header("Access-Control-Allow-Headers", "content-type");
    //跨域允许的请求方式 
    res.header("Access-Control-Allow-Methods", "DELETE,PUT,POST,GET,OPTIONS");
})
// 挂载路径
router.get('/abc', (req, res) => {
    console.log('abc');
    res.send([
        {
            message:'获取成功',
            data:{
                name:'张三',
                age:18
            }
        }
    ]);
});
//挂载路由
app.use(router);
app.listen(5000, () => {
    console.log('server running at http://localhost:5000');
})

 8.我挂载在5000端口,返回控制台设置安全组规则

9.如下:

 

 

10.尝试访问(公网ip地址加上端口号)

 

获取数据成功

------------------------ ------------------------ ------------------------ ------------------------ ------------------------ 

11.错误改善方法:

访问不到公网IP地址IP地址访问不到

注意:如果结合前端请求,有跨域问题,我在nodejs中调用cors插件,解决跨域问题,也可以通过前端的反向与正向代理解决。

 

### 部署 Node.js 后端应用的最佳实践 部署 Node.js 后端应用程序涉及多个方面,包括环境准备、代码优化以及生产环境下的性能调优。以下是详细的说明: #### 1. 准备工作 在正式部署之前,需要确保本地开发环境中构建的应用程序能够正常运行于目标服务器上。通常情况下,在开发阶段,服务器会运行在 `localhost` 上[^3]。为了使应用能够在公网访问,需将其迁移到实际的远程主机。 #### 2. 使用包管理工具配置国内镜像源 如果项目依赖较多或者网络条件不佳,可以考虑切换至国内 NPM 镜像源以加速安装过程。执行命令如下所示: ```bash npm config set registry https://registry.npm.taobao.org ``` 此操作可显著提升下载速度并减少超时错误的发生概率[^4]。 #### 3. 选择合适的云服务商 对于希望将服务公开给更多用户的开发者来说,选用专业的云计算平台是非常重要的一步。常见的选项包括但不限于AWS、阿里云、腾讯云等。这些平台提供了丰富的功能和服务支持,帮助简化Node.js应用上线流程的同时也保障了系统的稳定性和安全性。 #### 4. 设置持续集成/持续交付(CI/CD)管道 通过自动化的方式处理版本控制、测试和发布环节不仅提高了效率还能降低人为失误的风险。GitHub Actions, Jenkins 或者 GitLab CI 是几个值得推荐的选择方案之一。 #### 5. 运行进程守护程序保持服务在线 即使是最可靠的软件也可能因为各种原因崩溃退出。因此建议采用 PM2 等专门设计用于监控nodejs项目的工具来自动重启失败的任务实例,并记录日志以便后续分析排查问题所在。 #### 6. 安全加固措施 - **HTTPS 加密传输**: 利用 Let's Encrypt 提供免费SSL证书实现数据加密保护。 - **API 密钥验证机制**: 对外部请求增加身份校验步骤防止未授权访问。 - **输入参数过滤**: 防范SQL注入攻击等问题发生。 --- ### 示例代码片段展示如何初始化express server 并监听指定端口 ```javascript const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); // Set port number explicitly or rely on environment variable PORT. const PORT = process.env.PORT || 3000; app.listen(PORT, () => console.log(`Server running at http://localhost:${PORT}/`)); ``` 上述例子展示了创建一个基础webserver的过程,其中设置了默认端口号为3000除非另有定义来自操作系统级别的变量覆盖它[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值