Assignment Database System - Transport Passenger
ssh -i /path/to/file/.pem ubuntu@ec2-18-188-252-203.us-east-2.compute.amazonaws.com
For Window (use PuTTy)
sudo apt-get update
sudo apt-get upgrade
# change timezone to Ho Chi Minh
sudo dpkg-reconfigure tzdata
# install git
sudo apt-get install git
# install Node 8 (or lastest)
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
# install npm
sudo apt-get install npm
Reference: http://voidcanvas.com/setup-and-configure-nginx-in-aws-ec2-linuxubuntu-instance/
sudo apt-get install nginx
sudo service nginx start
cd /etc/nginx
ls
# lưu ý 2 cái này:
## sites-available
## sites-enabled
## sites-enabled trỏ tới sites-available
### + sửa trong sites-available
### + tham chiếu từ sites-enabled tới sites-available
cd sites-available
# file default is configure to nginx
sudo cp default myapp
# fork default to file myapp
cd ../sites-enabled
sudo ln -s /etc/nginx/sites-available/myapp myapp
# reference file from enabled to available
cd ../sites-available
sudo vim myapp
listen default_server
: remove default_server
server_name
: add domain, current type with *.amazonaws.com
(default domain aws)location /
: add proxy
, proxy to port 4200
of localhost
(for node using on port 4200)....{
...
server_name *.amazonaws.com;
...
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
proxy_pass http://localhost:4200;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
...
}
sudo service nginx restart
# create new foler
cd ~
mkdir Home
cd Home
# clone repository
git clone ...
cd myapp
npm install
Instead of npm start
, use pm2
.
# install
sudo npm install pm2 -g
# start
pm2 start npm -- start
# restart server
pm2 restart all
Vào địa chỉ IP public sẽ thấy cái welcome to nginx (do trong file nginx config server_name không có cái phần địa chỉ ip)
Còn vào public ipv4 domain, sẽ thấy cái app node (do server_name có dùng location ở port 4200 của localhost)
Test server node (dùng pm2
)
pm2 log
Nếu không dùng pm2
, lúc npm start
ta phải giữ terminal chỗ đó, không tắt được (cái này là 1 lý do dùng pm2)
Go freenom
sign up an account, register new free domain, example transport-passenger.tk
... {
...
server_name transport-passenger.tk;
...
}
Restart nginx, pm2
sudo service nginx restart
pm2 restart all
View APIs here
View Documents here
View here