基于RedHat9部署WordPress+WooCommerce架设购物网站

news2025/1/8 19:19:01

系统版本信息:Red Hat Enterprise Linux release 9.2 (Plow)
WordPress版本信息:wordpress-6.6.2-zh_CN
WooCommerce版本信息:woocommerce.9.5.1
环境架构:LNMP(RedHat9+nginx1.20.1+PHP 8.0.27+MySQL8.0.30)

一、任务规划

1. WordPress介绍

WordPress是使用PHP语言开发的开源发布平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要有一定的专业知识。比如至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。WordPress官方支持中文版,同时有爱好者开发的第三方中文语言包,如wopus中文语言包。WordPress拥有成千上万个各式插件和不计其数的主题模板样式。

2. WooCommerce介绍

WooCommerce是WordPress中的一个开源电子商务插件,它允许用户在WordPress网站上创建和管理功能齐全的在线商店。

WooCommerce的优势与特点

  • 免费且开源:相较于其他需要付费的电商系统,WooCommerce提供了功能齐全且免费的解决方案。
  • 易于使用:安装方便,系统操作直观,不需要专业知识即可搭建购物平台。
  • 高度自定义:任何开发人员都可以审核、修改或扩展WooCommerce的代码,满足用户的个性化需求。
  • 强大的社区支持:拥有庞大的用户群和响应迅速的社区支持系统,用户可以轻松获取帮助和解决方案。

WooCommerce是WordPress中一个功能强大且灵活的电子商务插件,它为用户提供了一个易于使用的平台,帮助用户轻松创建和管理自己的在线商店。

二、任务实现

1. 节点设置

主机网络信息
wordpress192.37.26.10/24

2. 基础环境配置

[Step1]: 配置相关网络信息

[root@localhost ~]# hostnamectl hostname wordpress
[root@localhost ~]# nmcli connection modify ens160 ipv4.method manual ipv4.addresses 192.37.26.10/24
[root@localhost ~]# nmcli connection up ens160

[Step2]: 关闭防火墙和SELinux

