阅读 930

简单使用node + nginx部署你的网站

前言

现在公司项目本地使用node实现前后端分离,服务器使用的是 nginx + tomcat 的部署方式。实际上前后端分离的技术完全可以用在node部署上。


本地准备


本地只需要准备下面几个文件:

1)网站的静态资源文件:包括html、js、css、图片等资源。static和view的目录结构参考上图左侧,如果你的网站目录结构不同,只需要在server.js文件中重新配置下路由;

2)package.json:既然使用node部署,那肯定会用到node的一些模块和框架,比如path和express。这个json文件用于记录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服务端,内容如下:

// 依赖项
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)
});
复制代码

上面代码主要干了两件事:路由控制和搭建服务器。


开始部署


1)拷文件

  1. 登录你的服务器(我的服务器是window系统)
  2. 把上面的本地文件拷到服务器的C:\Home目录下

2)安装node和nginx

nginx-1.15.3 安装文件: pan.baidu.com/s/17H-S-zdF… 提取码: p3ks 下载后我是放在服务器c盘根目录下。

node v8.11.2 安装文件: pan.baidu.com/s/17H-S-zdF… 提取码: p3ks 下载后在服务器安装,安装时的选项都选择默认,会自动配好环境变量。

3)配置node和nginx

  1. 启动node服务:打开cmd,进去C:\Home\web\路径下,先后执行npm install安装依赖和node server.js启动服务,看到下面的信息表示启动成功,注意不要关闭这个cmd窗口:

  1. 启动nginx:
  • 修改nginx配置文件(如果你的nginx是从分享的网盘下的,那可以省略这一步)打开C:\nginx-1.15.3\conf\nginx.conf文件,找到server节点,修改配置:
  • 再打开一个cmd,进入到C:\nginx-1.15.3\路径下,执行start nginx.exe,如下所示,如果没报什么错误的话表示启动nginx成功。

4)部署完成,可以开始使用外网访问你部署的网站了。

这里是登录页

这里是主页

关注下面的标签,发现更多相似文章
评论