- Clone this repo
git clone https://github.com/rahul72925/serverless-express.git
- Install node modules
- Install
serverless
module in your system globallynpm i -g serverless
- Configure aws profile in your local
serverless config credentials --provider aws --key <key> -- secret <secret-key>
- Deploy on aws
serverless deploy
-
Create a simple express app
./server.js
-
Install
serverless
module in your system globallynpm i -g serverless
-
Configure aws profile in your local
serverless config credentials --provider aws --key <key> -- secret <secret-key>
-
Create a serverless template for nodejs
serverless create -t aws-nodejs
This step will create 2 files
./handler.js
,./serverless.yml
-
Install
serverless-http
module in your current directory to wrapapp
yarn add serverless-http
-
Wrap you app instance by
ServerlessHttp
./server.js const ServerlessHttp = require("serverless-http"); . . . . // remove or comment this `app.listen` function // app.listen(5000,()=>{console.log("server running on 5000"}) module.exports = ServerlessHttp(app)
-
Import
app
instance inhandler.js
const app = require("./server.js") module.exports.handler = app
-
Make change according to
serverlesss.yml
available in this repo -
Add script in
package.json
for deployment"script":{ "deploy": "serverless deploy" }
-
Deploy on aws
yarn deploy
-
It will take few minutes and provide you a running url to check you APIs