摘要:但是之前是直接用本地去執行代碼,代碼執行后無法改變其狀態,于是打算用和來做一個簡單的站點去執行操作。代碼邏輯整個邏輯很簡單,一個簡單的前端頁面,提供表單來發送請求修改發送的消息,服務端使用文件來保存消息,在需要發送消息的時候讀取消息。
背景
之前寫了一個釘釘機器人定時發消息的應用,感覺還有許多可以補充優化的地方,比如可以修改發送的消息內容,也可以啟動或者停止定時發送消息。
但是之前是直接用本地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安裝說起來比較簡單,但因為是第一次裝,還是踩了不少坑, 主要就是關注各個依賴的版本了,這個可以參考網絡上的教程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防火墻設置](https://blog.csdn.net/u011846...)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39904.html
摘要:創建成功后進入文件夾執行執行作用創建文件,維護項目的依賴文件解釋創建文件執行作用用系統的編輯器打開文件。我的技術新群上一篇前后端分離項目實踐分析下一篇公司項目實踐 一、前言 前端如何獨立用nodeJs實現一個簡單的注冊、登錄功能,是不是只用nodejs+sql就可以了?其實是可以實現,但離實際應用還有距離,那要怎么做才是實際可用的。 網上有很多nodeJs的示例,包括和 sql /...
摘要:前端獲取數據時經常會遇到跨域問題,用做反向代理就可以解決此問題。但是屬于中間件代理,不同開發者布署的服務器地址可能不一樣,這樣的配置就不能做到通用了。那能不能仿照寫了一個簡單的服務器,用于非的項目呢。 前端獲取數據時經常會遇到跨域問題,用 nginx 做反向代理就可以解決此問題。但是 nginx 屬于中間件代理,不同開發者布署的 web 服務器地址可能不一樣,這樣 nginx 的配置就...
閱讀 1261·2019-08-30 12:49
閱讀 3101·2019-08-28 18:14
閱讀 813·2019-08-26 11:38
閱讀 1669·2019-08-23 18:23
閱讀 2819·2019-08-23 17:04
閱讀 490·2019-08-23 16:52
閱讀 4001·2019-08-23 16:43
閱讀 2762·2019-08-23 16:12