当前位置: 首页 > news >正文

利用 LNMP 实现 WordPress 站点搭建

部署MySQL数据库

在主机192.168.138.139主机部署数据库服务

包安装数据库

apt-get install mysql-server

创建wordpress数据库和用户并授权

mysql> create database wordpress;#MySQL8.0要求指定插件
mysql> create user wordpress@'192.168.138.%' identified with mysql_native_password
by '123456';mysql> grant all on wordpress.* to wordpress@'192.168.138.%';

进入这个配置文件注释实现远程连接

验证

编译部署PHP

在192.168.138.140主机部署php-fpm服务

包安装PHP

apt install php-fpm

修改配置文件

进入配置文件

 默认本地访问,现在开启远程端口连接

打开状态页

 

修改主配置文件,修改上传文件大小

vim /etc/php/8.3/fpm/php.ini 

 

服务重启 

 systemctl restart php8.3-fpm.service

 查看端口,已成功开启

ss -ntl

安装连接数据库模块

apt install php-mysql

部署 Nginx

在192.168.138.140主机部署Nginx服务

编译安装 nginx
 

#下载安装包
wget https://nginx.org/download/nginx-1.27.2.tar.gz#安装nginx之前,安装一下工具
sudo apt update
sudo apt-get install libpcre3-dev
sudo apt-get install ruby
sudo apt-get install zlib1g-dev
sudo apt-get install libssl-dev#解压
tar -zxvf nginx-1.27.2.tar.gz
cd nginx-1.27.2/#编译
./configure  --with-http_ssl_module#安装
make && make install#启动和重启
sudo /usr/local/nginx/sbin/nginx #启动
sudo /usr/local/nginx/sbin/nginx -s stop #停止
sudo /usr/local/nginx/sbin/nginx -s reload #重启

写入环境变量

只给当前用户永久添加环境变量:vim ~/.bashrc

文件末尾添加:export PATH="/usr/local/nginx/sbin/:$PATH"

然后执行:source ~/.bashrc

配置Nginx支持PHP

修改nginx.conf

修改nginx的配置文件:vim /usr/local/nginx/conf/nginx.conf

