如今公司項目本地使用node實現先後端分離,服務器使用的是 nginx + tomcat 的部署方式。實際上先後端分離的技術徹底能夠用在node部署上。css
本地只須要準備下面幾個文件: html
1)網站的靜態資源文件:包括html、js、css、圖片等資源。static和view的目錄結構參考上圖左側,若是你的網站目錄結構不一樣,只須要在server.js文件中從新配置下路由;2)package.json:既然使用node部署,那確定會用到node的一些模塊和框架,好比path和express。這個json文件用於記錄node依賴的模塊和框架,內容以下:node
{
"name": "app-server",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.16.3",
"path": "^0.12.7"
}
}
複製代碼
3)server.js: 主要文件,用於搭建node服務端,內容以下:nginx
// 依賴項
var express = require('express');
var app = express();
var path = require('path');
// 設置登陸頁和主頁訪問路徑
app.get('/index', function (req, res) {
res.sendFile(__dirname + '/' + 'view/html/index.html');
});
app.get('/login', function (req, res) {
res.sendFile(__dirname + '/' + 'view/html/login.html');
});
app.get('/', function (req, res) {
res.sendFile(__dirname + '/' + 'view/html/login.html');
});
// 託管靜態文件
app.use('/static', express.static(path.join(__dirname, 'static')));
app.use('/view', express.static(path.join(__dirname, 'view')));
// 生成服務器並監聽
var server = app.listen(8080,'localhost',function () {//(3.2.3)
var host = server.address().address
var port = server.address().port
console.log('應用實例,訪問地址爲 http://%s:%s', host, port)
});
複製代碼
上面代碼主要乾了兩件事:路由控制和搭建服務器。web
1)拷文件express
C:\Home
目錄下2)安裝node和nginxnpm
nginx-1.15.3 安裝文件: pan.baidu.com/s/17H-S-zdF… 提取碼: p3ks 下載後我是放在服務器c盤根目錄下。json
node v8.11.2 安裝文件: pan.baidu.com/s/17H-S-zdF… 提取碼: p3ks 下載後在服務器安裝,安裝時的選項都選擇默認,會自動配好環境變量。後端
3)配置node和nginxtomcat
C:\Home\web\
路徑下,前後執行npm install
安裝依賴和node server.js
啓動服務,看到下面的信息表示啓動成功,注意不要關閉這個cmd窗口:C:\nginx-1.15.3\conf\nginx.conf
文件,找到server節點,修改配置:
C:\nginx-1.15.3\
路徑下,執行start nginx.exe
,以下所示,若是沒報什麼錯誤的話表示啓動nginx成功。
4)部署完成,能夠開始使用外網訪問你部署的網站了。
這裏是登陸頁
這裏是主頁