linux 安装 wordpress
文章目录
- linux 安装 wordpress
- 1. wordpress 简介
- 2. wordpress功能和特点
- 3. 部署要求
- 4. 环境搭建
- 4.1 部署 nginx
- 4.1.1 新增配置文件
- 4.2 部署 PHP7
- 4.2.1 查看当前版本
- 4.2.2 YUM 安装 PHP7
- 4.2.3 查看 PHP 版本
- 4.2.4 启动PHP-FPM
- 4.2.5 修改配置文件
- 4.2.6 重启服务
- 4.3 部署 mysql
- 4.3.1 配置 mysql yum 源
- 4.3.2 yum 安装 mysql
- 4.3.3 启动 mysql
- 4.3.4 查看 mysql 版本
- 4.3.5 登陆并修改密码
- 4.3.6 WordPress 数据库配置
- 4.3.7 mysql 测试代码
- 4.4 wordpress代码部署
- 4.4.1 下载安装包
- 4.4.2 部署 WordPress
- 4.4.3 配置 WordPress
linux 安装 wordpress
参考文档:文档1 文档2
1. wordpress 简介
wordpress官网
❓ 什么是wordpress
WordPress是使用PHP语言开发的开源内容管理系统(CMS),用于搭建网站/博客平台 ,用户可以在支持PHP和MySQL数据库 的服务器上架设属于自己的网站。
2. wordpress功能和特点
- 简单易用的管理后台
- 用户可以轻松管理文章、页面、媒体文件等内容。
- 丰富的插件和主题
- WordPress拥有大量免费或付费的插件和主题,可以扩展更多功能或自定义网站外观。
- 强大的社群支持
- 庞大的用户群确保WordPress的持续更新和问题解决。
- 内容优化和SEO
- 内置了诸如永久链接等搜索引擎优化功能。
- 可自定义和开发
- WordPress允许修改源代码来定制站点。
- 响应式设计
- 网站自动针对不同设备优化显示
- 安全和性能
- 核心代码定期更新和优化,保证安全性和速度。
3. 部署要求
搭建LNMP架构,部署 wordpress博客网站(wordpress6.3.1)
1.网站域名 www.testwordpress.com(测试时配置hosts)
2.站点目录为/app/code/blog/
👉 LNMP的工作流程
用户通过浏览器请求网站页面,请求首先到达Nginx服务器。
Nginx找到请求的页面如果是静态页面,直接从本地读取返回。如果是需要动态生成的页面,转发请求到PHP解释器。
PHP解释器执行PHP代码,这可能需要从MySQL数据库读取数据。
PHP生成动态页面内容,返回给Nginx。
Nginx将完整的页面返回给用户浏览器。
👉 LNMP优点
- Linux操作系统非常稳定,可以长时间运行服务器。
- Nginx高并发性能好,可以支持大量用户访问。
- MySQL是最常用的开源数据库。
- PHP处理动态页面非常高效。
4. 环境搭建
注:这里首先部署 nginx 是因为在安装完成 PHP 之后,修改 PHP 配置文件时需要使用 nginx 的用户名和用户组,部署完成 PHP 之后需要修改 nginx 配置文件进行验证。
所以部署顺序为:nginx --> php --> nginx --> mysql
4.1 部署 nginx
其他信息可参考网站地址
# 1、添加CentOS 7 Nginx yum资源库
[root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# 2、安装nginx
[root@localhost ~]# yum -y install nginx# 3、启动nginx
[root@localhost ~]# systemctl start nginx
安装完成 nginx 之后就可以安装 PHP 了,部署完成 PHP 之后在到 nginx 修改配置文件
4.1.1 新增配置文件
- 新增配置文件
vim /etc/nginx/conf.d/www.testblog.com.conf
# 新增如下内容
server {listen 80;server_name 本机IP;access_log /var/log/nginx/blog-access.log main;error_log /var/log/nginx/blog-error.log notice;root /app/code/blog/;location / {index index.php;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}
- 语法检查
nginx -t

- 重启 nginx
nginx -s reload
# 或者
systemctl restart nginx
# 以上两个命令都可以
- 创建工作目录
mkdir -p /app/code/blog
- 测试nginx转发 PHP 请求
vim /app/code/blog/test.php
# 写入如下内容
<?php
phpinfo();
?>
- 浏览器测试访问
http://192.168.137.104/test.php
# 如需使用域名测试,则可以在Windows hosts 文件中配置

4.2 部署 PHP7
4.2.1 查看当前版本
# 查看 PHP 版本信息
php -v# 查看 yum 源中 PHP 信息
yum list | grep php
4.2.2 YUM 安装 PHP7
想使用最新版PHP,就需要使用到REMI源,Remi repository是包含最新版本PHP和MySQL包的Linux源,由Remi提供维护。有个这个源之后,使用YUM安装或更新PHP、MySQL较新版本了。
安装最新的Remi源自动安装文件
# CentOS 6 / RHEL 6
yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm -y# CentOS 7 / RHEL 7
yum install http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y
安装PHP相关组件,下面提供的是一个生产环境中可以使用的标配安装
yum --enablerepo=remi,remi-php70 install \
php \
php-cgi \
php-cli \
php-fpm \
php-common \
php-devel \
php-mysqlnd \
php-mysql \
php-sqlite3 \
php-mbstring \
php-msgpack \
php-mcrypt \
php-bcmath \
php-gd \
php-xml \
php-ldap \
php-xmlrpc \
php-opcache \
php-curl \
php-json \
php-odbc \
php-pdo \
php-bz2 \
php-xml \
php-ftp \
php-imap \
php-snmp \
php-redis \
php-memcached -y
4.2.3 查看 PHP 版本
[root@104 ~]# php -v
PHP 7.0.33 (cli) (built: Aug 2 2023 10:48:43) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologieswith Zend OPcache v7.0.33, Copyright (c) 1999-2017, by Zend Technologies
4.2.4 启动PHP-FPM
# 启动 PHP
systemctl start php-fpm.service
# 查看状态
systemctl status php-fpm.service
4.2.5 修改配置文件
修改内容:
- 修改
user , group为nginx(上面安装完成 nginx 之后就会有 nginx 用户和用户组)- 注释
listen.allowed_clients = 127.0.0.1- 注释完成之后检查是否有
listen = 127.0.0.1:9000配置项,如没有则在listen.allowed_clients = 127.0.0.1之后手动添加
vim /etc/php-fpm.d/www.conf

4.2.6 重启服务
# 重启 PHP,并设置为开机自启
systemctl restart php-fpm.service
systemctl enable php-fpm.service
4.3 部署 mysql
部署详情可查看网站地址
当前使用的是 mysql5.7 版本
4.3.1 配置 mysql yum 源
# 根据自己的操作系统选择合适的安装源, 这里有直接下载的地址,下载之后通过 rpm -Uvh 安装。
wget 'https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm'# 设置新的秘钥,不然安装会失败
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022# 安装 rpm 包
rpm -Uvh mysql57-community-release-el7-11.noarch.rpm
4.3.2 yum 安装 mysql
# 如果想安装最新版本的,直接使用 yum 命令即可
yum install mysql-community-server
4.3.3 启动 mysql
systemctl start mysqld
systemctl status mysqld
4.3.4 查看 mysql 版本
mysql -V
4.3.5 登陆并修改密码
# 查看临时密码
grep 'temporary password' /var/log/mysqld.log# 登陆
mysql -u root -p'passwd'# 修改默认密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
大写报错可换成小写尝试
注:密码为大小写字母+数字+特殊符号组合# MySQL 安装后,默认只开放本机连接,为了支持其他主机连接,可以通过修改表mysql的host字段来实现。
use mysql;
update user set host = '%' where user = 'root';
flush privileges;
4.3.6 WordPress 数据库配置
# 创建数据库
create database wordpress;#创建用户
create user wordpress@'%' identified by 'Abcd@1234';
grant all privileges on wordpress.* to wordpress@'%';
flush privileges;
4.3.7 mysql 测试代码
vim /app/code/blog/mysqltest.php
#写入以下内容
<?php
$host='192.168.137.104'; // 数据库所在主机名或者IP地址
$username="wordpress"; // 数据库用户名
$password="Abcd@1234"; // 数据库密码
$dbname="wordpress"; // 数据库名
$connID=mysqli_connect($host,$username,$password,$dbname); // 建立数据库连接
if (mysqli_select_db($connID,$dbname)) { // 选择数据库echo "数据库连接成功";}
else{echo "数据库连接失败";
}
?>#在浏览器中访问
192.168.137.104/mysqltest.php
提示“数据库连接成功”即可

4.4 wordpress代码部署
4.4.1 下载安装包
- 访问wordpress官网,下载所需要的版本

4.4.2 部署 WordPress
下载 WordPress 安装包,解压之后将文件内容 cp 到 /app/code/blog 目录下,并修改文件权限
cd /app
# 使用如下命令则会下载一个最新的安装包
wget https://cn.wordpress.org/latest-zh_CN.tar.gz# 解压
tar zxvf latest-zh_CN.tar.gz# 将文件内容 cp 到 /app/code/blog
cp -r wordpress/* code/blog/# 修改文件权限
chown -R nginx:nginx /app/code/blog
4.4.3 配置 WordPress
输入服务器访问地址就可以配置 WordPress

填写数据库信息




登陆


相关文章:
linux 安装 wordpress
文章目录 linux 安装 wordpress1. wordpress 简介2. wordpress功能和特点3. 部署要求4. 环境搭建4.1 部署 nginx4.1.1 新增配置文件 4.2 部署 PHP74.2.1 查看当前版本4.2.2 YUM 安装 PHP74.2.3 查看 PHP 版本4.2.4 启动PHP-FPM4.2.5 修改配置文件4.2.6 重启服务 4.3 部署 mysql…...
LeetCode902最大为 N 的数字组合(相关话题:数位DP问题,递归遍历和减枝)
目录 题目描述 方法一递归遍历和减枝 方法二动态规划 数位DP问题拓展 通用方法论引入 <...
USB总线-Linux内核USB3.0主机控制器驱动框架分析(十二)
1.概述 如下图所示,Linux内核中USB主机体系结构由五部分组成,分别为Application Software、USB Class Driver、USB Core(USB Driver)、USB Host Controller Driver、USB Host Controller。应用程序处于用户空间,通过系统调用访问Class Drive…...
SQL模板-用户留存率计算
在这段实习中,我遇到了用户留存率计算的需求,这里做个总结。 首先来讲下,什么是用户留存? 在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户。用户留存一…...
LeakCanary 源码详解(3)
上一篇:LeakCanary源码详解(2) 如果你是直接刷到这篇的,建议还是从1开始看,然后2,然后是这篇3,如果你只关注这篇的重点hprof 文件定位泄漏位置的感兴趣,可以试试直接读这篇ÿ…...
springboot使用SSE
1、pom文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency> 2、前端代码 <!DOCTYPE html> <html lang"en"> <head><meta ch…...
搞定ESD(一):静电放电测试标准解析
文章目录 一、基本术语与定义1.1 基本定义1.2 重要基本术语 二、静电放电发生器介绍2.1 静电放电发生器的特性:通用规范【GB/T17626.2-2018 标准】2.2 ESD 放电发生器电极规格要求:通用规范【GB/T17626.2-2018 标准】2.3 放电回路电缆的要求:…...
问界M7的诸多优点(自动驾驶走进我们的生活二)
博主一直在问界工厂工作,从未对自己工厂的车如此关注过;但问界系列上市后,经常在茶余饭后看B站视频,发现问界车越来越多不可比拟的优点如下: 一、绿牌 绿牌特权在重庆可以随时过桥,不受限号限制。 二、增…...
[运维|数据库] msql中的 FIND_IN_SET如何转化为pg数据中的ARRAY_POSITION的函数
在 MySQL 中,FIND_IN_SET 函数用于查找一个值是否存在于逗号分隔的字符串列表中。在 PostgreSQL 中,可以使用 string_to_array 函数将逗号分隔的字符串转换为数组,然后使用 ARRAY_POSITION 函数来查找值是否在数组中。 以下是如何将MySQL中的…...
LeetCode 面试题 05.03. 翻转数位
文章目录 一、题目二、Java 题解 一、题目 给定一个32位整数 num,你可以将一个数位从0变为1。请编写一个程序,找出你能够获得的最长的一串1的长度。 示例 1: 输入: num 1775(110111011112) 输出: 8 示例 2: 输入: num 7(01112)…...
Fiddler抓包工具配置+Jmeter基本使用
一、Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例。会抓包的同学可以跳过这一步,当然看看也是没坏处的…… 局域网络配置 将要进行抓包的手机与电脑连入同一局域网,电脑才能够抓到…...
IOTE 2023国际物联网展直击:芯与物发布全新定位芯片,助力多领域智能化发展
IOTE 2023国际物联网展,作为全球物联网领域的盛会,于9月20日在中国深圳拉开帷幕。北斗星通集团应邀参展,旗下专业从事物联网、消费类GNSS芯片研发设计的芯与物公司也随其亮相本届盛会。 展会上,芯与物展示了一系列创新的GNSS定位…...
【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统
文章目录 前言章节提要一、进程管理1、进程的状态2、前趋图3、进程的同步与互斥4、PV操作6、PV操作与前趋图7、死锁问题进程资源图(补充)真题链接 二、存储管理1、分区存储组织2、页式存储组织3、段式存储组织4、段页式存储组织5、快表6、页面置换算法单…...
【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)
1 背景 sing-box是一个命令行程序,官网给出的教程是复制链接到Git Bash(windows)或终端运行(Linux)。每次开机都进行复制运行是一件繁琐的事情。 复制的内容其实就是下次并运行shell脚本,其实系统只需要运…...
LeetCode 75-02:字符串的最大公因子
前置知识:使用欧几里得算法求出最大公约数 func gcdOfStrings(str1 string, str2 string) string {if str1str2 ! str2str1 {return ""}return str1[:gcd(len(str1), len(str2))] }func gcd(a, b int)int{if b 0{return a}return gcd(b, a%b) }...
k8s1.19使用ceph14
一、静态 pv (rbd)方式 1、所有k8s节点安装依赖组件 注意:安装ceph-common软件包推荐使用软件包源与Ceph集群源相同,软件版本一致。 cat > /etc/yum.repos.d/ceph.repo << EOF [ceph] name=ceph baseurl=http://mirrors.aliyun.com/ceph/rpm-nautilus/el7/x86_…...
Leetcode 50. Pow(x, n)
文章目录 题目代码(9.19 首刷看解析) 题目 Leetcode 50. Pow(x, n) 代码(9.19 首刷看解析) 快速幂 class Solution { public:double myPow(double x, int n) {if(n 0)return 1;if(n 1)return x;if(n INT_MIN) { // 避免-n整…...
hive分区表的元数据信息numRows显示为0
创建分区表 CREATE TABLE `dept_partition`(`deptno` int, `dname` string, `loc` string) PARTITIONED BY (...
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C++)
Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C) Baumer工业相机Baumer工业相机的图像剪切(ROI)功能的技术背景CameraExplorer如何使用图像剪切(ROI)功…...
【云原生】聊聊为什么需要docker以及其基础架构
为什么需要docker 在没有docker之前,我们开发、测试、生产其实是根据不同的服务器进行配置的,很可能因为软件配置不同而导致的生产事故,那么如果能较好的解决软件和配置等封装成一个可运行的软件,无需关注配置,那么是…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
接口测试中缓存处理策略
在接口测试中,缓存处理策略是一个关键环节,直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性,避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明: 一、缓存处理的核…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
中医有效性探讨
文章目录 西医是如何发展到以生物化学为药理基础的现代医学?传统医学奠基期(远古 - 17 世纪)近代医学转型期(17 世纪 - 19 世纪末)现代医学成熟期(20世纪至今) 中医的源远流长和一脉相承远古至…...
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析
Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问(基础概念问题) 1. 请解释Spring框架的核心容器是什么?它在Spring中起到什么作用? Spring框架的核心容器是IoC容器&#…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...
