摘要:但是之前是直接用本地去執(zhí)行代碼,代碼執(zhí)行后無法改變其狀態(tài),于是打算用和來做一個簡單的站點去執(zhí)行操作。代碼邏輯整個邏輯很簡單,一個簡單的前端頁面,提供表單來發(fā)送請求修改發(fā)送的消息,服務(wù)端使用文件來保存消息,在需要發(fā)送消息的時候讀取消息。
背景
之前寫了一個釘釘機器人定時發(fā)消息的應(yīng)用,感覺還有許多可以補充優(yōu)化的地方,比如可以修改發(fā)送的消息內(nèi)容,也可以啟動或者停止定時發(fā)送消息。
但是之前是直接用本地node去執(zhí)行代碼,代碼執(zhí)行后無法改變其狀態(tài),于是打算用express和nginx來做一個簡單的站點去執(zhí)行操作。
代碼邏輯整個邏輯很簡單,一個簡單的前端頁面,提供表單來發(fā)送請求修改發(fā)送的消息,服務(wù)端使用json文件來保存消息,在需要發(fā)送消息的時候讀取json消息。
話不多說,直接上代碼:
創(chuàng)建服務(wù)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(`接收到修改消息的內(nèi)容為:${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(`消息的內(nèi)容已修改為:${JSON.stringify(content)}`); res.json("消息文案已完成修改"); };部署執(zhí)行 安裝nginx
nginx安裝說起來比較簡單,但因為是第一次裝,還是踩了不少坑, 主要就是關(guān)注各個依賴的版本了,這個可以參考網(wǎng)絡(luò)上的教程nginx安裝
部署進入到項目目錄下,啟動一個后臺進程來執(zhí)行express。。。
配置nginx核心代碼如下(參考鏈接):
upstream mysvr { server 127.0.0.1:7878; // 需要被代理的服務(wù)器 } server { listen 80; server_name 127.0.0.1; location / { proxy_pass http://mysvr; // nginx代理的服務(wù) 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 相關(guān)命令
啟動
[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防火墻設(shè)置](https://blog.csdn.net/u011846...)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/39904.html
摘要:創(chuàng)建成功后進入文件夾執(zhí)行執(zhí)行作用創(chuàng)建文件,維護項目的依賴文件解釋創(chuàng)建文件執(zhí)行作用用系統(tǒng)的編輯器打開文件。我的技術(shù)新群上一篇前后端分離項目實踐分析下一篇公司項目實踐 一、前言 前端如何獨立用nodeJs實現(xiàn)一個簡單的注冊、登錄功能,是不是只用nodejs+sql就可以了?其實是可以實現(xiàn),但離實際應(yīng)用還有距離,那要怎么做才是實際可用的。 網(wǎng)上有很多nodeJs的示例,包括和 sql /...
摘要:前端獲取數(shù)據(jù)時經(jīng)常會遇到跨域問題,用做反向代理就可以解決此問題。但是屬于中間件代理,不同開發(fā)者布署的服務(wù)器地址可能不一樣,這樣的配置就不能做到通用了。那能不能仿照寫了一個簡單的服務(wù)器,用于非的項目呢。 前端獲取數(shù)據(jù)時經(jīng)常會遇到跨域問題,用 nginx 做反向代理就可以解決此問題。但是 nginx 屬于中間件代理,不同開發(fā)者布署的 web 服務(wù)器地址可能不一樣,這樣 nginx 的配置就...
閱讀 1334·2019-08-30 12:49
閱讀 3210·2019-08-28 18:14
閱讀 873·2019-08-26 11:38
閱讀 1740·2019-08-23 18:23
閱讀 2867·2019-08-23 17:04
閱讀 560·2019-08-23 16:52
閱讀 4110·2019-08-23 16:43
閱讀 2827·2019-08-23 16:12