成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

express+nginx 搭建最簡單web項(xiàng)目

kbyyd24 / 3896人閱讀

摘要:但是之前是直接用本地去執(zhí)行代碼,代碼執(zhí)行后無法改變其狀態(tài),于是打算用和來做一個(gè)簡單的站點(diǎn)去執(zhí)行操作。代碼邏輯整個(gè)邏輯很簡單,一個(gè)簡單的前端頁面,提供表單來發(fā)送請(qǐng)求修改發(fā)送的消息,服務(wù)端使用文件來保存消息,在需要發(fā)送消息的時(shí)候讀取消息。

背景

之前寫了一個(gè)釘釘機(jī)器人定時(shí)發(fā)消息的應(yīng)用,感覺還有許多可以補(bǔ)充優(yōu)化的地方,比如可以修改發(fā)送的消息內(nèi)容,也可以啟動(dòng)或者停止定時(shí)發(fā)送消息。

但是之前是直接用本地node去執(zhí)行代碼,代碼執(zhí)行后無法改變其狀態(tài),于是打算用express和nginx來做一個(gè)簡單的站點(diǎn)去執(zhí)行操作。

代碼邏輯

整個(gè)邏輯很簡單,一個(gè)簡單的前端頁面,提供表單來發(fā)送請(qǐng)求修改發(fā)送的消息,服務(wù)端使用json文件來保存消息,在需要發(fā)送消息的時(shí)候讀取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安裝說起來比較簡單,但因?yàn)槭堑谝淮窝b,還是踩了不少坑, 主要就是關(guān)注各個(gè)依賴的版本了,這個(gè)可以參考網(wǎng)絡(luò)上的教程nginx安裝

部署

進(jìn)入到項(xiàng)目目錄下,啟動(dòng)一個(gè)后臺(tái)進(jìn)程來執(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)命令

啟動(dòng)
[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
驗(yàn)證配置文件
[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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39904.html

相關(guān)文章

  • 公司項(xiàng)目NODEJS實(shí)踐0.1[ ubuntu,nodejs,nginx...]

    摘要:創(chuàng)建成功后進(jìn)入文件夾執(zhí)行執(zhí)行作用創(chuàng)建文件,維護(hù)項(xiàng)目的依賴文件解釋創(chuàng)建文件執(zhí)行作用用系統(tǒng)的編輯器打開文件。我的技術(shù)新群上一篇前后端分離項(xiàng)目實(shí)踐分析下一篇公司項(xiàng)目實(shí)踐 一、前言 前端如何獨(dú)立用nodeJs實(shí)現(xiàn)一個(gè)簡單的注冊、登錄功能,是不是只用nodejs+sql就可以了?其實(shí)是可以實(shí)現(xiàn),但離實(shí)際應(yīng)用還有距離,那要怎么做才是實(shí)際可用的。 網(wǎng)上有很多nodeJs的示例,包括和 sql /...

    cppprimer 評(píng)論0 收藏0
  • nodejs搭建web服務(wù)器(簡單代理)

    摘要:前端獲取數(shù)據(jù)時(shí)經(jīng)常會(huì)遇到跨域問題,用做反向代理就可以解決此問題。但是屬于中間件代理,不同開發(fā)者布署的服務(wù)器地址可能不一樣,這樣的配置就不能做到通用了。那能不能仿照寫了一個(gè)簡單的服務(wù)器,用于非的項(xiàng)目呢。 前端獲取數(shù)據(jù)時(shí)經(jīng)常會(huì)遇到跨域問題,用 nginx 做反向代理就可以解決此問題。但是 nginx 屬于中間件代理,不同開發(fā)者布署的 web 服務(wù)器地址可能不一樣,這樣 nginx 的配置就...

    J4ck_Chan 評(píng)論0 收藏0
  • Nginx

    摘要:此外,其也能夠提供強(qiáng)大的反向代理功能。是由為俄羅斯訪問量第二的站點(diǎn)開發(fā)的,第一個(gè)公開版本發(fā)布于年月日。 keepalived+nginx 實(shí)現(xiàn)高可用雙機(jī)熱備 + 負(fù)載均衡架構(gòu) 1 準(zhǔn)備4個(gè)ubuntu16.04虛擬機(jī)(啟用網(wǎng)卡二并使用橋接模式):A服務(wù)器:192.168.0.103 主B服務(wù)器:192.168.0.104 主(備) 前端工程師學(xué)習(xí) Nginx ...

    syoya 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<