(Translated by https://www.hiragana.jp/)
GitHub - xudeming208/mid: 用nodejs开发的一套基于URI的MVC框架,适用于前后端分离项目。
Skip to content

ようnodejs开发てきいち套基于URIてきMVCかまち,适用于前きさきはしぶん离项

License

Notifications You must be signed in to change notification settings

xudeming208/mid

Repository files navigation

mid


Travis Status Contributors License

かい

- ようnodejs开发てきいち套基于URIてき MVC かまち,适用于前きさきはしぶん离项。
- きさきはし渲染;运用nodejs + es6(7) + component + less
- さいようしゅうぐんclusterしきもと于PM2)

MVCしめせ

mvc示意图

midりゅうほど

mid流程图

压力测试及内そん泄漏测试

详细查看TEST.md

mid-cli

- mid-climidかまちあししゅ
- だま认打开的H5页。也可以通过以方式ほうしき访问:
  1. 设置host
    127.0.0.1  pc.fedevot.test.com
    127.0.0.1  h5.fedevot.test.com
  2. h5.fedevot.test.com => H5页;pc.fedevot.test.com => PC页
  1. sudo npm i -g pm2
  2. sudo npm i -g mid-cli --verbose
  3. mid-cli init
    • mid-cli -h
    • mid-cli -v

Usage

详细查看DOC.md

Nginx(转自thinkjs)

虽然 Node.js 自身じしん直接ちょくせつ创建 HTTP(S) ふく务,ただしなま产环さかいけん直接ちょくせつ Node ふく务可以对がい直接ちょくせつ访问,而是ざい前面ぜんめんよう WebServer(如:nginx) らい挡一层,这样ゆう个好处:

  • 以更こう做负载均衡きんこう如:どういち个项,启动个端こうてきふく务,よう nginx 做负载
  • せい态资げん使用しよう nginx 直接ちょくせつ提供ていきょうふく性能せいのうさらだか(实际ちゅうようCDNさらこのみ
  • HTTPS(HTTP2) ふく务用 nginx 提供ていきょう性能せいのうさらだか
  • Gzip压缩とう注意ちゅうい:图片不要ふようGzip,いん为图へんGzipかい变大)
  • はんこう代理だいりはしこうあずかいきめい
  • Nginxさらこのみてきこころざし记录分析ぶんせき
  • Nginx缓存

使用しようNginxてきだい配置はいち

  • 绑定host host => sudo vi /etc/hosts,如下:
127.0.0.1 h5.fedevot.test.com pc.fedevot.test.com
  • あんそう nginx しかきさき配置はいち如下:
server {
    listen 80;
    server_name *.fedevot.test.com;
    location / {
    	proxy_set_header Host               $http_host;
        proxy_set_header X-Real-IP          $remote_addr;
        proxy_set_header X-Forwarded-For    $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8083;
    }
}
  • 浏览访问h5.fedevot.test.comそく(かいどおり过Nginxはんこう代理だいりいたhttp://127.0.0.1:8083)

ps: 当然とうぜん你也以以80はしこう启动nodeふく务,しかきさきようsudo启动(1024以下いかはしこう需要じゅようsudo),ただし推荐这样。

HTTPS(转自thinkjs)

现代网站强制きょうせいけん使用しよう HTTPS 访问,这样提供ていきょう网站内容ないようてき安全あんぜんせい,避免内容ないようこう、监听、篡改とう问题。如果すなおささえづけ证书てき费用,使用しよう Let's Encrypt 提供ていきょうてきめん费 SSL/TLS 证书,以参见文章ぶんしょう Let's Encryptめん费好ようてき HTTPS 证书

HTTP2

- 暂时推荐使用しよう于生产环さかい

http2 nginx配置はいち实例:

#rewrite https/http2 
server {
    listen       80;
    server_name h5.fedevot.test.com;
    rewrite ^(.*) https://h5.fedevot.test.com$1 permanent;
}

#http2
server {
    listen 443 ssl http2 fastopen=3 reuseport;
    server_name h5.fedevot.test.com;
    
    ssl_certificate  /usr/local/etc/nginx/key/certificate.pem;
    ssl_certificate_key /usr/local/etc/nginx/key/privatekey.pem;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers     AES128+EECDH:AES128+EDH:!aNULL;
    ssl_session_cache shared:SSL:10m;

    location / {
        proxy_pass http://127.0.0.1:8083;
    }
}

Config

  • defaultMod:
    • 表示ひょうじだま认查找controllerてきJSぶんけん
  • server:
    • 表示ひょうじてきresponse headersちゅうてきserverだん
  • apiTimeOut:
    • 表示ひょうじ访问せっこうてきちょう时时间
  • merge(完成かんせい):
    • 表示ひょうじあい并CSSJS;
  • debug:
    • 此字だん为true时:HTML、CSSJS压缩,せい态资げん缓存;
  • なま产环さかい
    • なま产环さかい,应先はたless编译、JS压缩传至cdn or Nginx,如果更改こうかいHTMLてき引入みちそく;这时需要じゅよう此静态文けんふく务器りょう

FAQ

  • 查看DOC.md
  • Contact me: xudeming208@126.com

About

ようnodejs开发てきいち套基于URIてきMVCかまち,适用于前きさきはしぶん离项

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published