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

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的工作流程

  1. 用户通过浏览器请求网站页面,请求首先到达Nginx服务器。

  2. Nginx找到请求的页面如果是静态页面,直接从本地读取返回。如果是需要动态生成的页面,转发请求到PHP解释器。

  3. PHP解释器执行PHP代码,这可能需要从MySQL数据库读取数据。

  4. PHP生成动态页面内容,返回给Nginx。

  5. 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 修改配置文件

修改内容:

  1. 修改 user , groupnginx(上面安装完成 nginx 之后就会有 nginx 用户和用户组)
  2. 注释 listen.allowed_clients = 127.0.0.1
  3. 注释完成之后检查是否有 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.概述 如下图所示&#xff0c;Linux内核中USB主机体系结构由五部分组成&#xff0c;分别为Application Software、USB Class Driver、USB Core(USB Driver)、USB Host Controller Driver、USB Host Controller。应用程序处于用户空间&#xff0c;通过系统调用访问Class Drive…...

SQL模板-用户留存率计算

在这段实习中&#xff0c;我遇到了用户留存率计算的需求&#xff0c;这里做个总结。 首先来讲下&#xff0c;什么是用户留存&#xff1f; 在互联网行业中&#xff0c;用户在某段时间内开始使用应用&#xff0c;经过一段时间后&#xff0c;仍然继续使用该应用的用户。用户留存一…...

LeakCanary 源码详解(3)

上一篇&#xff1a;LeakCanary源码详解&#xff08;2&#xff09; 如果你是直接刷到这篇的&#xff0c;建议还是从1开始看&#xff0c;然后2&#xff0c;然后是这篇3&#xff0c;如果你只关注这篇的重点hprof 文件定位泄漏位置的感兴趣&#xff0c;可以试试直接读这篇&#xff…...

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 静电放电发生器的特性&#xff1a;通用规范【GB/T17626.2-2018 标准】2.2 ESD 放电发生器电极规格要求&#xff1a;通用规范【GB/T17626.2-2018 标准】2.3 放电回路电缆的要求&#xff1a;…...

问界M7的诸多优点(自动驾驶走进我们的生活二)

博主一直在问界工厂工作&#xff0c;从未对自己工厂的车如此关注过&#xff1b;但问界系列上市后&#xff0c;经常在茶余饭后看B站视频&#xff0c;发现问界车越来越多不可比拟的优点如下&#xff1a; 一、绿牌 绿牌特权在重庆可以随时过桥&#xff0c;不受限号限制。 二、增…...

[运维|数据库] msql中的 FIND_IN_SET如何转化为pg数据中的ARRAY_POSITION的函数

在 MySQL 中&#xff0c;FIND_IN_SET 函数用于查找一个值是否存在于逗号分隔的字符串列表中。在 PostgreSQL 中&#xff0c;可以使用 string_to_array 函数将逗号分隔的字符串转换为数组&#xff0c;然后使用 ARRAY_POSITION 函数来查找值是否在数组中。 以下是如何将MySQL中的…...

LeetCode 面试题 05.03. 翻转数位

文章目录 一、题目二、Java 题解 一、题目 给定一个32位整数 num&#xff0c;你可以将一个数位从0变为1。请编写一个程序&#xff0c;找出你能够获得的最长的一串1的长度。 示例 1&#xff1a; 输入: num 1775(110111011112) 输出: 8 示例 2&#xff1a; 输入: num 7(01112)…...

Fiddler抓包工具配置+Jmeter基本使用

一、Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前&#xff0c;得先学会如何抓包&#xff0c;这里以Fiddler为例。会抓包的同学可以跳过这一步&#xff0c;当然看看也是没坏处的…… 局域网络配置 将要进行抓包的手机与电脑连入同一局域网&#xff0c;电脑才能够抓到…...

IOTE 2023国际物联网展直击:芯与物发布全新定位芯片,助力多领域智能化发展

IOTE 2023国际物联网展&#xff0c;作为全球物联网领域的盛会&#xff0c;于9月20日在中国深圳拉开帷幕。北斗星通集团应邀参展&#xff0c;旗下专业从事物联网、消费类GNSS芯片研发设计的芯与物公司也随其亮相本届盛会。 展会上&#xff0c;芯与物展示了一系列创新的GNSS定位…...

【软件设计师-从小白到大牛】上午题基础篇:第二章 操作系统

文章目录 前言章节提要一、进程管理1、进程的状态2、前趋图3、进程的同步与互斥4、PV操作6、PV操作与前趋图7、死锁问题进程资源图&#xff08;补充&#xff09;真题链接 二、存储管理1、分区存储组织2、页式存储组织3、段式存储组织4、段页式存储组织5、快表6、页面置换算法单…...

【20230921】关于sing-box命令行程序开机自启动运行(Windows、Linux)

1 背景 sing-box是一个命令行程序&#xff0c;官网给出的教程是复制链接到Git Bash&#xff08;windows&#xff09;或终端运行&#xff08;Linux&#xff09;。每次开机都进行复制运行是一件繁琐的事情。 复制的内容其实就是下次并运行shell脚本&#xff0c;其实系统只需要运…...

LeetCode 75-02:字符串的最大公因子

前置知识&#xff1a;使用欧几里得算法求出最大公约数 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)

文章目录 题目代码&#xff08;9.19 首刷看解析&#xff09; 题目 Leetcode 50. Pow(x, n) 代码&#xff08;9.19 首刷看解析&#xff09; 快速幂 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设置相机的图像剪切&#xff08;ROI&#xff09;功能&#xff08;C&#xff09; Baumer工业相机Baumer工业相机的图像剪切&#xff08;ROI&#xff09;功能的技术背景CameraExplorer如何使用图像剪切&#xff08;ROI&#xff09;功…...

【云原生】聊聊为什么需要docker以及其基础架构

为什么需要docker 在没有docker之前&#xff0c;我们开发、测试、生产其实是根据不同的服务器进行配置的&#xff0c;很可能因为软件配置不同而导致的生产事故&#xff0c;那么如果能较好的解决软件和配置等封装成一个可运行的软件&#xff0c;无需关注配置&#xff0c;那么是…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目&#xff0c;设置虚拟环境&#xff0c;出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型&#xff08;算法、数据分析、机器学习等&#xff09;不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

P10909 [蓝桥杯 2024 国 B] 立定跳远

# P10909 [蓝桥杯 2024 国 B] 立定跳远 ## 题目描述 在运动会上&#xff0c;小明从数轴的原点开始向正方向立定跳远。项目设置了 $n$ 个检查点 $a_1, a_2, \cdots , a_n$ 且 $a_i \ge a_{i−1} > 0$。小明必须先后跳跃到每个检查点上且只能跳跃到检查点上。同时&#xff0…...

智能体革命:企业如何构建自主决策的AI代理?

OpenAI智能代理构建实用指南详解 随着大型语言模型&#xff08;LLM&#xff09;在推理、多模态理解和工具调用能力上的进步&#xff0c;智能代理&#xff08;Agents&#xff09;成为自动化领域的新突破。与传统软件仅帮助用户自动化流程不同&#xff0c;智能代理能够自主执行工…...