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

系统版本信息: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. 节点设置

主机 网络信息
wordpress 192.37.26.10/24

2. 基础环境配置

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

handlebars 复制代码
[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

handlebars 复制代码
[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软件包

handlebars 复制代码
[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服务

handlebars 复制代码
[root@wordpress ~]# dnf install -y nginx

[Step2]: 编辑nginx配置文件

handlebars 复制代码
[root@wordpress ~]# vim /etc/nginx/nginx.conf

# 修改后内容如下
handlebars 复制代码
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配置文件语法

handlebars 复制代码
[root@wordpress ~]# nginx -t

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

handlebars 复制代码
[root@wordpress ~]# systemctl enable --now nginx.service

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

4. MySQL服务配置

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

handlebars 复制代码
[root@wordpress ~]# dnf remove -y mariadb mariadb-server

[Step2]: 安装MySQL

handlebars 复制代码
[root@wordpress ~]# dnf install -y mysql mysql-server

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

handlebars 复制代码
[root@wordpress ~]# systemctl enable --now mysqld.service

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

handlebars 复制代码
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用户验证登录,新建表验证权限

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

5. 安装PHP

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

handlebars 复制代码
[root@wordpress ~]# dnf install -y php*

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

handlebars 复制代码
[root@wordpress ~]# vim /etc/php-fpm.d/www.conf

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

[Step3]: 编辑php.ini文件

handlebars 复制代码
[root@wordpress ~]# vim /etc/php.ini

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

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

handlebars 复制代码
[root@wordpress ~]# systemctl enable --now php-fpm.service

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

handlebars 复制代码
[root@wordpress ~]# ps -ef | grep php-fpm

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

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

6. 安装WordPress

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

handlebars 复制代码
[root@wordpress ~]# rm -rf /usr/share/nginx/html/*

[Step2]: 上传WordPress软件包

[Step3]: 解压软件包

handlebars 复制代码
[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

handlebars 复制代码
[root@wordpress ~]# chown nginx:nginx -R /usr/share/nginx/html/

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

设置方式1:通过Web界面设置

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

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

handlebars 复制代码
[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块中定义
handlebars 复制代码
client_max_body_size 100M;		# 设置允许的最大请求体位100MB
  • 将插件包上传到服务器中,然后解压到/usr/share/nginx/html/wp-content/plugins目录下

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

handlebars 复制代码
[root@wordpress ~]# vim /etc/nginx/nginx.conf

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

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

handlebars 复制代码
[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]: 使用浏览器访问,可以看到我们刚刚发布的商品



相关推荐
Web极客码3 天前
WordPress 站点漏洞利用:数据库恶意注入与多重感染的案例分析
数据库·wordpress·网站安全·数据库注入·wordpress漏洞·wordpress安全插件
wodrpress资源分享14 天前
怎么让二级域名绑定到wordpesss指定的页面
wordpress
wodrpress资源分享18 天前
WordPress用 Options Framework 创建一个自定义相册功能
wordpress
wodrpress资源分享18 天前
经典风格的免费wordpress模板
wordpress
wodrpress资源分享1 个月前
推荐12个wordpress企业网站模板
wordpress
Web极客码1 个月前
在WordPress上添加隐私政策页面
大数据·人工智能·wordpress
wodrpress资源分享1 个月前
wordpress免费主题网站
wordpress
云动雨颤1 个月前
Cloudflare子域名设置指南
网络协议·安全·wordpress
wodrpress资源分享1 个月前
三大中文wordpress原创主题汉主题
wordpress
八戒社1 个月前
如何使用插件和子主题添加WordPress自定义CSS(附:常见错误)
前端·css·tensorflow·wordpress