docker与phpstudy两种方式部署wordpress 并 开启伪静态

实际测试,可能是docker内存限制的缘故,docker部署的会比较卡

下载

wordpress
phpstudy
phpstudy中伪静态配置

伪静态

正常访问 WordPress 文章页的 URL 地址为 http://asa/index.php?p=123。变成伪静态就是http://asa/123.html 。
伪静态是相对真实静态来讲的,真实静态会生成一个html或htm后缀的文件,访客能够访问到真实存在的静态页面,而伪静态则没有生成实体静态页面文件,而仅仅是以.html一类的静态页面形式,但其实是用PHP程序动态脚本来处理的,这就是伪静态。
真实静态通常是为了更好的缓解服务器压力,和增强搜索引擎的友好面,所以都将网页内容生成静态页面。但最大缺陷是每次在网站后台修改网页内容都需要重新生成静态页面,无法实时显示更新的内容,而久之网站内容多了,占用的空间大小以及每次生成静态页面所耗费的服务器资源也不容小觑(有出现内容过多且一次性生成静态页面而导致服务器崩溃的案例)。
由于伪静态是用正则判断需要跳转到的页面而不是真实页面地址,分辨到底显示哪个页面的责任也由直接指定转由服务器CPU来判断了,所以CPU占有量的上升,确实是伪静态最大的弊病。
WordPress 伪静态就是把默认的动态链接转变成静态链接的操作。常见的搜索引擎对于动态链接和静态链接是一视同仁的,都会很好的收录。不过为了更美观、直白,和对搜索引擎更友好,还是建议大家使用 wordpress伪静态链接。
伪静态页面其本质还是动态页面,在用户访问时调用数据库的文章内容,如果网站访问量很大的话,会造成服务器负担重。这时候就需要缓存插件了。
linux服务器可通过使用 Memcached可以把网站文章缓存到内存中。是服务器层面的缓存加速,生成的内容放在内存中。因为是在内存中,所以访问速度较快
Wordpress也有很多缓存插件可以实现静态页面。比如 wp-supercache插件。这款插件能够生成html文件,用户访问到的是真正的html文件。生成的文件放在硬盘中。
wp设置伪静态需要2步:

  1. 设置WP的管理页面,让WP本身支持伪静态;
  2. 调整服务器设置,让服务器支持伪静态;

phpstudy部署

下载wp 6.3.1 版本后,建议php版本高于7.4。mysql我使用的8.0
首先用ev搜索找到mysql.exe。在终端中登录数据库

mysql -u root -p
// 密码为root
show databases;
// 删除多余的数据库
drop database qyj;
// 新建数据库
CREATE DATABASE IF NOT EXISTS qyj
DEFAULT CHARACTER SET utf8mb4
DEFAULT COLLATE utf8mb4_general_ci;

把下载的wp压缩包解压,连接好数据库
为了避免配置过程中出现权限等问题,以管理员身份运行phpstudy
在phpstudy中启动nginx,并配置网站
在这里插入图片描述
配置伪静态 try_files $uri $uri/ /index.php?$args;
在这里插入图片描述

也可以直接在nginx的配置文件中配置,之后执行nginx -s reload

 location / {
    index index.php index.html index.htm;
    try_files $uri $uri/ /index.php?$args;
}

在这里插入图片描述
在后台中修改伪地址为自己的格式
在这里插入图片描述
也可以自定义结构 /%post_id%.html

docker部署

docker可直接用docker-compose.yml

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 82:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    volumes:
      - ./wplearn/data:/var/www/html

  db:
    image: mysql:8.0-debian
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    volumes:
      - ./wplearn/db:/var/lib/mysql

补充

如果只wp开启了伪地址,但是在nginx中没有开启伪静态,遇到的情况会是,只有主页能正常访问,但是其它页面在提交的时候,会提示 “此响应不是合法的JSON响应”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/97511.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【seaweedfs】3、f4: Facebook’s Warm BLOB Storage System 分布式对象存储的冷热数据

