LNMP/LAMP 项目实战教程
本文档包含三篇实战:MariaDB 基础、WordPress 博客平台部署、ECshop 电商平台部署
第一篇:MariaDB 基础教程(CentOS7)
环境准备
| 主机名 | IP地址 |
|---|---|
| mariadb-server | 10.1.8.10/24 |
| mariadb-client | 10.1.8.11/24 |
MariaDB 是 MySQL 的社区分支,语法几乎完全兼容 MySQL,命令、配置、主从复制大部分通用。在 CentOS 7 中,MariaDB 是默认的 MySQL 替代方案。
一、安装
基础配置
以下配置针对 mariadb-server 和 mariadb-client 两台主机分别执行。
bash
# mariadb-server
hostnamectl set-hostname mariadb-server
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.1.8.10/24 \
ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
nmcli connection up ens33
# mariadb-client
hostnamectl set-hostname mariadb-client
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.1.8.11/24 \
ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
nmcli connection up ens33
bash
# CentOS7 yum安装
[root@mariadb-server ~]# yum install -y mariadb mariadb-server
# 启动开机自启
systemctl start mariadb
systemctl enable mariadb
# 查看状态
systemctl status mariadb
安全初始化(必做)
注意:生产环境必须执行安全初始化,否则数据库存在严重安全隐患。
bash
[root@mariadb-server ~]# mysql_secure_installation
交互要点:
- 回车,无 root 密码
- 设置 root 密码
y - 删除匿名用户
y - 禁止 root 远程登录
y - 删除 test 库
y - 刷新权限
y
提示 :mysql_secure_installation 是 MariaDB/MySQL 提供的安全配置脚本,会自动完成设置 root 密码、删除匿名用户、禁止 root 远程登录、删除 test 库等安全加固操作。生产环境务必执行。
二、基础 SQL 命令
⚠️ 注意 :每条 SQL 语句结尾必须以 ; 分号结束。
1. 库操作
bash
# 本地登录
[root@mariadb-server ~]# mysql -uroot -p
Enter password: huawei
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.68-MariaDB MariaDB Server
# 指定主机端口
[root@mariadb-server ~]# mysql -uroot -p -h127.0.0.1 -P3306
提示 :-u 指定用户名,-p 提示输入密码,-h 指定主机地址,-P 指定端口号(默认3306)。
sql
-- 查看所有数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)
-- 创建数据库
MariaDB [(none)]> create database school;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| school |
+--------------------+
4 rows in set (0.00 sec)
-- 指定字符集创建(推荐utf8mb4支持emoji)
MariaDB [(none)]> create database school2 default character set utf8mb4 collate utf8mb4_general_ci;
Query OK, 1 row affected (0.00 sec)
-- 删除数据库
MariaDB [(none)]> drop database school2;
Query OK, 0 rows affected (0.00 sec)
-- 切换数据库
MariaDB [(none)]> use school;
Database changed
提示 :推荐使用 utf8mb4 字符集而非 utf8。MariaDB/MySQL 中的 utf8 实际只支持最多3字节编码,无法存储 emoji 等特殊字符。utf8mb4 是真正的 UTF-8,支持4字节编码。
2. 表操作
sql
-- 查看当前库所有表
MariaDB [school]> show tables;
Empty set (0.00 sec)
-- 创建表
create table student(
id int primary key auto_increment,
name varchar(20),
age int
);
-- 查看表结构
MariaDB [school]> desc student;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
-- 查看建表语句
MariaDB [school]> show create table student\G
*************************** 1. row ***************************
Table: student
Create Table: CREATE TABLE `student` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(20) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
-- 删除表
MariaDB [school]> drop table student2;
Query OK, 0 rows affected (0.00 sec)
提示 :auto_increment 表示该字段自动递增,通常用于主键;varchar(20) 表示可变长度字符串,最大20个字符;InnoDB 是 MariaDB/MySQL 的默认存储引擎,支持事务和行级锁。
3. DML 增删改查
提示:DML(Data Manipulation Language)数据操作语言,包括 INSERT(插入)、UPDATE(更新)、DELETE(删除)、SELECT(查询)四种基本操作。
sql
-- 插入
MariaDB [school]> insert into student(name,age) values('zhangsan',18),
('lisi',20);
Query OK, 2 rows affected (0.00 sec)
-- 查询
MariaDB [school]> select * from student;
+----+----------+------+
| id | name | age |
+----+----------+------+
| 1 | zhangsan | 18 |
| 2 | lisi | 20 |
+----+----------+------+
2 rows in set (0.00 sec)
-- 更新
MariaDB [school]> update student set age=19 where id=1;
Query OK, 1 row affected (0.00 sec)
MariaDB [school]> select * from student;
+----+----------+------+
| id | name | age |
+----+----------+------+
| 1 | zhangsan | 19 |
| 2 | lisi | 20 |
+----+----------+------+
2 rows in set (0.00 sec)
-- 删除
MariaDB [school]> delete from student where id=2;
Query OK, 1 row affected (0.00 sec)
MariaDB [school]> select * from student;
+----+----------+------+
| id | name | age |
+----+----------+------+
| 1 | zhangsan | 19 |
+----+----------+------+
1 row in set (0.00 sec)
警告 :DELETE 语句不带 WHERE 条件将删除整表数据!执行删除操作前务必先确认 WHERE 条件正确,建议先用 SELECT 验证条件。
4. 用户与权限
sql
-- 创建用户,允许本地登录
create user 'admin'@'localhost' identified by '123456';
-- 允许任意地址登录
create user 'admin'@'%' identified by '123456';
create user 'test'@'%' identified by '123456';
-- 查看创建的账号
MariaDB [(none)]> select user,host from mysql.user;
+-------+-----------+
| user | host |
+-------+-----------+
| admin | % |
| admin | localhost |
| test | % |
+-------+-----------+
-- 授权
grant all privileges on school.* to 'admin'@'localhost';
grant all privileges on school.* to 'admin'@'%';
-- 刷新权限
flush privileges;
-- 查看权限
MariaDB [(none)]> show grants for 'admin'@'localhost';
+--------------------------------------------------------------------------------+
| Grants for admin@localhost |
+--------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'admin'@'localhost' |
| GRANT ALL PRIVILEGES ON `school`.* TO 'admin'@'localhost' |
+--------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
权限粒度说明:*.* 表示所有库所有表;school.* 表示 school 库的全部表。'admin'@'%' 中的 % 表示允许从任意 IP 地址连接。生产环境中建议限制具体 IP,如 'admin'@'10.1.8.%'。
三、配置文件
- 主配置文件:
/etc/my.cnf - 子配置目录:
/etc/my.cnf.d/*.cnf - 常用配置片段:
/etc/my.cnf.d/server.cnf
修改配置后重启服务:
bash
systemctl restart mariadb
防火墙放行 3306 端口,否则外部无法连接:
bash
firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload
常用配置参数说明:
ini
[mysqld]
# 数据库id,主从复制必须不一样,单机随便写
server-id=1
# 数据目录
datadir=/var/lib/mysql
# 监听地址,0.0.0.0允许远程访问
bind-address=0.0.0.0
# 默认字符集
character-set-server=utf8mb4
# 开启binlog(主从复制需要)
log_bin=mysql-bin
binlog_format=mixed
[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid
💡 提示:
server-id:主从复制时主库和从库的 ID 必须不同bind-address=0.0.0.0:允许远程连接,生产环境建议限制为具体 IPlog_bin=mysql-bin:开启二进制日志,是主从复制的基础binlog_format=mixed:混合模式,默认用语句模式,遇到不确定语句自动切换为行模式
四、主从复制基础(一主一从)
MariaDB 主从复制原理

MariaDB 主从复制是指主库将数据变更以日志形式传输给从库,从库重放日志实现数据一致。
核心组件说明:
| 组件 | 说明 |
|---|---|
| 主库二进制日志(binlog) | 主库核心日志,记录所有修改数据的 SQL(增删改、建表等),是主从同步的"数据源头" |
| 从库中继日志(relay log) | 从库本地日志,存储从主库获取的 binlog 内容,避免直接通过网络读取主库 binlog |
| 主库 binlog dump 线程 | 负责向从库传输 binlog |
| 从库 IO 线程 | 负责连接主库、拉取 binlog 并写入本地 relay log |
| 从库 SQL 线程 | 负责读取 relay log、执行其中的 SQL,还原主库数据变更 |
主从同步完整原理流程
步骤 1:主库记录数据变更到 binlog
当主库执行数据变更操作(如 INSERT/UPDATE/DELETE、CREATE TABLE 等)时:
- 操作先写入事务日志(redo log)保证数据持久化;
- 事务提交时,MySQL 会将该操作的 SQL(或数据变更事件)按顺序写入 binlog;
步骤 2:从库 IO 线程连接主库,请求同步 binlog
从库启动后,IO 线程会主动连接主库,并向主库发送两个关键信息:
- 要同步的主库 binlog 文件名称;
- 要同步的 binlog 位置(position)(即从哪个位置开始读取);
首次同步时,从库会请求主库全量数据的 binlog(或先全量备份再同步增量),后续仅请求增量 binlog。
步骤 3:主库 binlog dump 线程传输 binlog 给从库
主库接收到从库的同步请求后,会创建 binlog dump 线程响应:
- 该线程根据从库指定的 binlog 文件和位置,读取主库 binlog 中的增量数据;
- 将读取到的 binlog 内容(事件)通过网络传输给从库的 IO 线程;
- 主库会记录"哪些从库正在同步哪个 binlog 位置",确保从库断线重连后能续传。
步骤 4:从库 IO 线程写入 relay log
从库 IO 线程接收到主库传输的 binlog 内容后:
- 不会直接执行,而是先写入本地的 relay log(中继日志),避免网络中断导致数据丢失;
- 同时更新从库状态文件(master.info/relay-log.info),记录已同步的主库 binlog 文件+位置、本地 relay log 的文件+位置;
确保从库重启后能继续同步,不重复/遗漏数据。
步骤 5:从库 SQL 线程重放 relay log,实现数据一致
从库 SQL 线程会实时读取 relay log 中的内容:
- 按顺序解析 relay log 中的 binlog 事件(SQL 或行变更);
- 在从库本地执行这些事件对应的操作,还原主库的数据变更;
- 执行完成后,更新 relay-log.info,标记已处理的 relay log 位置,避免重复执行。
主从复制实战配置
环境规划:
| 主机名 | IP地址 | 角色 |
|---|---|---|
| mariadb-server1 | 10.1.8.10/24 | 主库(Master) |
| mariadb-server2 | 10.1.8.11/24 | 从库(Slave) |
基础配置(两台主机均执行):
bash
# mariadb-server1
hostnamectl set-hostname mariadb-server1
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.1.8.10/24 \
ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
nmcli connection up ens33
# mariadb-server2
hostnamectl set-hostname mariadb-server2
nmcli connection modify ens33 ipv4.method manual ipv4.addresses 10.1.8.11/24 \
ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
nmcli connection up ens33
bash
# CentOS7 yum安装(两台均执行)
yum install -y mariadb mariadb-server
systemctl start mariadb
systemctl enable mariadb
安全初始化(必做,两台均执行):
bash
mysql_secure_installation
交互要点:
- 回车,无 root 密码
- 设置 root 密码
y - 删除匿名用户
y - 禁止 root 远程登录
y - 删除 test 库
y - 刷新权限
y
主库配置(mariadb-server1)
bash
[root@mariadb-server1 ~]# vim /etc/my.cnf
在 [mysqld] 下添加:
ini
[mysqld]
# 添加两行
server-id=1
log_bin=mysql-bin
重启服务:
bash
[root@mariadb-server1 ~]# systemctl restart mariadb.service
创建复制账号:
sql
[root@mariadb-server1 ~]# mysql -uroot -phuawei
MariaDB [(none)]> create user 'repl'@'%' identified by 'Repl@123456';
MariaDB [(none)]> grant replication slave on *.* to 'repl'@'%';
MariaDB [(none)]> flush privileges;
-- 查看 binlog 状态,记下 File 和 Position 值
MariaDB [(none)]> show master status;
+------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000001 | 548 | | |
+------------------+----------+--------------+------------------+
1 row in set (0.00 sec)
提示 :show master status 输出的 File 和 Position 值是从库配置主从同步时必须填写的关键参数,表示从库将从主库的哪个 binlog 文件的哪个位置开始同步。
从库配置(mariadb-server2)
bash
[root@mariadb-server2 ~]# vim /etc/my.cnf
在 [mysqld] 下添加:
ini
[mysqld]
# 添加两行
server-id=2
relay_log=mysql-relay-bin
重启服务:
bash
[root@mariadb-server2 ~]# systemctl restart mariadb.service
配置主库信息并启动同步:
sql
[root@mariadb-server2 ~]# mysql -uroot -phuawei
MariaDB [(none)]> change master to
master_host='10.1.8.10',
master_user='repl',
master_password='Repl@123456',
master_log_file='mysql-bin.000001',
master_log_pos=548;
MariaDB [(none)]> start slave;
查看从库同步状态:
sql
MariaDB [(none)]> show slave status\G
⚠️ 关键检查点 :Slave_IO_Running: Yes 和 Slave_SQL_Running: Yes 同时为 Yes 时,代表复制正常。如果任一为 No,请检查网络、账号权限、binlog 文件及位置是否正确。
验证主从同步:
sql
-- 在主库创建数据库
MariaDB [(none)]> create database qingqingcaoyuan;
-- 在从库查看(server2没创建也有了)
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| qingqingcaoyuan |
+--------------------+
4 rows in set (0.00 sec)
提示:主从复制成功后,在主库创建数据库或表的操作会自动同步到从库。这实现了数据冗余和读写分离的基础。生产环境中建议定期备份主库全量数据,避免仅依赖主从复制。
第二篇:项目实战 --- LAMP 博客平台 WordPress
项目概述
WordPress 是一款个人博客系统,并逐步演化成一款内容管理系统软件(CMS),使用 PHP 语言和 MySQL/MariaDB 数据库开发。用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客。
💡 提示:WordPress 是全球使用最广泛的 CMS 系统, powering 超过 40% 的互联网网站。LAMP 架构(Linux + Apache + MySQL/MariaDB + PHP)是部署 WordPress 的经典技术栈。
节点规划
| 节点名称 | 节点IP | 节点功能 |
|---|---|---|
| wordpress | 10.1.8.10/24 | LAMP |
前提条件
用 CentOS 7 模板克隆一台 server。
基础配置
bash
[root@localhost ~]# hostnamectl set-hostname wordpress
[root@localhost ~]# nmcli connection modify ens33 ipv4.method manual \
ipv4.addresses 10.1.8.10/24 ipv4.gateway 10.1.8.2 ipv4.dns 10.1.8.2 autoconnect yes
[root@localhost ~]# nmcli connection up ens33
准备好 LAMP 环境
bash
[root@wordpress ~]# wget -O /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
[root@wordpress ~]# yum install -y mariadb-server mariadb php php-fpm php-mysqlnd \
php-gd php-mbstring php-xml httpd
[root@wordpress ~]# systemctl enable mariadb --now
[root@wordpress ~]# systemctl enable php-fpm --now
[root@wordpress ~]# systemctl enable httpd --now
提示:
mariadb-server:数据库服务php-fpm:PHP FastCGI 进程管理器,Apache 通过 mod_proxy_fcgi 与 PHP-FPM 交互php-mysqlnd:PHP 连接 MySQL/MariaDB 的原生驱动php-gd:图像处理库,WordPress 缩略图等功能依赖php-mbstring:多字节字符串处理,支持中文等多字节字符php-xml:XML 解析,WordPress 导入导出等功能依赖
准备数据库
bash
# 安全初始化
[root@wordpress ~]# mysql_secure_installation
交互要点:
- 回车,无 root 密码
- 设置 root 密码
y - 删除匿名用户
y - 禁止 root 远程登录
n(项目常用选 n;安全服务器选 y) - 删除 test 库
y - 刷新权限
y
bash
[root@wordpress ~]# mysql -u root -phuawei
sql
MariaDB [(none)]> CREATE DATABASE wordpress;
MariaDB [(none)]> CREATE USER wordpress@localhost IDENTIFIED BY 'huawei';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON wordpress.* TO wordpress@localhost;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
提示:为 WordPress 创建独立的数据库和用户,遵循最小权限原则。不要使用 root 用户连接数据库。
准备 WordPress
这里使用 wordpress-4.9.4 版本,该版本部署起来简单。
bash
# 上传到 root 用户家目录
[root@wordpress ~]# unzip wordpress-4.9.4-zh_CN.zip
[root@wordpress ~]# cp -aR wordpress /var/www/html/
[root@wordpress ~]# chown -R apache:apache /var/www/html/wordpress/
[root@wordpress ~]# systemctl restart httpd
配置数据库
客户端登录 http://www.hyc.cloud/wordpress/
提示 :将 www.hyc.cloud 添加到本地 hosts 文件中,指向服务器 IP,即可在浏览器中访问。
方式一:网页端配置
访问 http://www.hyc.cloud/wordpress/,在网页中填写数据库名称(wordpress)、用户名(wordpress)、密码(huawei)、数据库主机(localhost),点击"提交"后点击"运行安装"。
方式二:手动配置文件
bash
# 设置WordPress后端数据库
[root@wordpress ~]# cd /var/www/html/wordpress/
[root@wordpress ~]# cp wp-config-sample.php wp-config.php
[root@wordpress ~]# vim wp-config.php
更改如下四个参数:
php
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'wordpress');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'huawei');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** WordPress数据表前缀 */
$table_prefix = 'wp_';
提示 :$table_prefix 建议修改为自定义前缀,增加安全性,防止 SQL 注入攻击。
设置目录权限,确保 apache 用户可以创建文件:
bash
[root@wordpress ~]# chown -R 755 /var/www/html/wordpress/
配置网站
在网页中填写站点标题、管理员用户名(hyc)、密码、邮箱等信息,点击"安装 WordPress"。
管理网站
安装完成后,使用创建的管理员账号登录 WordPress 后台:
- 登录地址:
http://www.hyc.cloud/wordpress/wp-admin - 用户名:hyc
- 密码:您设定的密码
提示:
- 安装完成后建议立即修改默认密码,使用强密码
- 定期更新 WordPress 核心、主题和插件到最新版本
- 安装安全插件(如 Wordfence)增强防护
- 定期备份网站文件和数据库
第三篇:项目实战 --- LNMP 电商平台 ECshop
项目概述
ECShop 是一款 B2C 独立商城系统,适用于企业搭建自己的网上商店。ECShop 多场景在线商城,支持商品管理、订单管理、会员管理、支付配送等功能。💡 提示:ECShop 早期由 ShopEx 开发,是国内经典的电商开源项目。LNMP 架构(Linux + Nginx + MySQL/MariaDB + PHP)相比 LAMP 在静态文件和并发处理上性能更优。
节点规划
| 节点名称 | 节点IP | 节点功能 |
|---|---|---|
| ecshop | 10.1.8.10/24 | LNMP |
准备 LNMP 环境
准备 Nginx
bash
[root@ecshop ~]# wget -O /etc/yum.repos.d/epel.repo \
http://mirrors.aliyun.com/repo/epel-7.repo
[root@ecshop ~]# yum install -y nginx
[root@ecshop ~]# systemctl enable nginx.service --now
[root@ecshop ~]# echo "Nginx Test Page" > /usr/share/nginx/html/index.html
准备 MariaDB
bash
[root@ecshop ~]# yum install -y mariadb-server
[root@ecshop ~]# systemctl enable mariadb --now
安全初始化:
bash
[root@ecshop ~]# mysql_secure_installation
交互要点:
- 回车,无 root 密码
- 设置 root 密码
y - 删除匿名用户
y - 禁止 root 远程登录
n(项目常用选 n) - 删除 test 库
y - 刷新权限
y
准备 PHP
bash
[root@ecshop ~]# yum install -y php php-fpm php-mysqlnd php-gd php-mbstring php-xml
更改 php-fpm 用户配置:
bash
# 更改以下两条记录
# user = apache
user = nginx
# group = apache
group = nginx
[root@ecshop ~]# systemctl enable php-fpm.service --now
提示 :LAMP 架构中 php-fpm 运行用户为 apache,而 LNMP 架构中 Nginx 运行用户为 nginx,因此需要将 php-fpm 的运行用户也改为 nginx,确保文件读写权限一致。
客户端测试 PHP 是否正常工作:
bash
[root@ecshop ~]# echo "<?php echo 'PHP Test Page'.\"\\n\"; ?>" > \
/usr/share/nginx/html/test.php
浏览器访问 http://服务器IP/test.php,应显示 "PHP Test Page"。
配置 Nginx 虚拟主机
bash
[root@ecshop ~]# vim /etc/nginx/conf.d/vhost-shop.hyc.cloud.conf
nginx
server {
listen 80;
listen [::]:80;
server_name shop.hyc.cloud;
root /usr/share/nginx/html;
# 设置默认主页
index index.php;
# 设置php页面处理方式
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
bash
[root@ecshop ~]# systemctl restart nginx
提示:
server_name设置为shop.hyc.cloud,需要在本地 hosts 文件中添加10.1.8.10 shop.hyc.cloudfastcgi_pass 127.0.0.1:9000将 PHP 请求转发给 php-fpm 处理fastcgi_param SCRIPT_FILENAME确保 PHP 能正确获取脚本的绝对路径
准备数据库
bash
[root@ecshop ~]# mysql -u root -phuawei
sql
MariaDB [(none)]> CREATE DATABASE ecshop;
MariaDB [(none)]> CREATE USER ecshop@localhost IDENTIFIED BY 'huawei';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ecshop.* TO ecshop@localhost;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit
准备 ECshop 站点
准备 ecshop 站点数据文件,这里使用 ECShop_V4.1.20 版本。
bash
# 上传到 root 用户家目录
[root@ecshop ~]# unzip ECShop_V4.1.20_UTF8.zip
[root@ecshop ~]# mv /usr/share/nginx/html/ /usr/share/nginx/html.ori
[root@ecshop ~]# cp -a ECShop_V4.1.20_UTF8_release20250416/source/ecshop \
/usr/share/nginx/html
[root@ecshop ~]# chown nginx:nginx -R /usr/share/nginx/html
安装站点需要的各种扩展包:
bash
[root@ecshop ~]# yum install -y php-gd php-common php-pear php-mbstring \
php-mcrypt php-mysqlnd
[root@ecshop ~]# chown nginx:nginx -R /var/lib/php/
[root@ecshop ~]# systemctl restart nginx php-fpm
提示:
php-gd:图像处理,商品图片缩略图生成php-mbstring:多字节字符串处理,支持中文php-mcrypt:加密扩展,ECShop 部分功能依赖php-mysqlnd:MySQL 连接驱动- 部署后务必删除
install目录,防止被恶意访问
ECshop 配置
客户端登录 http://shop.hyc.cloud
- 勾选协议,点击下一步:配置安装环境
- 点击下一步:配置系统
- 页面上方出现的 Warning,提示使用系统时区不安全,暂时忽略
- 输入数据库账户信息后,点击搜索,选中搜索到的数据库
- 时区选择亚洲,中国,上海,点击立即安装
- 激活系统,享受更多服务。不激活也可以使用。
ECshop 访问
- 商城首页:
http://shop.hyc.cloud - 商城管理后台:
http://shop.hyc.cloud/admin
提示:
- 首次登录后台使用安装时设置的管理员账号
- 默认管理员账号为 admin,建议安装后立即修改密码
- 商店基本信息(名称、地址、配送方式、支付方式等)可在后台"开店向导"中配置
- 建议配置 SSL 证书,启用 HTTPS 保障交易安全
- 定期备份商城数据库和文件