nodejs 搭建简易服务器

www文件夹下

template文件夹下

server.js代码:

const express=require(‘express‘);
const static=require(‘express-static‘); //托管静态文件
const cookieParser=require(‘cookie-parser‘);  //解析cookie
const cookieSession=require(‘cookie-session‘);  //解析session
const bodyParser=require(‘body-parser‘);    //解析post数据
const multer=require(‘multer‘);
const consolidate=require(‘consolidate‘);
const mysql=require(‘mysql‘);

//连接池
const db=mysql.createPool({host: ‘localhost‘, user: ‘root‘, password: ‘123456‘, database: ‘blog‘});

var server=express();
server.listen(8080);

//1.解析cookie
server.use(cookieParser(‘sdfasl43kjoifguokn4lkhoifo4k3‘));

//2.使用session
var arr=[];
for(var i=0;i<100000;i++){
  arr.push(‘keys_‘+Math.random());
}
server.use(cookieSession({name: ‘zns_sess_id‘, keys: arr, maxAge: 20*3600*1000}));

//3.post数据
server.use(bodyParser.urlencoded({extended: false}));
server.use(multer({dest: ‘./www/upload‘}).any());

//4.配置模板引擎
//输出什么东西
server.set(‘view engine‘, ‘html‘);
//模板文件放在哪儿
server.set(‘views‘, ‘./template‘);
//哪种模板引擎
server.engine(‘html‘, consolidate.ejs);

//接收用户请求
server.get(‘/‘, (req, res, next)=>{
  //查询banner的东西
  db.query("SELECT * FROM banner_table", (err, data)=>{
    if(err){
      res.status(500).send(‘database error‘).end();
    }else{
      res.banners=data;

      next();
    }
  });
});
server.get(‘/‘, (req, res, next)=>{
  //查询文章列表
  db.query(‘SELECT ID,title,summery FROM article_table‘, (err, data)=>{
    if(err){
      res.status(500).send(‘database error‘).end();
    }else{
      res.articles=data;

      next();
    }
  });
});
server.get(‘/‘, (req, res)=>{
  res.render(‘index.ejs‘, {banners: res.banners, articles: res.articles});
});

server.get(‘/article‘, (req, res)=>{
  res.render(‘conText.ejs‘, {});
});

//4.static数据
server.use(static(‘./www‘));

index.ejs代码:

<div class="content">
    <div class="banner">
      <ul class="clearfix">
        <% for(var i=0;i<banners.length;i++){ %>
        <li>
          <img src="<%= banners[i].src %>" alt=""/>
          <div class="text-box">
            <h2><%= banners[i].title %></h2>
            <p><%= banners[i].sub_title %></p>
          </div>
        </li>
        <% } %>
      </ul>
      <ol>
          <li class="active"></li>
          <li></li>
          <li></li>
      </ol>
    </div>
    <div class="newsList">
      <ul>
        <% for(var i=0;i<articles.length;i++){ %>
        <li>
          <a href="/article?id=<%= articles[i].ID %>">
            <h2><%= articles[i].title %></h2>
            <p><%= articles[i].summery %></p>
          </a>
        </li>
        <% } %>
      </ul>
    </div>
</div>
时间: 2025-01-16 14:12:01

nodejs 搭建简易服务器的相关文章

python搭建简易服务器实例参考

有关python搭建简易服务器的方法. 需求分析: 省油宝用户数 已经破了6000,原有的静态报表 已经变得臃肿不堪, 每次打开都要缓上半天,甚至浏览器直接挂掉 采用python搭建一个最最简易的 web 服务 请求一个nick 就返回 对应的 报表数据 参数用GET方式传送 调研与实现: 园里没找到靠谱的,google了半天,最终还是成功了. 以下是源码,里面记录了 其中的 一些问题 复制代码 代码如下: #! /usr/bin/env python # -*- coding: utf-8 -

使用Nodejs搭建Web服务器

使用Nodejs搭建Web服务器是学习Node.js比较全面的入门教程,因为实现Web服务器需要用到Nodejs中几个比较重要的模块:http协议模块.文件系统.url解析模块.路径解析模块.以及301重定向技术等,下面我们就一起来学习如何搭建一个简单的Web服务器. 作为一个Web服务器应具备以下几个功能: 1.能显示以.html/.htm结尾的Web页面 2.能直接打开以.js/.css/.json/.text结尾的文件内容 3.显示图片资源 4.自动下载以.apk/.docx/.zip结尾

微信小程序开发入门(一),Nodejs搭建本地服务器

1.  如何模拟真实环境中,读取服务端数据,首先需要使用Nodejs搭建一个本地服务器的环境. 在搭建web服务器之前,需要先安装node.js(安装版本最好为6.9.x) 安装后node.js,接下来就需要安装http的镜像文件 npm install http-server -g(windows下)sudo npm install http-server -g(linux和mac下)接下来在桌面创建一个文件夹 cd 文件夹名字http-server这时候,就会显示在8080端口下运行的一个本

巨杉Tech | 使用 SequoiaDB + Docker + Nodejs 搭建 Web 服务器

容器化技术的出现大大简化了应用开发人员在构建底层基础设施的工作.SequoiaDB 巨杉数据库于3.2.1版本正式推出了 Docker 容器化部署方案,本文将会基于 SequoiaDB 巨杉数据库与Nodejs的 Docker 镜像搭建一个简易的 Web 服务器. 1.规划部署我们将会搭建一个三分区三副本的高可用 SequoiaDB 巨杉数据库.同时,我们将会创建一个 SequoiaDB 巨杉数据库的 MySQL 实例,用以提供 Nodejs 作为数据源. 容器角色 容器名/IP:端口 分区组

Nodejs搭建web服务器实现简单的登陆

本服务器采用了node-koa(2.0):koa是Express下的一个web框架. 搭建步骤: 1.首先我们创建一个web-koa目录,在目录下创建app.js,package.json,start.js三个文件. 2.然后我们来编辑最基本的package.json文件,如下: $ npm init { "name": "myapp", "version": "1.0.0", "description":

Nginx+Nodejs搭建图片服务器

图片上传请求由Node处理,图片访问请求由Nginx处理. 1.Nginx配置 #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types;

Nodejs搭建wss服务器

首先使用OpenSSL创建自签名证书: #生成私钥key文件 openssl genrsa 1024 > /path/to/private.pem // #通过私钥文件生成CSR证书签名 openssl req -new -key /path/to/private.pem -out csr.pem // #通过私钥文件和CSR证书签名生成证书文件 openssl x509 -req -days 365 -in csr.pem -signkey /path/to/private.pem -out

怎样用Nodejs搭建一个服务器

首先我们要知道nodejs有哪些内置模块,比如,http,fs,url,这三是必须要用的. http:超文本传输协议,fs:filesystem,文件系统,有了这个模块,我们就可以操作文件了,url就不用说了吧,来吧,开始吧 先用requirejs,引入模块 var http = require('http'),url = require('url'),fs = require('fs'); 然后创建一个服务; var server = http.createServer(function(re

js:nodejs搭建http服务器为页面添加mysql中的数据

一,建立两个模板:db.js (获取数据库的数据)  message.js(将得到的数据进行分页,显示) db.js /** * 创建数据库连接,并获取数据 */ var mysql = require('mysql'); //获取用户名,连接地址,密码,数据库名 function Db(host,user,pwd,port,database){ this.host = host; this.user = user; this.pwd = pwd; this.port = port; this.