论文地址 Facebook的照片、视频和其他需要可靠存储和快速访问的二进制大型对象(BLOB)的语料库非常庞大,而且还在继续增长。随着BLOB占用空间的增加,将它们存储在我们传统的存储系统-- Haystack 中变得越来越低效。为了提高我们的存储效率(以Blob的有效复…

XML—标记语言

什么是XML? Extensible Markup Language,可扩展标记语言。 那标记语言是什么? 用文字做标记表达一些效果或携带一些数据。比如:HTML、XML 我的理解:用倾盆大雨表达雨很大 那XML为什么说是可扩展的呢? 还…

国产系统下开发QT程序总结

国产系统下开发QT程序总结 1. 国产系统简介 开发国产系统客户端的过程中,会出现兼容性问题。以下介绍Kylin和UOS环境下开发QT程序, 首先麒麟和统信这两个系统基于Ubuntu开发的。所以在Ubuntu开发理论上在国产系统上也能运行。芯片架构又分为amd,arm,mi…

持续性能优化:确保应用保持高性能

在当今数字化时代,应用程序的性能已经成为用户体验和业务成功的关键因素之一。无论是Web应用、移动应用还是企业级软件,用户对于速度和响应性的要求越来越高。因此,持续性能优化已经成为保证应用在竞争激烈的市场中脱颖而出的重要策略。 什么…

【CSS】解决对齐的小问题

问题: 表单或者页面上可能遇到文字无法对平均分,带有冒号的文本无法左右对齐的情况 常见的解决方式: 解决如下图 仍无法解决对齐的问题,还需要考虑字数 解决 这里用css的方式解决 增加 i 标签 固定宽度,设置 i …

Python股票交易---均值回归

免责声明:本文提供的信息仅用于教育目的,不应被视为专业投资建议。在做出投资决策时进行自己的研究并谨慎行事非常重要。投资涉及风险,您做出的任何投资决定完全由您自己负责。 在本文中,您将了解什么是均值回归交易算法&#xff…

Leetcode每日一题:1448. 统计二叉树中好节点的数目

原题 给你一棵根为 root 的二叉树,请你返回二叉树中好节点的数目。 「好节点」X 定义为:从根到该节点 X 所经过的节点中,没有任何节点的值大于 X 的值。 示例 1: 输入:root [3,1,4,3,null,1,5] 输出:4 解…

微服务(rpc)

微服务(rpc) 微服务必备的模块生产者消费者管理平台流量控制集群情况下如何做到流量监控 负载均衡服务发现和治理序列化传输序列化和反序列化 微服务是一种架构风格,将一个应用程序拆分为一组小型、独立的服务,每个服务都可以独立…

Elasticsearch 集成---框架集成SpringData-集成测试-索引操作

1.Spring Data 框架介绍 Spring Data 是一个用于简化数据库、非关系型数据库、索引库访问,并支持云服务的 开源框架。其主要目标是使得对数据的访问变得方便快捷,并支持 map-reduce 框架和云计 算数据服务。 Spring Data 可以极大的简化 JPA &a…

GraphQL渗透测试案例及防御办法

什么是GraphQL GraphQL 是一种 API 查询语言,旨在促进客户端和服务器之间的高效通信。它使用户能够准确指定他们在响应中所需的数据,从而有助于避免有时使用 REST API 看到的大型响应对象和多个调用。 GraphQL 服务定义了一个合约,客户端可…

Java【手撕滑动窗口】LeetCode 3. “无重复字符的最长子串“, 图文详解思路分析 + 代码

文章目录 前言一、长度最小子数组1, 题目2, 思路分析3, 代码 前言 各位读者好, 我是小陈, 这是我的个人主页, 希望我的专栏能够帮助到你: 📕 JavaSE基础: 基础语法, 类和对象, 封装继承多态, 接口, 综合小练习图书管理系统等 📗 Java数据结构: 顺序表, 链…

pytest pytest.ini 配置日志输出至文件

创建pytest.ini 文件 [pytest] log_file pytest_log.txt log_file_level INFO log_file_date_format %Y-%m-%d %H:%M:%S log_file_format %(asctime)s | %(filename)s | %(funcName)s | line:%(lineno)d | %(levelname)s | %(message)s import pytest import loggingdef …

华为OD机试 - 租车骑绿道 - 双指针(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、解题思路1、输入2、输出3、说明4、双指针算法 五、Java算法源码六、效果展示 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 一、题目描述 部门组织绿岛骑行团建活动,租用公共双人自行车骑行,…

谈谈对OceanBase单机分布式一体化的思考

关于作者: 杨传辉,OceanBase CTO。2010 年作为创始成员之一加入 OceanBase 团队,主导了 OceanBase 历次架构设计和技术研发,从无到有实现 OceanBase 在蚂蚁集团全面落地。同时,他也主导了两次 OceanBase TPC-C 测试并打…

Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分离)【四】

😀前言 本篇博文是关于Spring Boot(Vue3ElementPlusAxiosMyBatisPlusSpring Boot 前后端分离)【四】,希望你能够喜欢 🏠个人主页:晨犀主页 🧑个人简介:大家好,我是晨犀,希望我的文章…

JavaScript设计模式(一)——构造器模式、原型模式、类模式

个人简介 👀个人主页: 前端杂货铺 🙋‍♂️学习方向: 主攻前端方向,正逐渐往全干发展 📃个人状态: 研发工程师,现效力于中国工业软件事业 🚀人生格言: 积跬步…

JVM 是怎么设计来保证new对象的线程安全

1、采用 CAS 分配重试的方式来保证更新操作的原子性 2、每个线程在 Java 堆中预先分配一小块内存,也就是本地线程分配缓冲(Thread Local AllocationBuffer,TLAB),要分配内存的线程,先在本地缓冲区中分配&a…

【高危】Apache Airflow Spark Provider 反序列化漏洞 (CVE-2023-40195)

zhi.oscs1024.com​​​​​ 漏洞类型反序列化发现时间2023-08-29漏洞等级高危MPS编号MPS-qkdx-17bcCVE编号CVE-2023-40195漏洞影响广度广 漏洞危害 OSCS 描述Apache Airflow Spark Provider是Apache Airflow项目的一个插件,用于在Airflow中管理和调度Apache Spar…

16、Flink 的table api与sql之连接外部系统: 读写外部系统的连接器和格式以及Elasticsearch示例(2)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…

深度学习4. 循环神经网络 – Recurrent Neural Network | RNN

目录 循环神经网络 – Recurrent Neural Network | RNN 为什么需要 RNN ?独特价值是什么? RNN 的基本原理 RNN 的优化算法 RNN 到 LSTM – 长短期记忆网络 从 LSTM 到 GRU RNN 的应用和使用场景 总结 百度百科维基百科 循环神经网络 – Recurre…