首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
Coding
V2EX  ›  奇思妙想

将 WordPress 前后端分离

  •  
  •   artoostark · 2018-04-25 11:40:39 +08:00 · 4146 次点击
    这是一个创建于 597 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前些时间,发现两个真正的 WordPress 静态化插件—— Simply Static ( https://wordpress.org/plugins/simply-static/) 和 WP Static HTML Output ( https://wordpress.org/plugins/static-html-output-plugin/)。

    于是我就在想,是否可以把用来发布内容的站点作为后端,而输出的静态 HTML 作为前端主站?

    跟别人讨论了一下,我的思路基本都被赞成。

    以下是讨论内容,顺序有点乱,不喜勿喷。

    我在想,是不是可以把发布内容的网站改域名作为后端,比如 admin.demo.com
    我最近在找纯静态化插件,发现这两个.这个插件生成的 HTML 静态文件,可以用 www 域名绑定。
    图片,JS,CSS 等托管到第三方,或者自己的专用服务器上。
    再套一些 CDN,做就近部署,主动分发到离用户最近的节点上。
    这样做的话,真正发布内容的网站压力就小很多。
    只需要关注专门的 HTML 静态文件的服务器,和托管图片、JS、CSS 的服务器。
    当然,它们也可以放在一台服务器上面。
    蛮适合媒体网站。不过,要考虑评论等交互的问题,到时候可能只能用第三方评论。
    大部分人只是浏览,不怎么发评论做交互,压力很小。
    最后说一下,插件生成的内容里,没有给搜索引擎看的 sitemap.xml 文件。
    插件可能需要改造一下,或者直接给作者反馈。
    另外,需要手动加 robots 文件,不加也可以。
    改造完成以后,以后对后端的操作失误,应该不会影响到前端内容的展示。

    这个方案比较适合中大型网站,暂时还没有仔细研究,说出来听一听大家的意见。
    19 回复  |  直到 2018-05-01 23:32:17 +08:00
        1
    edsheeran   2018-04-25 11:55:49 +08:00
        2
    artoostark   2018-04-25 11:57:33 +08:00
    @edsheeran 我用了 Redis 和 Memcached。这个不太适合我,我知道这个插件。
        3
    night98   2018-04-25 11:59:42 +08:00 via Android
    在用 wpsupercache,小站够用了。
        4
    artoostark   2018-04-25 12:00:51 +08:00
    @night98 所以最后一句是:这个方案比较适合中大型网站。
        5
    just1   2018-04-25 12:02:15 +08:00 via Android
    想法是没问题的,但是改完这还是 wp 吗
    还不如重写。。
        6
    artoostark   2018-04-25 12:03:59 +08:00
    @just1 是啊。WordPress 生态圈好啊。不想自己完全重写。
        7
    wangding85   2018-04-25 12:41:28 +08:00 via iPhone
    之前搞过类似的,但是发现服务端改动太大,已经脱离 WP 框架变成写 php 的 api 了。之后采取了 twig 这个模版语言,好歹不用 php 和 html 混写
        8
    artoostark   2018-04-25 13:17:44 +08:00
    @wangding85 看介绍还行。
        9
    qiaobeier   2018-04-25 14:10:17 +08:00
    看标题我还以为在讨论 wp 的 restful api
        10
    qiaobeier   2018-04-25 14:14:13 +08:00
    另外你说的这些功能很像这个产品 https://getshifter.io
        11
    artoostark   2018-04-25 16:07:03 +08:00
    @qiaobeier 进去看了一下,WordPress 是部署在它上面,不太想要这种。
        12
    qiaobeier   2018-04-25 16:15:30 +08:00
    @artoostark 我只是说功能和你说的有点像,也就是 wp 使用和创建生成的文件在 2 个地方,生成文件后自动发布到 aws,完全静态化。但他这个产品功能很不完善,也许我试用的免费版本的关系。
        13
    night98   2018-04-25 17:15:50 +08:00
    你这个说实话其实基本等于 hexo,hugo 这类静态页面生成器了,这样的话就失去了 php 的特点呢。
        14
    shootsoft   2018-04-25 21:14:33 +08:00 via iPhone
    首先,要看你是怎么定义“大中型网站”的,如果只是有很多页面,你可以试试,当页面数量达到几十万的时候,全站更新效率就会比较低。如果是有很多用户交互行为,频繁更新整个页面,性能和体验可能不如用 redis 或者 memcache 好。
        15
    artoostark   2018-04-25 21:26:44 +08:00
    @shootsoft 如果整体更新一遍确实蛋疼。只能针对性的对有变动的内容做更新。
        16
    meathill   2018-04-25 22:58:48 +08:00
    中大型的网站直接上 CDN 就可以了,对静态化的需求不是很大。如果小型网站,七牛每月 10G 流量差不多也够了。
        17
    flynaj   2018-04-26 13:02:45 +08:00 via Android
    分离开就是静态网了,那你不如用其它 cms,dedecms 之类的。
        18
    hoythan   2018-04-30 04:30:45 +08:00
    如果需要用到 wp 前后端分离的话。。。
    https://github.com/hoythan/DFOXA-WordPressAPI
        19
    artoostark   2018-05-01 23:32:17 +08:00
    @hoythan 好像还不错。
    有兴趣加入我们的 WordPress 社区么?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1211 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 23:55 · PVG 07:55 · LAX 15:55 · JFK 18:55
    ♥ Do have faith in what you're doing.