当前位置: 首页 > 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;那么是…...

“高级前端开发技术探索路由的使用及Node安装使用“

目录 引言1. Vue路由的使用2. VueNode.js的安装使用总结 引言 在当今互联网时代&#xff0c;前端开发技术日新月异&#xff0c;不断涌现出各种新的框架和工具。作为一名前端开发者&#xff0c;我们需要不断学习和探索新的技术&#xff0c;以提升自己的开发能力。本文将深入探讨…...

LeetCode 494.目标和 (动态规划 + 性能优化)二维数组 压缩成 一维数组

494. 目标和 - 力扣&#xff08;LeetCode&#xff09; 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2…...

[36c3 2019]includer

[36c3 2019]includer 题目描述&#xff1a;Just sitting here and waiting for PHP 8.0 (lolphp). 首先来了解一下临时文件包含之PHP - compress.zlib:// 在 php-src 里可以找到和 compress.zlib:// 有关的代码 | code 注意到 STREAM_WILL_CAST&#xff0c;涉及到 cast 经常…...

Python150题day10

④continue练习 从列表 Ist [1,3,5,2,7,9,10] 中输出所有的奇数&#xff0c;代码如下 lst [1, 3, 5, 2, 7, 9, 10] for item in lst: if item % 2 0: continue print(item) 在上述代码中&#xff0c;当遇到偶数时&#xff0c;continue 语句会跳过当前迭代&…...

Autosar工具-Davinci Developer

文章目录 前言一、Davinci Developer简介二、导航栏File(主要是用于保存、打开工程等操作)HomeProject(主要用于导入、导出arxml文件)Graphic(主要在SWC设计时使用,包含对图形界面下的设计工具)Window(主要就是对我们的Dev界面外形修改用的,使得界面更加方便我们使用(比如隐…...

js中的数据结构:栈,队列,链表,字典哈希表,树

栈&#xff1a;先进后出 队列&#xff1a;先进先出 链表&#xff1a; 单链表&#xff1a; 双链表&#xff1a; 环形链表&#xff1a;最后一个数据的next指针不是指向null&#xff0c;指向的是任意之间的一个数据&#xff0c;形成一个环 数组和链表的区别&#xff1a; 字典和哈…...

Verdi实现信号的平移

在Verilog/System verilog中&#xff0c;# xxx可以实现延迟指定时间的功能&#xff0c;而在使用verdi查看信号波形并进行分析时&#xff0c;同样也可以实现类似的功能。 (注&#xff1a;这种信号平移是有其应用场景的&#xff0c;例如&#xff0c;在某些仿真模型中&#xff0c;…...

Leetcode算法入门与数组丨6. 数组双指针、滑动窗口

文章目录 1 双指针基础知识1.1 双指针简介1.2 左右指针&#xff08;对撞指针&#xff09;1.3 快慢指针1.4 分离双指针 2 滑动窗口基础知识2.1 滑动窗口算法介绍2.2 滑动窗口适用范围2.3 固定长度滑动窗口2.4 不固定长度滑动窗口 1 双指针基础知识 1.1 双指针简介 双指针&…...

推荐一本书《横向领导力》

大家好&#xff0c;这里是大话硬件。 今天想给大家推荐一本我近期正在阅读的书籍《横向领导力》。 这本书很早就买了&#xff0c;但是在去年就看了前面3章的内容&#xff0c;而且也没做笔记&#xff0c;仅仅是在书本上写写画画&#xff0c;也没有什么体会&#xff0c;感觉看不懂…...

React实战过程的知识了解

做项目用到react和antd&#xff0c;没办法循序渐进的学习&#xff0c;只能把一些点记录在这里&#xff0c;希望大家指正。 1.杂七杂八 正文 //actionRef&#xff0c;操作表单的预设方法&#xff0c;包括&#xff1a;刷新、重置所有项并刷新、重置到默认项、加载更多、清空选…...

wordpress 添加自定义字段/搜索引擎有哪几个网站

--------------------------------------------------分割线----------------------------------------------------------- 约束 约束在SQL中扮演着很重要的角色。约束用于限制加入表的数据的类型。 可以在创建表时规定约束&#xff08;通过 CREATE TABLE 语句&#xff09;…...

怎么访问域名网站吗/互联网推广是什么

前言 内容导读&#xff1a; 启动优化的背景介绍->如何测量启动时间->启动优化工具选择->优雅获取方法耗时->异步优化原理介绍->异步优化最佳实践-启动器->延迟初始化方案->启动优化其它方案 启动优化介绍 日活上千万&#xff0c;几千万。 背景介绍 第…...

企业网站必须做可信认证吗/三亚百度推广地址

本文实例为大家分享了java封装前端查询条件的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下import hengyi.oa.mobile.exception.ServiceException;import java.io.UnsupportedEncodingException;import java.util.List;import java.util.Map;import java.util.Map.E…...

最好的建站网站/网站运营策划书

linux下使用Qt编译程序的时候&#xff0c;安装了程序自带的链接库之后&#xff0c;仍然上报这个错误&#xff0c;发现系统上报这个错误&#xff1a;/usr/bin/ld: 找不到 -ldhnetsdk经过仔细的定位&#xff0c;终于解决了&#xff0c;这里把思路梳理一下&#xff0c;做个总结。1…...

园林景观设计公司需要什么资质/项目优化seo

IOS开发——自定义类归档&#xff08;继承于自定义类&#xff09; 我先创建一个新闻基类&#xff0c;对其实现NSCoding协议&#xff1b;再创建一个图组新闻类继承于这个新闻基类&#xff0c;添加一些属性&#xff08;图组&#xff09;&#xff0c;那么这个自定义的图组新闻类该…...

广西奶茶加盟网站建设/seo推广

作者 | 阮一峰列表是一系列排列好的项目&#xff0c;主要分成两类&#xff1a;有序列表和无序列表。有序列表是每个列表项前面有编号&#xff0c;呈现出顺序&#xff0c;就像下面这样。1. 列表项 A2. 列表项 B3. 列表项 C无序列表则是列表项前面没有编号&#xff0c;只有一个列…...