CloudFlare上的静态WordPress托管将为您的网站提供最快的页面加载速度 - 它完全免费!
是和否。如果您有一个简单的WordPress网站,您可以使用它来显示内容,那么这将很好。如果您使用评论,电子商务,任何导致Post Request的内容,那么这将无法正常工作。
CloudFlare作为缓存代理开始生活,但在某些点发布的页面上允许您部署GitHub项目并在CloudFlare上托管它。它与静态内容确实很好,并将在没有服务器侧处理的情况下快速提供您的内容。
相比之下的WordPress是一个在PHP和MySQL上运行的服务器端应用程序。每个请求由PHP处理,该PHP查询DB并使用页面响应。页面性能根据插件/主题复杂性/服务器拥塞等的数量而下降。
因此,为了在CloudFlare上“主机”WordPress,您需要在本地运行WordPress,编写您的帖子,然后将您的网站导出为将部署到CloudFlare的静态内容集。
如果您已经在Web上运行WordPress,则可以跳过(如果要仍需支付托管),只需将您的网站移动到像https://edit.myblog.com这样的子域。
如果您不想支付托管,那么每次想要制作博客文章或选择新主题时,您需要在本地运行WordPress。这是静态WordPress托管的主要缺点 - 您无法避免在进行更改时在某处运行堆栈。
我将使用Docker演示这一点,因为它更容易获得这种方式运行的WordPress环境。如果您已在本地计算机上运行WordPress,您仍然可以执行此操作。它假设您的主站点使用HTTPS(您完全总是这样做,对吧?)
这需要进行调整,以便可以正确地从WordPress正确转储文件。首先是nginx override,以便该网站在端口8000上内部运行。这应该
为此工作,您还需要一个端口定义,因此Apache知道要倾听它:
这些文件应将这些文件安装在docker-compose.yml文件中的WordPress容器中,因此您应该最终以这样的完整文件:
版本:" 3"服务:db:container_name:site_mysql图片:5.7卷: - ./db_data:/var/lib/mysql #persist mysql数据当地重新启动:始终环境:mysql_root_password:password mysql_database:site_wp mysql_user:site_wp mysql_password:password wordpress:contain_name :site_wordpress indeds_on: - dB图像:wordpress:最新卷: - ./ wordpress_data:/var/www/html#持续WordPress文件在本地 - ./ports.conf:/etc/apache2/ports.conf#完成允许静态站点生成工作 - ./000-default.conf:/etc/apache2/sites-enabled/000-default.conf端口: - " 8000:8000"重启:始终环境:wordpress_db_host:db:3306 wordpress_db_user:site_wp wordpress_db_password:password wordpress_db_name:site_wp
此时,您将编写要发布的任何博客文章,设置主题,插件等,直到您已准备好部署到Web。
您需要安装简单的静态插件以将您的网站导出为静态集HTML。
转到“生成”菜单,然后单击“生成静态文件”。等待完成过程,您应该最终与您的WordPress网站导出到./wordpress_data/static。
CloudFlare要求您从Github Repo推送它。这是免费的,因此您只需要登录GitHub并创建一个新的私人回购:
这将忽略MySQL和WordPress创建的所有文件,除了简单静态的静态HTML文件。
选择您将代码推入并继续的存储库。设置构建配置时选择:
这将告诉CloudFlare只是抓取静态输出,该静态输出被推到主分支并曝光。
完成后,请让Build运行和您的网站在yoursite.pages.dev中可见。如果要使用自定义域,请立即设置CNAME记录并将其指向该URL。
WordPress很棒,但由于其成为服务器端呈现的网站的性质,可以缓慢。如果您没有一个主要只是内容的复杂网站,您可以通过在本地写入博客并将其发布到CloudFlare来实现大量增长并为静态WordPress托管付款。