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

news2024/12/26 16:25:07

实际测试,可能是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响应”

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA2021之后没有Show in Explorer,无法直接打开文件夹,被迁移了

2020版本和更早的版本 目录右键之后,可以出现Show in Explorer。 2021版本和更新的版本 快捷键直接到文件的地址 参考文档

CRM线索公海如何管理?

对于销售和CRM客户管理而言,公海线索的管理极为重要,今天本文将告诉大家: 1、如何合理设置公海线索规则和流程?2、手把手教你完成公海管理系统的搭建 关于CRM的公海管理问题,需要根据企业的具体情况和销售流程来设置…

【网络BSP开发经验】Linux gmac驱动调试

文章目录 Linux网络设备驱动简介Linux网卡驱动网络协议接口层网络设备接口层设备驱动功能层网络设备与媒介层linux驱动数据结构linux驱动注册过程网络设备驱动的注册与注销linux驱动数据包收发流程 Linux PHY驱动MDIO接口PHY简介PHY关联过程PHY状态机对端MAC情况(接…

多个pdf怎么合并成一个pdf?几个超实用方法分享

多个pdf怎么合并成一个pdf?合并多个PDF文件可以使得它们更容易管理和分享。这特别是那些需要以PDF格式与其他人共享文件的人来说是非常有用的。例如,如果你需要将多个文档或报告打包为一个文件并发送给客户或同事,将它们合并为一个PDF文件是非…

14、监测数据采集物联网应用开发步骤(10)

监测数据采集物联网应用开发步骤(9.2) Modbus rtu协议开发 本章节在《监测数据采集物联网应用开发步骤(7)》基础上实现可参考《...开发步骤(7)》调试工具,本章节代码需要调用modbus_tk组件,阅读本章节前建议baidu熟悉modbus rtu协议内容 组件安装modb…

【同步异步可并发日志系统】设计及实现

1. 项⽬介绍2. 开发环境3. 项目核⼼技术4. 环境搭建5. ⽇志系统介绍5.1 为什么需要⽇志系统5.2⽇志系统技术实现5.2.1 同步写⽇志5.2.2 异步写⽇志 6. ⽇志系统框架设计7. 代码设计7.1 实⽤类设计7.2 ⽇志等级类设计7.3 ⽇志消息类设计7.4 ⽇志格式化输出设计思想7.4.1FormatIt…

OpenLayers7官方文档翻译,OpenLayers7中文文档,OpenLayers快速入门

快速入门 这个入门文档向您展示如何放一张地图在web网页上。 开发设置使用 NodeJS(至少需要Nodejs 14 或更高版本),并要求安装 git。 设置新项目 开始使用OpenLayers构建项目的最简单方法是运行:npm create ol-app npm create…

中大许少辉博士后畅销榜《乡村振兴战略下传统村落文化旅游设计》自由营 ​​​

中大许少辉博士后畅销榜《乡村振兴战略下传统村落文化旅游设计》自由营 ​​​

Visual Studio(2022)生成链接过程的.map映射文件以及.map映射文件的内容说明

微软的官方说明 /MAP(生成映射文件) | Microsoft Learn 设置步骤 1. 右键项目属性, 连接器 -> 常规 -> 启用增量链接,设置为否。如下图: 2. 连接器 -> 调试 生成调试信息 设置为 生成调试信息 (/DEBUG) 生成程序数据库…

这一天,中国企业一同吹响数字化集结号

买一双袜子平均只要3天就可以收到货。 点一份外卖最快20分钟就可以送达。 消费互联网十年轰轰烈烈的发展,带来了全国商品的大流通,极大丰富了我们的物质消费生活,也为传统线下商家带来成百上千倍的增长。 消费互联网的流量鼎盛期过后&#xf…

无入侵接口文档smart-doc

Smart-doc优点&#xff1a; 1.非侵入式生成接口文档 2.减少接口文档的手动更新麻烦&保证了接口文档和代码的一致 3.随时可生成最新的接口文档 4.保持团队代码风格一致:smart-doc支持javadoc&#xff0c;必须按照这个才能生成有注释的接口文档 最终效果 1.导入依赖 <pl…

ssm+vue人力资源管理系统源码和论文

ssmvue人力资源管理系统源码和论文098 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 系统目标 本系统主要目标是对大中型公司所设计&#xff0c;是对人力资源的科学化的管理&#xff0c;使信息存储达到精确…

2024年java面试(四)--spring篇

文章目录 1.BeanFactory 和 FactoryBean 的区别2.BeanFactory和ApplicationContext有什么区别?3.RequestBody、RequestParam、ResponseBody4.cookie和session的区别5.Servlet的生命周期6.Jsp和Servlet的区别7.SpringMvc执行流程8.RequestMapping是怎么使用9.如果一个接口有多个…

Android 蓝牙开发( 二 )

前言 上一篇文章给大家分享了Android蓝牙的基础知识和基础用法&#xff0c;不过上一篇都是一些零散碎片化的程序&#xff0c;这一篇给大家分享Android蓝牙开发实战项目的初步使用 效果演示 : Android蓝牙搜索&#xff0c;配对&#xff0c;连接&#xff0c;通信 Android蓝牙实…

数据包的处理流程

一个数据包从发送到接收都经历了那些过程 1.启动应用程序新建邮件&#xff0c;将收件人邮箱和邮件内容填写好&#xff0c;应用程序进行编码处理。&#xff08;应用层&#xff09; 2.应用在发送邮件那一刻建立TCP连接&#xff08;三次握手&#xff09;&#xff0c;将数据交给传…

在Nodejs中使用JWT进行鉴权

什么是 JSON Web Token&#xff08;JWT&#xff09;&#xff1f; JSON Web Token&#xff08;JWT&#xff09;是一种用于在web上传递信息的标准&#xff0c;它以JSON格式表示信息&#xff0c;通常用于身份验证和授权。 JWT由三个部分组成&#xff1a;Header&#xff08;头部&…

五、MySQL(DML)如何连接到DataGrip?并显示所有数据库?

前提&#xff1a;已经配置好DataGrip&#xff0c;并创建好一个项目&#xff1a; 1、选择数据库&#xff1a; 点击左上角加号&#xff0c;再选择数据源&#xff0c;选择MySQL数据源&#xff1a; 2、填写信息&#xff1a; 用户栏填写&#xff1a;root 密码填写&#xff1a;你…

算法设计 || 第9题:0-1背包问题动态规划(手写例题+源代码)

&#xff08;一&#xff09;背包问题知识点&#xff1a; &#xff08;二&#xff09;经典测试题&#xff1a; 已知n8种&#xff0c;每种一件。背包最大负载M110。 重量w和价值v如下表&#xff0c;怎样装价值最大?贪心算法 求X[N]最优解&#xff0c;写出求解过程;强化为0/1背包…

基于clip驱动的器官分割和肿瘤检测通用模型

论文&#xff1a;https://arxiv.org/abs/2301.00785 我看这篇主要是看看MRI的多模态融合方法的&#xff0c;所以会略一些东西&#xff0c;感兴趣细节的就翻原文好嘞 摘要 越来越多的公共数据集在自动器官分割和肿瘤检测方面显示出显著的影响。然而&#xff0c;由于每个数据集…