Website setup with AWS (2) 啟動 node server

Arthur Lee
6 min readAug 12, 2018

--

接下來 基本上 沒什麼好說的了

不過我還是記錄一下

第一步 git clone 你的project下來 當然你也可以用FTP

第二步 就是安裝一些 有的沒的東西

nodeJS

install

sudo apt-get update
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs

check

node -v
npm -v

install dependency in the project

這個depend on your project 以下參考

npm install express --save

裝好之後就可以lanuch node!

每一個人 寫main node 名字不同 我的剛好是server.js

node server.js

然後你可以打開你的 browser, URL 打入

http://52.13.216.5:3000/

就可以看到你的網頁了

值得注意的是

這邊的3000 是port number, 有三個地方要一樣

1. url port number
2. 之前security group 中inbound customer TCP Rule也要多設定3000
3. 就是你的code 也要剛好listen port 3000
這三個缺一不可!

接下來 分享一下我的部分 code

const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Point static path to dist
app.use(express.static(path.join(__dirname, 'public')));
app.use('/api', api);
app.use('/users', usersRouter);
app.use('/dishes', dishRouter);
app.use('/promotions',promoRouter);
app.use('/leaders',leaderRouter);
app.use('/feedbacks',feedbackRouter);
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'public/index.html'));
});
/**
* Get port from environment and store in Express.
*/
const port = process.env.PORT || '3000';
app.set('port', port);
/**
* Create HTTP server.
*/
const server = http.createServer(app);
/**
* Listen on provided port, on all network interfaces.
*/
server.listen(port, () => console.log(`Server running on port :${port}`));

詳細可以上我的github 看 雖然這code也不太專業就是了

比較重要的地方就是 一開始先開一個express

const app = express();

之後要說明你的index.html在哪裡!

我是放在public/index.html

// Point static path to dist
app.use(express.static(path.join(__dirname, 'public')));

然後app 用了一堆routes 這可有可無

之後 對所有的url 都指向 public/index.html

app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'public/index.html'));
});

之後是重點 listen to port 3000

const port = process.env.PORT || '3000';
app.set('port', port);

然後就create server 這樣子

有個更簡單的example

可以1min create a mini node project

mkdir nodeExample //創造一個project folder
cd nodeExample //進去 project folder
npm init // npm初始化 一直按ok 即可
npm install express --save-dev // install depednecy 因為要用
vim server.js //edit main node js file

然後以下是 代碼

//server.js
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(3000, () => console.log('Server running on port 3000'))

然後我們就可以開啟server

node server.js

open browser

naive exmaple

之後再研究mongo DB + NodeJS + Angular on AWS

目前已經是nodeJS on AWS 了

--

--

Arthur Lee
Arthur Lee

Written by Arthur Lee

An machine learning engineer in Bay Area in the United States

No responses yet