A Step-by-Step Guide to Deploying Your Node.js App on AWS EC2 II
Read the part one here.
? Using Nginx as a reverse proxy
? Setting a subdomain for your app
? Configuring SSL using certbot
Let's get the partyy started
ssh into your EC2 instance
ssh -i "your.pem" ubuntu@<your-ec2> sudo su - # to get root access
sudo apt-get update sudo apt-get install nginx
nginx -v #nginx version: nginx/1.18.0 (Ubuntu)
sudo service nginx start
sudo service nginx status
Go to the nginx configuration file
vi /etc/nginx/sites-available/default
Add the following lines to the file
server { listen 80; server_name your-domain.com; # replace with your domain name location / { proxy_pass http://localhost:5000; # replace with your app's port 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-Forwarded-Proto $scheme; } }
Save and exit the file
:wq
sudo nginx -t
sudo service nginx restart
This is a snap package that provides the core functionality of snapd and the snap command-line tool. It is required to install other snaps.
sudo snap install core; sudo snap refresh core
sudo apt remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
change the following lines to the server block
ssh -i "your.pem" ubuntu@<your-ec2> sudo su - # to get root access
sudo apt-get update sudo apt-get install nginx
nginx -v #nginx version: nginx/1.18.0 (Ubuntu)
sudo service nginx start
sudo service nginx status
By following these steps, you can easily set up a subdomain on your server and obtain a free SSL certificate using Certbot. This will help you secure your website and improve its performance.
The above is the detailed content of From Code to the Cloud: A Step-by-Step Guide to Deploying Your Node.js App on AWS ECI. For more information, please follow other related articles on the PHP Chinese website!