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之前,我们开发、测试、生产其实是根据不同的服务器进行配置的,很可能因为软件配置不同而导致的生产事故,那么如果能较好的解决软件和配置等封装成一个可运行的软件,无需关注配置,那么是…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
QMC5883L的驱动
简介 本篇文章的代码已经上传到了github上面,开源代码 作为一个电子罗盘模块,我们可以通过I2C从中获取偏航角yaw,相对于六轴陀螺仪的yaw,qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
蓝桥杯 冶炼金属
原题目链接 🔧 冶炼金属转换率推测题解 📜 原题描述 小蓝有一个神奇的炉子用于将普通金属 O O O 冶炼成为一种特殊金属 X X X。这个炉子有一个属性叫转换率 V V V,是一个正整数,表示每 V V V 个普通金属 O O O 可以冶炼出 …...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
Sklearn 机器学习 缺失值处理 获取填充失值的统计值
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...
React从基础入门到高级实战:React 实战项目 - 项目五:微前端与模块化架构
React 实战项目:微前端与模块化架构 欢迎来到 React 开发教程专栏 的第 30 篇!在前 29 篇文章中,我们从 React 的基础概念逐步深入到高级技巧,涵盖了组件设计、状态管理、路由配置、性能优化和企业级应用等核心内容。这一次&…...
CTF show 数学不及格
拿到题目先查一下壳,看一下信息 发现是一个ELF文件,64位的 用IDA Pro 64 打开这个文件 然后点击F5进行伪代码转换 可以看到有五个if判断,第一个argc ! 5这个判断并没有起太大作用,主要是下面四个if判断 根据题目…...
