This document describes how to quickly deploy a local Nest.js project to the cloud through an HTTP-triggered function.
Note:This document mainly describes how to deploy in the console. You can also complete the deployment on the command line. For more information, see Deploying Framework on Command Line.
Before using SCF, you need to sign up for a Tencent Cloud account and complete identity verification first.
nest
in the search box to filter function templates, select the Nest template, and click Next. The Node.js runtime environment has been installed locally.
Refer to First steps to initialize your Nest.js project:
npm i -g @nestjs/cli
nest new nest-app
In the root directory, run the following command to directly start the service locally.
cd nest-app && npm run start
Visit http://localhost:3000
in a browser, and you can access the sample Nest.js project locally as shown below:
You need to make simple modifications to the initialized project, so that the project can be quickly deployed through an HTTP-triggered function. The project transformation here is usually divided into the following two steps:
scf_bootstrap
bootstrap file.0.0.0.0:9000
.The detailed directions are as follows:
./dist/main.js
to change the listening port to 9000
as shown below:scf_bootstrap
bootstrap file in the project root directory and add the following content to it (which is used to start services):#!/bin/bash
SERVERLESS=1 /var/lang/node12/bin/node ./dist/main.js
Note
- Here is only a sample bootstrap file. Adjust the specific operations according to your actual business scenario.
- The sample uses the standard node environment path of SCF. When debugging locally, you need to change it to your local path.
777
or 755
is required for it to start normally. Below is the sample code:chmod 777 scf_bootstrap
After the deployment is completed, you can quickly access and test your web service in the SCF console and try out various features of SCF, such as layer binding and log management. In this way, you can enjoy the advantages of low cost and flexible scaling brought by the serverless architecture.
Was this page helpful?