博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
express+nginx 搭建最简单web项目
阅读量:7115 次
发布时间:2019-06-28

本文共 2044 字,大约阅读时间需要 6 分钟。

背景

之前写了一个钉钉机器人定时发消息的应用,感觉还有许多可以补充优化的地方,比如可以修改发送的消息内容,也可以启动或者停止定时发送消息。

但是之前是直接用本地node去执行代码,代码执行后无法改变其状态,于是打算用express和nginx来做一个简单的站点去执行操作。

代码逻辑

整个逻辑很简单,一个简单的前端页面,提供表单来发送请求修改发送的消息,服务端使用json文件来保存消息,在需要发送消息的时候读取json消息。

话不多说,直接上代码:

创建服务

const express = require('express');const handleSendMsg = require('./src/sendMsg');const doSchedule = require('./src/doSchedule');const changeText = require('./src/changeText');const app = express();app.use(express.static('static'));app.get('/changeText.json', changeText);app.get('/sendMsg.json', handleSendMsg);app.get('/doSchedule.json', doSchedule);app.listen(3008, () => {  console.log('Listening on port %d', 3008);});

处理消息

const logger = require('../myLogger');const path = require('path');const fs = require('fs');module.exports = function(req, res) {  const query = req.query;  logger.info(`接收到修改消息的内容为:${JSON.stringify(query)}`);  const content = JSON.parse(fs.readFileSync(path.join(__dirname, '../config.json')));  if (query.workOff) {    content.workOff = query.workOff;  }  if (query.workOn) {    content.workOn = query.workOn;  }  fs.writeFileSync(path.join(__dirname, '../config.json'), JSON.stringify(content));  logger.info(`消息的内容已修改为:${JSON.stringify(content)}`);  res.json('消息文案已完成修改');};

部署执行

安装nginx

nginx安装说起来比较简单,但因为是第一次装,还是踩了不少坑, 主要就是关注各个依赖的版本了,这个可以参考网络上的教程

部署

进入到项目目录下,启动一个后台进程来执行express。。。

配置nginx

核心代码如下():

upstream mysvr {         server 127.0.0.1:7878;  // 需要被代理的服务器       }         server {    listen 80;    server_name 127.0.0.1;    location / {        proxy_pass http://mysvr;  // nginx代理的服务        proxy_set_header Host $host;        proxy_set_header X-Real-IP $remote_addr;        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    }    }

nginx 相关命令

启动

[root@localhost ~]# /usr/local/nginx/sbin/nginx
停止/重启
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令帮助
[root@localhost ~]# /usr/local/nginx/sbin/nginx -h
验证配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

[cenos防火墙设置]()

转载地址:http://vcwel.baihongyu.com/

你可能感兴趣的文章
UIAlertController高级之嵌入其他控件 分类: ios技术 ...
查看>>
[Java] JSP笔记 - EL、JSTL 常用标签
查看>>
git bash命令行
查看>>
【oracle】union、union all、intersect、minus 的用法及区别
查看>>
【转】交换机背板带宽
查看>>
tcpdump使用方法
查看>>
这样就可以修改MathType公式编号格式吗
查看>>
clean完后没有生成R文件
查看>>
一个男人关心的东西 决定了他的层次
查看>>
【转】七年阿里老人谈新人成长
查看>>
机器人搬重物(BFS)
查看>>
the config of vichrome
查看>>
VINS(七)estimator_node 数据对齐 imu预积分 vision
查看>>
pku1274 The Perfect Stall
查看>>
android开发之图表
查看>>
redis实现分布式锁工具类 灰常好用
查看>>
rocketmq Don't have SubscriptionGroup
查看>>
Arx 函数
查看>>
verilog语法实例学习(13)
查看>>
iOS/oc取消arc[转]
查看>>