基于公有云部署wordpress
云平台选择
腾讯云
阿里云
华为云
项目部署
一、架构讲解
1.1、定义与组成
LNMP是Linux、Nginx、MySQL(或MariaDB)和PHP(或Perl、Python)的首字母缩写,代表在Linux系统下使用Nginx作为Web服务器,MySQL作为数据库,PHP作为服务器端脚本语言的一种网站服务器架构。 Linux:作为操作系统,提供稳定的运行环境。Linux是一类Unix计算机操作系统的统称,代表版本有debian、centos、ubuntu、fedora、gentoo等。
Nginx:一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx采用事件驱动的非阻塞I/O模型,能够高效处理大量并发连接和请求,对系统资源的消耗相对较低。
MySQL(或MariaDB):一个关系型数据库管理系统,用于存储网站数据。MySQL具有数据可靠性高、备份恢复容易等优点,同时提供了复制和分区等特性以支持容错和高可用性需求。
PHP(或Perl、Python):一种在服务器端执行的嵌入HTML文档的脚本语言,用于处理业务逻辑和与前端的交互。
1.2、工作原理
当用户通过浏览器访问LNMP架构的网站时,Nginx服务器会接收到用户的请求。Nginx会根据请求的URL和配置进行匹配,检测请求的Web文件是静态还是动态。 静态页面请求:如果请求的是静态HTML页面,Nginx会直接处理并响应给客户端。 动态页面请求:如果请求的是动态PHP页面(或其他脚本语言),Nginx会将请求发送给后端的PHP模块或CGI。PHP解释器将动态网页解析为静态的HTML网页,然后返回给Nginx。Nginx再将解析后的HTML静态网页结果返回给客户端。
1.3、特点与优势
高性能和高并发:Nginx具有出色的性能和高并发处理能力,能够高效处理大量并发连接和请求。 安全性高:Nginx可以通过HTTP认证和SSL/TLS加密来提供数据和服务的安全性。 灵活性:LNMP可以安装于多个平台和多个版本的Linux操作系统上,同时支持自定义和扩展以适应不同的应用需求。 易用性:LNMP具有易用性,不需要额外的复杂配置即可完成安装和配置。 高可靠性:MySQL作为后端数据库,具有数据可靠性高、备份恢复容易等优点。
1.4、应用案例
LNMP架构广泛应用于各类网站和应用中,如微信公众号后台管理系统、电商网站等。在这些场景中,Nginx负责反向代理和负载均衡,MySQL用于存储数据,PHP处理业务逻辑和与前端的交互,Linux提供稳定的运行环境。
二、项目配置
2.1、服务安装
# 商业转载请联# 安装数据库
[root@localhost ~]# yum -y install mariadb-server mariadb
# 安装php8
[root@localhost ~]# yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
[root@localhost ~]# yum install php80-php-xsl php80-php php80-php-cli php80-php-devel php80-php-gd php80-php-pdo php80-php-mysql php80-php-fpm -y# 安装nginx
[root@localhost ~]# yum install -y epel-release
[root@localhost ~]# yum install -y nginx# 启动php 数据库 nginx
[root@localhost ~]# systemctl start php80-php-fpm mariadb nginx
[root@localhost ~]# systemctl enable php80-php-fpm mariadb nginx
2.2、nginx 配置
# nginx 配置文件设置
server {listen 80;server_name www.itnzs.top;location / {root /usr/share/nginx/html;index index.php;}location ~ \.php$ {root /usr/share/nginx/html; #指定网站目录fastcgi_pass 127.0.0.1:9000; #指定访问地址fastcgi_index index.php; #指定默认文件fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; #站点根目录,取决于root配置项include fastcgi_params; #包含nginx常量定义}}# 重启nginx
systemctl restart nginx
2.3、数据库配置
# mysql 创建数据库
mysql -e "create database wordpress"
2.4、代码上传
# 代码上传
tar xf wordpress-6.1-zh_CN.tar.gz
rm -rf /usr/share/nginx/html/*
cp -r ./wordpress/* /usr/share/nginx/html
chmod -R 777 /usr/share/nginx/html
2.5、浏览器访问测试
相关文章:

基于公有云部署wordpress
云平台选择 腾讯云 阿里云 华为云 项目部署 一、架构讲解 1.1、定义与组成 LNMP是Linux、Nginx、MySQL(或MariaDB)和PHP(或Perl、Python)的首字母缩写,代表在Linux系统下使用Nginx作为Web服务器,MySQL作为…...

vite+vue集成cesium
1、创建项目、选择框架vuejs pnpm create vite demo_cesium 2、进入项目安装依赖 cd demo_cesium pnpm install3、安装cesium及插件 3、pnpm i cesium vite-plugin-cesium 4、修改vite-config.js import { defineConfig } from vite import vue from vitejs/plugin-vue impo…...

2024 年江西省研究生数学建模竞赛A题:交通信号灯管理问题分析、实现代码及参考论文
2024 年江西省研究生数学建模竞赛题目交通信号灯管理 1 题目 交通信号灯是指挥车辆通行的重要标志,由红灯、绿灯、 黄灯组成。红灯停、绿灯行,而黄灯则起到警示作用。交通 信号灯分为机动车信号灯、非机动车信号灯、人行横道信号 灯、方向指示灯等。 一…...

华为机试HJ1字符串最后一个单词的长度
华为机试HJ1字符串最后一个单词的长度 题目: 计算字符串中最后一个单词的长度 想法: 利用空格将字符串中的单词进行切分,返回最后一个单词的长度 input_str input() # 字符串输入 result input_str.split(" ")[-1] # 选取…...

排序(冒泡排序、选择排序、插入排序、希尔排序)-->深度剖析(一)
欢迎来到我的Blog,点击关注哦💕 前言 排序是一种基本的数据处理操作,它涉及将一系列项目重新排列,以便按照指定的标准(通常是数值大小)进行排序。在C语言中,排序算法是用来对元素进行排序的一系…...

(2024)docker-compose实战 (6)部署前端项目(react, vue)
前言 本次仅使用nginx搭建单一的前端项目, 前端项目可以是html, react, vue.项目目录中需要携带nginx的配置文件(conf/default.conf).前端文件直接拷贝到项目目录中即可.如果不确定镜像的配置文件目录, 可以通过 docker inspect 镜像名 来查看具体的配置信息.使用docker-compos…...

python 中的 下划线_ 是啥意思
在 Python 中,_(下划线)通常用作占位符,表示一个变量名,但程序中不会实际使用这个变量的值。 目录 忽略循环变量:忽略函数返回值:在解释器中使用:举例子1. 忽略循环变量2. 忽略不需…...

Solana公链
Solana是一个高性能的区块链平台,其设计目标是在不牺牲去中心化或安全性的情况下提供可扩展性。Solana由前高通、英特尔及Dropbox的工程师于2017年末创立。以下是Solana的一些关键特点: 高吞吐量:Solana能够每秒处理高达65,000笔交易…...

【LeetCode】反转字符串中的单词
目录 一、题目二、解法完整代码 一、题目 给你一个字符串 s ,请你反转字符串中 单词 的顺序。 单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。 返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。 注意࿱…...

[leetcode]文件组合
. - 力扣(LeetCode) class Solution { public:vector<vector<int>> fileCombination(int target) {vector<vector<int>> vec;vector<int> res;int sum 0, limit (target - 1) / 2; // (target - 1) / 2 等效于 target /…...

数据库断言
预期值和实际值做对比 步骤: 1、得到表格数据 2、接口断言预期值与实际值做对比 读取表格数据-得到接口地址(address)和是否接口db检查(dbcheck),并且这条数据是有效的(vaild) 有2条用例,也会有三个条件不全部满足的情况&…...

uniapp+nodejs实现小程序支付
1.准备商户号、企业级小程序(或者个体工商户级别的) 2.在小程序端调用uni.login获取code,传递给后端 uni.login({success: loginRes > {uni.request({url: "http://127.0.0.1:3003/wxpay/pay",data: {code: loginRes.code},method: "get",…...

SolidityFoundry 安全审计测试 memory滥用
名称: memory滥用 https://github.com/XuHugo/solidityproject/tree/master/vulnerable-defi 描述: 在合约函数中滥用storage和memory。 memory是一个关键字,用于临时存储执行合约所需的数据。它保存函数的参数数据,并在执行后…...

面试题--SpringBoot
SpringBoot SpringBoot 是什么(了解) 是 Spring 的子项目,主要简化 Spring 开发难度,去掉了繁重配置,提供各种启动器,可以 让程序员很快上手,节省开发时间. SpringBoot 的优点(必会) SpringBoot 对上述 Spring 的缺点进行的改善和优化,基于约定优于配置的思想&am…...

Stable Diffusion中放大图像的3种方法
前言 要执行 ControlNet tile upscale: 您想使用 Stable Diffusion 创建包含大量细节的大型图像吗?您将需要使用升频器。在本文中,您将学习 3 种放大图像的方法。 人工智能升级器标清高档ControlNet瓷砖高档 您将看到比较并了解这些方法的优…...

生产者消费模式
前言👀~ 上一章我们介绍设计模式中的单例模式,今天我们来讲讲生产者消费模式 阻塞队列(重要) 生产者消费模式(重要) 阻塞队列在生产者消费模型中的作用 标准库的阻塞队列 手动实现阻塞队列 如果各位对…...

PyMuPDF 操作手册 - 06 PDF的转换等
文章目录 七、转换 PDF 文档7.1 将pdf文本提取为 Markdown7.2 将pdf转换为word(使用`pdf2docx`库)7.2.1 安装pdf2docx7.2.2 转换所有页面7.2.3 转换指定页面7.2.4 多CPU核心处理7.2.5 转换加密的 pdf7.2.6 提取表格7.2.7 pdf2docx 和 python_docx 的关系7.3 PDF与图像的转换七…...

VUE3解决跨域问题
本文基于vue3 vite element-plus pnpm 报错:**** has been blocked by CORS policy: No Access-Control-Allow-Origin header is present on the requested resource. 原因:前端不能直接访问其他IP,需要用vite.config.ts ࿰…...

2024阿里云大模型自定义插件(如何调用自定义接口)
1,自定义插件入口 2,插件定义:描述插件的参数 2.1,注意事项: 2.1.1,只支持json格式的参数;只支持application/JSON;如下图: 2.1.2,需要把接口描述进行修改&a…...

生成式人工智能将如何改变网络可访问性
作者:Matthew Adams 受 Be My Eyes 和 OpenAI 启发的一项实验,尝试使用 ChatGPT 4o 实现网页无障碍 在 Elastic,我们肩负着一项使命,不仅要构建最佳的搜索驱动型 AI 平台,还要确保尽可能多的人喜欢使用该平台。我们相…...

科普文:一文搞懂jvm实战(二)Cleaner回收jvm资源
概叙 在JDK9中新增了Cleaner类,该类的作用是用于替代finalize方法,更有效地释放资源并避免内存泄漏。 在JEP260提案中,封装了大部分Sun包内部的API之余,还引入了一些新的API,其中就包含着Cleaner这个工具类。Cleaner承…...

使用PyTorch高效读取二进制数据集进行训练
使用pickle制作类cifar10二进制格式的数据集 使用pytorc框架来训练(以猫狗大战数据集为例) 此方法是为了实现阿里云PAI studio上可视化训练模型时使用的数据格式。 一、制作类cifar10二进制格式数据 import os, cv2 from pickled import * from load_da…...

应急响应:应急响应流程,常见应急事件及处置思路
「作者简介」:冬奥会网络安全中国代表队,CSDN Top100,就职奇安信多年,以实战工作为基础著作 《网络安全自学教程》,适合基础薄弱的同学系统化的学习网络安全,用最短的时间掌握最核心的技术。 这一章节我们需…...

Kotlin/Android中执行HTTP请求
如何在Kotlin/Android中执行简单的HTTP请求 okhttp官网 okhttp3 github地址 打开build.gradle.kts文件加入依赖 dependencies {implementation("com.squareup.okhttp3:okhttp:4.9.0") }在IDEA的Gradle面板点击reload按钮便会自动下载jar...

哈希表(C++实现)
文章目录 写在前面1. 哈希概念2. 哈希冲突3. 哈希函数4.哈希冲突解决4.1 闭散列4.1.1 线性探测4.1.2 采用线性探测的方式解决哈希冲突实现哈希表4.1.3 二次探测 4.2 开散列4.2.2 采用链地址法的方式解决哈希冲突实现哈希表 写在前面 在我们之前实现的所有数据结构中(比如&…...

深入理解代理模式(Proxy Pattern)及其实际应用
引言 在软件开发中,有时候我们需要在不改变现有代码的情况下添加一些功能,比如延迟初始化、访问控制、日志记录等。代理模式(Proxy Pattern)通过代理对象控制对原对象的访问,为现有代码添加了额外的功能。本篇文章将详…...

Elasticsearch (1):ES基本概念和原理简单介绍
Elasticsearch(简称 ES)是一款基于 Apache Lucene 的分布式搜索和分析引擎。随着业务的发展,系统中的数据量不断增长,传统的关系型数据库在处理大量模糊查询时效率低下。因此,ES 作为一种高效、灵活和可扩展的全文检索…...

【Python爬虫】Python爬取喜马拉雅,爬虫教程!
一、思路设计 (1)分析网页 在喜马拉雅主页找到自己想要的音频,得到目标URL:https://www.ximalaya.com/qinggan/321787/ 通过分析页面的网络抓包,最终的到一个比较有用的json数据包 通过分析,得到了发送json…...

基于Jmeter的分布式压测环境搭建及简单压测实践
写在前面 平时在使用Jmeter做压力测试的过程中,由于单机的并发能力有限,所以常常无法满足压力测试的需求。因此,Jmeter还提供了分布式的解决方案。本文是一次利用Jmeter分布式对业务系统登录接口做的压力测试的实践记录。按照惯例࿰…...

IDEA常用代码模板
在 IntelliJ IDEA 中,常用代码模板可以帮助你快速生成常用的代码结构和模式。以下是一些常用的代码模板及其使用方法: 动态模板(Live Templates) psvm:生成 public static void main(String[] args) 方法。sout:生成 System.out.println(); 语句。soutv:生成 System.ou…...