worker_processes 1;events {worker_connections 1024;
}
http {include mime.types;default_type application/octet-stream;sendfile on;keepalive_timeout 65;server {listen 80;server_name www.caijun.org; #指定主机名location / {root /data/php; #因为PHP会从这个文件夹读取图片视频等文件,所以需与下方保持一致index index.php index.html index.htm; #指定默认主页}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}location ~ \.php$ { #实现php-fpmroot /data/php;  #指定数据目录 fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}location ~ ^/(ping|pm_status)$ { #实现状态页include fastcgi_params;fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name; 此配置也可以}}
}配置解析
worker_processes 和 events 配置块:worker_processes 1;:指定 Nginx 使用的工作进程数,这里设置为 1。
worker_connections 1024;:每个工作进程允许的最大并发连接数。
http 配置块:include mime.types;:加载标准 MIME 类型。
default_type application/octet-stream;:默认文件类型。
sendfile on;:启用高效文件传输。
keepalive_timeout 65;:保持连接的超时时间为 65 秒。
server 配置块:listen 80;:监听 80 端口(HTTP)。
server_name www.wang.org;:指定主机名。
根路径和主页:
root /data/php;:根目录为 /data/php。
index index.php index.html index.htm;:默认主页文件按顺序查找。
错误页面配置:
error_page 500 502 503 504 /50x.html;:自定义 50x 错误页面。
对应的错误页面路径配置为 location = /50x.html,根目录为 html。
PHP 支持:location ~ \.php$:处理所有以 .php 结尾的请求。
配置了 fastcgi_pass 指向 127.0.0.1:9000,表示 PHP-FPM 在本地的监听地址。
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;:设置 PHP 脚本路径。
状态页支持:location ~ ^/(ping|pm_status)$:匹配路径 /ping 或 /pm_status。
通过 fastcgi_pass 将请求转发到 PHP-FPM 进行处理。
注释掉的 fastcgi_param PATH_TRANSLATED 也是一种可选方式。

注意事项

  • 确保 PHP-FPM 服务运行并监听在 127.0.0.1:9000
  • 确保 /data/php 目录存在并有适当的权限。
  • 检查 fastcgi_params 文件路径是否正确。
nginx -t  #检查语法nginx -s reload  #重新加载配置文件 

 

部署 WordPress

在192.168.138.140主机部署 wordpress

准备 WordPress 文件

#下载Wordpress
wget https://cn.wordpress.org/latest-zh_CN.zip#解压Wordpress
unzip latest-zh_CN.zip#移动Wordpress文件到指定目录(配置文件指定的目录)
mv wordpress/* /data/php/#因为是用PHP进行读写这个文件夹,所以改成www-data
chown -R www-data:www-data /data/php/

安装验证

相关文章:

利用 LNMP 实现 WordPress 站点搭建

部署MySQL数据库 在主机192.168.138.139主机部署数据库服务 包安装数据库 apt-get install mysql-server 创建wordpress数据库和用户并授权 mysql> create database wordpress;#MySQL8.0要求指定插件 mysql> create user wordpress192.168.138.% identified with mys…...

模块化架构与微服务架构,哪种更适合桌面软件开发?

前言 在现代软件开发中,架构设计扮演着至关重要的角色。两种常见的架构设计方法是模块化架构与微服务架构。它们各自有独特的优势和适用场景,尤其在C#桌面软件开发领域,模块化架构往往更加具有实践性。本文将对这两种架构进行对比&#xff0…...

2025.1.17——1200

2025.1.17——1200 Q1. 1200 Jellyfish has n n n green apples with values a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1​,a2​,…,an​ and Gellyfish has m m m green apples with values b 1 , b 2 , … , b m b_1,b_2,\ldots,b_m b1​,b2​,…,bm​. They will …...

vite工程化

Vite 通过直接利用浏览器的模块加载能力、将 CommonJS 模块转换为 ES 模块并缓存结果、基于原生 ES 模块的 HMR 以及对 TypeScript 的直接支持,提供了更快的开发体验和更高的开发效率。 1.直接利用浏览器模块加载功能 更快加载速度:不需要打包&#xf…...

Mysql常见问题处理集锦

Mysql常见问题处理集锦 root用户密码忘记,重置的操作(windows上的操作)MySQL报错:ERROR 1118 (42000): Row size too large. 或者 Row size too large (> 8126).场景:报错原因解决办法 详解行大小限制示例:内容来源于网…...

Android SystemUI——CarSystemBar添加到窗口(十)

上一篇文章我们看到了车载状态栏 CarSystemBar 视图的创建流程,这里我们继续分析将车载状态栏添加到 Windows 窗口中。 一、添加状态栏到窗口 前面我们已经分析了构建视图对象容器和构建视图对象内容,接下来我们继续分析 attachNavBarWindows() 方法将视…...

《重生到现代之从零开始的C++生活》—— 类和对象1

类 我嘞个豆,类可是太重要了,简直是重中之重 class为定义类的关键字,stack为类的名字,{}为类的主题 class stack {void add (int a,int b){return ab;}//类的方法,成员函数int _c;int _d;//类的属性,成…...

《FMambaIR:一种基于混合状态空间模型和频域的方法用于图像恢复》学习笔记

paper:(PDF) FMambaIR: A Hybrid State Space Model and Frequency Domain for Image Restoration 目录 摘要 一、引言 二、相关工作 1、图像恢复 2、频率学习 3、状态空间模型(SSM) 三、框架 1、基本知识 2、整体框架 3、F-Mamba…...

每日十题八股-2025年1月18日

1.服务器处理并发请求有哪几种方式? 2.讲一下io多路复用 3.select、poll、epoll 的区别是什么? 4.epoll 的 边缘触发和水平触发有什么区别? 5.redis,nginx,netty 是依赖什么做的这么高性能? 6.零拷贝是什么…...

海康威视摄像头RTSP使用nginx推流到服务器直播教程

思路: 之前2020年在本科的时候,由于项目的需求需要将海康威视的摄像头使用推流服务器到网页进行直播。这里将自己半个月琢磨出来的步骤给大家发一些。切勿转载!!!! 使用网络摄像头中的rtsp协议---------通…...

搭建一个基于Spring Boot的书籍学习平台

搭建一个基于Spring Boot的书籍学习平台可以涵盖多个功能模块,例如用户管理、书籍管理、学习进度跟踪、笔记管理、评论和评分等。以下是一个简化的步骤指南,帮助你快速搭建一个基础的书籍学习平台。 — 1. 项目初始化 使用 Spring Initializr 生成一个…...

Go 语言的slice是如何扩容的?

Go 语言中的 slice 是一种灵活、动态的视图,是对底层数组的抽象。当对 slice 进行追加元素等操作导致其长度超过容量时,就会发生扩容。 一、扩容的基本原理 当 slice 需要扩容时,Go 语言会根据当前的容量来确定新的容量。一般来说&#xff…...

Apache Hive--排序函数解析

在大数据处理与分析中,Apache Hive是一个至关重要的数据仓库工具。其丰富的函数库为数据处理提供了诸多便利,排序函数便是其中一类非常实用的工具。通过排序函数,我们能够在查询结果集中为每一行数据分配一个排名值,这对于数据分析…...

Java 接口安全指南

Java 接口安全指南 概述 在现代 Web 应用中,接口(API)是前后端交互的核心。然而,接口的安全性常常被忽视,导致数据泄露、未授权访问等安全问题。本文将详细介绍 Java 中如何保障接口安全,涵盖以下内容&am…...

合合信息名片全能王上架原生鸿蒙应用市场,成为首批数字名片类应用

长期以来,名片都是企业商务沟通的重要工具。随着企业数字化转型,相较于传统的纸质名片,数字名片对于企业成员拓展业务、获取商机、提升企业形象等方面发挥着重要作用。近期,合合信息旗下名片全能王正式上线原生鸿蒙应用市场&#…...

38.【3】CTFHUB web sql 报错注入

进入靶场 按照提示输入1 显示查询正确 既然是报错注入,先判断整形还是字符型注入 先输入1 and 11 再输入1 and 12 都显示查询正确,可知此为字符串型注入,不是数字型注入 然后就不会了 求助AI和其他wp 由以上2张搜索结果知updatexml是适用…...

RC2在线加密工具

RC2是由著名密码学家Ron Rivest设计的一种传统对称分组加密算法,它可作为DES算法的建议替代算法。RC2是一种分组加密算法,RC2的密钥长度可变,可以从8字节到128字节,安全性选择更加灵活。 开发调试上,有时候需要进行对…...

NVIDIA 下 基于Ubuntun20.04下 使用脚本安装 ros2-foxy 和 使用docker安装 ros2-foxy

一、前提介绍: 本文主要采用两种方式在NVIDIA 下基于 Ubuntun20.04安装 ros2-foxy。 使用环境: NVIDIA 为 Jetson 系列下 Jetson Xavier NX; Ubuntun版本:20.04 二、安装方法: 1、使用脚本编译方式: 使…...

STL容器-- list的模拟实现(附源码)

STL容器-- list的模拟实现(附源码) List的实现主要考察我们对list这一容器的理解,和代码的编写能力,通过上节对list容器的使用,我们对list容器已经有了一些基本的了解,接下来就让我们来实现一些list容器常见…...

python——句柄

一、概念 句柄指的是操作系统为了标识和访问对象而提供的一个标识符,在操作系统中,每个对象都有一个唯一的句柄,通过句柄可以访问对象的属性和方法。例如文件、进程、窗口等都有句柄。在编程中,可以通过句柄来操作这些对象&#x…...

基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录,但是由于这个树组件的节点越来越多,导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多,导致的浏览器卡顿,这里很明显就需要用到虚拟列表的技术&…...

Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?

Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...

PHP 8.5 即将发布:管道操作符、强力调试

前不久,PHP宣布了即将在 2025 年 11 月 20 日 正式发布的 PHP 8.5!作为 PHP 语言的又一次重要迭代,PHP 8.5 承诺带来一系列旨在提升代码可读性、健壮性以及开发者效率的改进。而更令人兴奋的是,借助强大的本地开发环境 ServBay&am…...

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析

Java求职者面试指南:Spring、Spring Boot、Spring MVC与MyBatis技术解析 一、第一轮基础概念问题 1. Spring框架的核心容器是什么?它的作用是什么? Spring框架的核心容器是IoC(控制反转)容器。它的主要作用是管理对…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...

基于开源AI智能名片链动2 + 1模式S2B2C商城小程序的沉浸式体验营销研究

摘要:在消费市场竞争日益激烈的当下,传统体验营销方式存在诸多局限。本文聚焦开源AI智能名片链动2 1模式S2B2C商城小程序,探讨其在沉浸式体验营销中的应用。通过对比传统品鉴、工厂参观等初级体验方式,分析沉浸式体验的优势与价值…...

电脑桌面太单调,用Python写一个桌面小宠物应用。

下面是一个使用Python创建的简单桌面小宠物应用。这个小宠物会在桌面上游荡,可以响应鼠标点击,并且有简单的动画效果。 import tkinter as tk import random import time from PIL import Image, ImageTk import os import sysclass DesktopPet:def __i…...

Python环境安装与虚拟环境配置详解

本文档旨在为Python开发者提供一站式的环境安装与虚拟环境配置指南,适用于Windows、macOS和Linux系统。无论你是初学者还是有经验的开发者,都能在此找到适合自己的环境搭建方法和常见问题的解决方案。 快速开始 一分钟快速安装与虚拟环境配置 # macOS/…...

MeshGPT 笔记

[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...