[root@wordpress ~]# systemctl disable firewalld.service
[root@wordpress ~]# systemctl stop firewalld.service
[root@wordpress ~]# setenforce 0
[root@wordpress ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

[Step3]: 配置YUM本地源,在RedHat9镜像中已经集成了nginx、php、mysql软件包

[root@wordpress ~]# mount /dev/cdrom /mnt
[root@wordpress ~]# vim /etc/yum.repos.d/local.repo

# 写入下列内容
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0


[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream/
enabled=1
gpgcheck=0

3. Nginx服务配置

[Step1]: 安装Nginx服务

[root@wordpress ~]# dnf install -y nginx

[Step2]: 编辑nginx配置文件

[root@wordpress ~]# vim /etc/nginx/nginx.conf

# 修改后内容如下
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 4096;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80;
        listen       [::]:80;
        server_name  _;
        root         /usr/share/nginx/html;
        include /etc/nginx/default.d/*.conf;
        location / {
			root html;
			index       index.php index.html index.htm;
		}
		location ~ \.php$ {
			fastcgi_pass unix:/var/run/php-fpm.sock;
			fastcgi_index index.php;
			fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
			include fastcgi.conf;
		}
   }
}

[Step3]: 验证nginx配置文件语法

[root@wordpress ~]# nginx -t

在这里插入图片描述

[Step4]: 启动Nginx并加入开机自启

[root@wordpress ~]# systemctl enable --now nginx.service

[Step5]: 验证:通过浏览器访问测试页

在这里插入图片描述

4. MySQL服务配置

[Step1]: 先检查系统是否自带mariadb,如果存在则卸载

[root@wordpress ~]# dnf remove -y mariadb mariadb-server

[Step2]: 安装MySQL

[root@wordpress ~]# dnf install -y mysql mysql-server

[Step3]: 启动MySQL并加入开机自启

[root@wordpress ~]# systemctl enable --now mysqld.service

[Step4]: 登录数据库,新建wordpress用户及数据库

root@wordpress ~]# mysql
mysql> create database wordpress;
mysql> create user 'wordpress'@'192.37.26.10' identified by 'Wordpress@12345';
mysql> grant all privileges on wordpress.* to 'wordpress'@'192.37.26.10';

[Step5]: 验证:使用wordpress用户验证登录,新建表验证权限

[root@wordpress ~]# mysql -uwordpress -h192.37.26.10 -pWordpress@12345
mysql> use wordpress;
mysql> create table student(id int);

5. 安装PHP

[Step1]: 安装PHP及相关软件包

[root@wordpress ~]# dnf install -y php*

[Step2]: 编辑配置文件,将启用php-fpm的用户设置为nginx用户

[root@wordpress ~]# vim /etc/php-fpm.d/www.conf

# 修改下列参数
user = nginx
group = nginx

[Step3]: 编辑php.ini文件

[root@wordpress ~]# vim /etc/php.ini

# 修改下列参数
upload_max_filesize = 10M		# 设置单次请求可以上传的文件的最大大小,方便后续上传主题

[Step4]: 启动php-fpm,并加入开机自启

[root@wordpress ~]# systemctl enable --now php-fpm.service

[Step5]: 查看php-fpm进程的启动用户

[root@wordpress ~]# ps -ef | grep php-fpm

在这里插入图片描述

[Step6]: 验证:先删除掉原有的所有文件,然后新建php测试文件,然后通过浏览器访问

[root@wordpress ~]# rm -rf /usr/share/nginx/html/*
[root@wordpress ~]# echo "<?php echo phpinfo(); ?>" > /usr/share/nginx/html/index.php

在这里插入图片描述

6. 安装WordPress

[Step1]: 删除掉原有的索引文件

[root@wordpress ~]# rm -rf /usr/share/nginx/html/*

[Step2]: 上传WordPress软件包

在这里插入图片描述

[Step3]: 解压软件包

[root@wordpress ~]# cd /usr/share/nginx/html/
[root@wordpress ~]# tar zxf wordpress-6.6.2-zh_CN.tar.gz 
[root@wordpress html]# mv wordpress/* .
[root@wordpress html]# rm -rf wordpress*

在这里插入图片描述

[Step4]: 因为我们nginx、php都是使用nginx用户运行,所以需要将软件包的属主设置为nginx,或者将权限设置为777

[root@wordpress ~]# chown nginx:nginx -R /usr/share/nginx/html/

在这里插入图片描述

[Step5]: 在开始使用WordPress前,需要设置数据库名、数据库用户名、数据库密码等参数,可以通过web界面去设置或者通过修改配置文件的方式

设置方式1:通过Web界面设置
在这里插入图片描述

设置方式2:通过修改配置文件

[Step6]: 进入WordPress目录下,拷贝配置文件,然后修改

[root@wordpress ~]# cd /usr/share/nginx/html/
[root@wordpress html]# cp wp-config-sample.php wp-config.php
[root@wordpress html]# vim wp-config.php

# 修改下列参数
define( 'DB_NAME', 'wordpress' );
define( 'DB_USER', 'wordpress' );
define( 'DB_PASSWORD', 'Wordpress@12345' );
define( 'DB_HOST', '192.37.26.10' );

在这里插入图片描述

[Step7]: 重新通过浏览器访问,此时会弹出“五分钟安装程序”,根据提示填写相关信息,密码建议使用WordPress自动生成的复制性密码“US%pDv4ZFvJn%%iI”

在这里插入图片描述
在这里插入图片描述

[Step8]: 返回登录系统

在这里插入图片描述

7. 安装WooCommerce插件

[Step1]: 在WordPress中,安装插件有两种方式,分别是联网安装和离线安装,以下使用离线安装
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[Step2]: 上传离线插件的时候,如果离线插件包比较大,就会弹出报错信息“413 Request Entity Too Large”,解决这个问题有两个办法

  • 修改nginx的配置文件,找到client_max_body_size参数,如果没有可以在server块中定义
client_max_body_size 100M;		# 设置允许的最大请求体位100MB
  • 将插件包上传到服务器中,然后解压到/usr/share/nginx/html/wp-content/plugins目录下

以下将通过修改nginx服务配置文件以解决该问题

[root@wordpress ~]# vim /etc/nginx/nginx.conf

# 在server块中添加下列内容
client_max_body_size 20M;		# 插件包的大小为15MB,这里设置为20MB

[Step3]: 检验nginx配置文件的语法,然后重启nginx服务

[root@wordpress ~]# nginx -t
[root@wordpress ~]# systemctl restart nginx.service

在这里插入图片描述

[Step4]: 重新上传插件包

在这里插入图片描述
在这里插入图片描述

8. WooCommerce插件配置

[Step1]: 启用WooCommerce插件

在这里插入图片描述

[Step2]: 启用WooCommerce插件后,会自动跳转到WooCommerce的配置页,根据提示安装即可

在这里插入图片描述

[Step3]: 选择你在商业旅程中的方位,可以根据情况进行配置

在这里插入图片描述

[Step4]: 选择商店的相关信息,以及销售的产品类型

在这里插入图片描述

[Step5]: 接下来会提示你可以安装一些免费的商业插件来增强效果,我们这里选择跳过
在这里插入图片描述
在这里插入图片描述

[Step6]: 配置完成

在这里插入图片描述

9. 商品上架与定价

[Step1]: 在WooCommerce中,提供了三种方式给我们上架商品,以下我们使用单个定制上传

  • 单个定制上传
  • 通过txt文本导入
  • 通过csv文本导入

在这里插入图片描述

[Step2]: 添加商品名称、描述

在这里插入图片描述

[Step3]: 上传商品图片

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

[Step4]: 添加产品标签

在这里插入图片描述

在这里插入图片描述

[Step5]: 设置产品定价

在这里插入图片描述

[Step6]: 设置产品简要描述信息

在这里插入图片描述

[Step7]: 发布产品

在这里插入图片描述

[Step8]: 使用浏览器访问,可以看到我们刚刚发布的商品

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2273384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Spring源码分析之事件机制——观察者模式(一)

目录 事件基类定义 事件监听器接口 事件发布者接口及实现 事件广播器实现 小小总结 Spring源码分析之事件机制——观察者模式&#xff08;一&#xff09;-CSDN博客 Spring源码分析之事件机制——观察者模式&#xff08;二&#xff09;-CSDN博客 Spring源码分析之事件机制…

JDK、JRE、JVM三者的关系、JDK8的新特性、JVM内存结构,堆栈的区别

1&#xff0e;JDK、JRE、JVM三者的关系 JDK (Java Development Kit)----Java开发工具包&#xff0c;用于Java程序的开发。 JRE (Java Runtime Environment)----Java运行时环境&#xff0c;只能运行.class文件&#xff0c;不能编译。 JVM (Java Virtual Machine)----Java虚拟…

【Linux】文件的压缩与解压

目录 gzip和 gunzip bzip2 和 bunzip2(特点和gzip相似) xz和unxz(特点和gzip相似) zip 和 unzip tar gzip和 gunzip 特点&#xff1a;只能对单个的普通文件进行压缩 不能进行归档&#xff0c;压缩或解压后的源文件都不存在 压缩后所生成的压缩格式是.gz格式 压缩&…

LInux单机安装Redis

1. 安装gee工具包 由于Redis是基于c语言编写的所以安装的时候需要先安装gee以及gcc的依赖,yum云用不了可以看一下这个 linux 替换yum源镜像_更换yum镜像源-CSDN博客 yum install -y gcc tcl 2. 添加redis的压缩包 3. 上传到Linux 上传到 /usr/local/src 目录、这个目录一般用于…

VSCode 使用鼠标滚轮控制字体

一、 文件 | 首选项 | 设置 二、单击在 settings.json中编辑 "editor.mouseWheelZoom": true 注注注意&#xff1a;保存哦&#xff01;ctrlS 三、测试 按住ctrl鼠标滚轮&#xff0c;控制字体大小

enzymejest TDD与BDD开发实战

一、前端自动化测试需要测什么 1. 函数的执行逻辑&#xff0c;对于给定的输入&#xff0c;输出是否符合预期。 2. 用户行为的响应逻辑。 - 对于单元测试而言&#xff0c;测试粒度较细&#xff0c;需要测试内部状态的变更与相应函数是否成功被调用。 - 对于集成测试而言&a…

TCP通信原理学习

TCP三次握手和四次挥手以及为什么_哔哩哔哩_bilibili

空间不足导致Oracle集群内存使用率暴增

一、现象 操作系统内存使用率告警&#xff0c;已达到98%,&#xff0c;告警内容如下&#xff1a; 【全景监控&#xff1a;Oracle主机内存使用监控】 【主机名】&#xff1a;XXXXX11 【主机IP】主机IP&#xff1a;*.126.15 【告警内容】当前内存使用率为98.9%&#xff0c;超警…

嵌入式入门Day38

C Day1 第一个C程序C中的输入输出输出操作coutcin练习 命名空间使用方法自定义命名空间冲突问题 C对字符串的扩充C风格字符串的使用定义以及初始化C风格字符串与C风格字符串的转换C风格的字符串的关系运算常用的成员变量输入方法 布尔类型C对堆区空间使用的扩充作业 第一个C程序…

【JMM】Java 内存模型

&#x1f970;&#x1f970;&#x1f970;来都来了&#xff0c;不妨点个关注叭&#xff01; &#x1f449;博客主页&#xff1a;欢迎各位大佬!&#x1f448; 文章目录 1. 前言2. JMM 内存模型内容3. JMM 内存模型简单执行示意图 ⚠️ 不要与 JVM 内存分布混为一谈论&#xff0c…

SEO新革命:如何通过Search Everywhere优化全面打破搜索壁垒

谷歌不再总是人们寻求答案的首选之地。他们越来越多地转向社交媒体、YouTube、亚马逊和 ChatGPT。这些平台本身已经成为搜索引擎。 因此&#xff0c;SEO 需要发展。仅靠搜索 “引擎” 优化已经不够了。品牌需要优化其在每个平台上的自然存在。 您需要一种新型的 SEO&#xff…

Spring 设计模式:经典设计模式

Spring 设计模式&#xff1a;经典设计模式 引言 Spring 框架广泛使用了经典设计模式。 这些模式在 Spring 内部发挥着重要作用。 通过理解这些设计模式在 Spring 中的应用&#xff0c;开发者可以更深入地掌握 Spring 框架的设计哲学和实现细节。 经典设计模式 控制反转&am…

“AI 视频图像识别系统,开启智能新视界

咱老百姓现在的生活啊&#xff0c;那是越来越离不开高科技了&#xff0c;就说这 AI 视频图像识别系统&#xff0c;听起来挺高大上&#xff0c;实际上已经悄无声息地融入到咱们日常的方方面面&#xff0c;给咱带来了超多便利。 先讲讲安防领域吧&#xff0c;这可是 AI 图像识别的…

开源AI智能名片2+1链动模式S2B2C商城小程序在商业流量获取中的应用研究

摘要&#xff1a; 随着互联网技术的迅猛发展&#xff0c;商业流量的获取已成为企业市场竞争中的关键环节。传统意义上的“客流量”在互联网语境下被赋予了新的内涵&#xff0c;即“商业流量”&#xff0c;其本质依然指向用户。在当前线上线下融合的商业环境中&#xff0c;流量…

【蓝桥杯研究生组】第14届Java试题答案整理

试题链接&#xff1a;链接 A题 满足条件的答案有&#xff1a;35813116 public class TianShu {public static void main(String[] args) {int ans 0;// 2000.1.1 - 2000000.1.1// 年份是月份的倍数&#xff0c;也是日的倍数for (int year2000; year<2000000; year) {for …

c/c++ 里的进程间通信 , 管道 pipe 编程举例

&#xff08;1&#xff09;以下是一个网上的使用 pipe 编程的范例&#xff1a; #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> #include <sys/types.h> #include <sys/wait.h>int main() {int pipefd…

RK3588+FPGA全国产异步LED显示屏控制卡/屏幕拼接解决方案

RK3588FPGA核心板采用Rockchip RK3588新一代旗舰 级八核64位处理器&#xff0c;支持8K视频编解码&#xff0c;多屏4K输出&#xff0c;可实现12屏联屏拼接、同显、异显&#xff0c;适配多种操作系统&#xff0c;广泛适用于展览展示、广告内容投放、新零售、商超等领域实现各种媒…

uniapp使用chooseLocation安卓篇

本文章全部以高德地图为例 代码 <view class"bottom"><button click"choose">定位</button> </view> choose() {uni.chooseLocation({success: function(res) {console.log(位置名称&#xff1a; res.name);console.log(详细地…

flutter 专题三十三 Flutter 重构去哪儿QTalk

QTalk 是去哪儿网内部的一个 IM 沟通工具&#xff0c;同时集成了很多内部的系统&#xff0c;比如 OA 审批&#xff0c;门禁打卡&#xff0c;请假审批&#xff0c;预定会议室&#xff0c;驼圈&#xff08;驼厂朋友圈&#xff09;等功能&#xff1b;方便内部办公沟通、交流的同时…

任务调度之Quartz(二):Quartz体系结构

1、Quartz 体系结构 由上一篇的Quartz基本使用可以发现&#xff0c;Quartz 主要包含一下几种角色&#xff1a; 1&#xff09;Job&#xff1a;也可以认为是JobDtetail&#xff0c;表示具体的调度任务 2&#xff09;Trigger&#xff1a;触发器&#xff0c;用于定义任务Job出发执行…