nodejs服务器部署教程二

这篇文章主要介绍如何在服务端跑vuejs的项目,如果上一篇教程你成功输出了hello world,那这一篇更简单
首先你要有一个已经能在本地跑的基于vuejs的项目,我就以之前写的仿饿了么的项目为例来部署,如果你还没有已经写好的项目,可以用我的这个项目来学习,https://github.com/wmui/vue-elm
这次部署就用最古老最省心的方法,ftp来上传项目

项目打包

npm run build后会有一个dist目录,这个文件夹就是我们要部署上线的项目

写一个小脚本

如果你会点nodejs,脚本就很好理解了,下面是app.js启动脚本的内容

const fs = require('fs');
const path = require('path');
const express = require('express');
const app = express();
// 模拟数据,api服务
var appData = require('./data.json');
var seller = appData.seller;
var goods = appData.goods;
var ratings = appData.ratings;
// api接口
var apiRoutes = express.Router();
apiRoutes.get('/seller', function(req, res) {
    res.json({
        erron: 0,
        data: seller
    })
});

apiRoutes.get('/goods', function(req, res) {
    res.json({
        erron: 0,
        data: goods
    })
});

apiRoutes.get('/ratings', function(req, res) {
    res.json({
        erron: 0,
        data: ratings
    })
});
app.use('/api', apiRoutes);
app.use(express.static(path.resolve(__dirname, './dist')))

app.get('*', function(req, res) {
    const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
    res.send(html)
})
app.listen(8082);

简单解释一下上面的代码,由于项目需要些数据,我的模拟数据都在data.json这个文件里,所有简单的写了三个路由,对应获取到模拟数据。然后把dist目录静态出来,读取dist目录下的index.html(因为是单页应用,只有这一个html文件),监听8082端口

我们先在本地把要上传的文件都准备好:
我们的这个脚本使用了express框架,所以我们可以生成一个package.json,把依赖项添加进去

{
  "name": "vue-elm-dist",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.15.3"
  }
}

完成以上操作,我们要上传的文件项目大概长这样1027889-20170714091044040-294832974.png
新建一个文件夹如elm,把整个项目通过ftp上传到根目录www文件夹下

启动服务

登陆到你的服务端,cd到elm文件夹,执行npm install 安装依赖,然后pm2 start app.js就成功启动服务了1027889-20170714091735431-107670919.png
现在通过ip加端口形式能正常访问,但是如果想通过域名访问就需要配置nginx映射

nginx 端口映射配置

首先你需要把一个二级域名解析到你的主机ip,比如我使用的elm.86886.wang这个二级域名
配置文件和之前的基本一致

upstream elm {
    server 127.0.0.1:8082;
}

server {
    listen 80;
    server_name elm.86886.wang;

    location / {
        proxy_set_header Host  $http_host;
        proxy_set_header X-Real-IP  $remote_addr;  
        proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header X-Nginx-proxy true;
        proxy_pass http://elm;
        proxy_redirect off;
    }
}

我把它命名为elm-8082.conf
然后通过ftp上传到/etc/nginx/conf.d/目录下
执行sudo nginx -s reload重启nginx服务器,过个十分钟就应该能正常访问了 点击访问

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于部署Node.js服务器,有几种常见的方法可以选择。以下是一种常用的方法: 1. 获取服务器:首先,您需要选择并获取一台服务器来托管您的Node.js应用程序。您可以选择使用云服务提供商(如AWS、Azure、Google Cloud等)的虚拟机实例,也可以选择自己购买和设置物理服务器。 2. 安装Node.js:在服务器上安装Node.js运行时环境。您可以从Node.js官方网站(https://nodejs.org)下载适合您操作系统的安装包,并按照安装指南进行安装。 3. 上传应用文件:将您的Node.js应用程序文件上传到服务器。您可以使用FTP、SCP或其他文件传输工具将应用程序文件从本地上传到服务器。 4. 安装应用依赖:在应用程序目录中运行`npm install`命令,以安装应用程序所需的所有依赖项。这将根据应用程序中的package.json文件自动安装依赖项。 5. 配置服务器:根据您的需求配置服务器,例如设置端口号、域名、SSL证书等。 6. 启动应用程序:在服务器上运行`node your-app.js`命令来启动您的Node.js应用程序。确保您已经在应用程序目录中,并将"your-app.js"替换为您的应用程序的入口文件。 7. 监视和管理:使用相关工具(如PM2)来监视和管理您的Node.js应用程序。这些工具可以帮助您自动重启应用程序、管理日志、监控性能等。 请注意,这只是一个基本的部署流程示例,实际情况可能因您的需求和服务器配置而有所不同。您可能还需要考虑安全性、负载均衡、数据库集成等其他方面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值