保姆级教程|CentOS7 LNMP搭建ECShop电商网站(一键复刻、零报错)

摘要:很多Linux运维新手、在校同学做建站实训、课程大作业时,苦于没有完整的电商系统部署实战案例。本文基于CentOS 7系统,搭配LNMP架构,从零手把手教大家部署经典开源单商户ECShop电商系统,全程可复制命令、无冗余操作、规避99%部署报错,零基础也能一次性搭建成功,适合新手实战练手、项目落地。

关键词:CentOS7;LNMP;ECShop;电商网站部署;Linux建站实战

一、前言

很多同学初学 Linux 建站,大多只接触过静态页面、个人博客,想要实战搭建一套完整的电商商城系统,ECShop 绝对是首选入门项目。

ECShop 是国内经典开源单商户商城系统,拥有完整的商品管理、订单管理、会员体系、后台权限管理等全套电商功能,具备架构轻量、部署简单、兼容性极强的特点,非常适合 Linux 运维实训、Web 建站入门、计算机课程大作业实战。

本文基于 CentOS 7 + LNMP 架构,从零完成 ECShop 商城完整部署,全程命令可直接复制粘贴,步骤极简、避坑完善,零基础也能一次部署成功

二、项目环境介绍

2.1 项目架构

  • 操作系统:CentOS 7

  • 运行环境:LNMP(Nginx + MariaDB + PHP)

  • 商城程序:ECShop_V4.1.20 UTF8 稳定版

2.2 服务器节点规划

节点名称节点 IP核心功能
ecshop10.1.8.10/24部署 Nginx、MariaDB、PHP、运行 ECShop 商城项目

三、服务器基础初始化(必做)

部署前必须关闭防火墙与 SELinux,规避端口拦截、权限不足、页面访问异常等90%的常见部署报错,是建站前置核心步骤。

# 修改主机名为ecshop
[root@fangbing ~ 16:06:52]# hostnamectl set-hostname ecsho

# 修改静态ip地址,并生效
[root@ecshop ~ 16:07:09]# 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@ecshop ~ 16:14:42]# nmcli connection up ens33

# 关闭防火墙并禁止开机自启
[root@ecshop ~ 16:14:48]# systemctl disable firewalld --now

# 临时关闭SELinux
[root@ecshop ~ 16:15:20]# setenforce 0

# 永久关闭SELinux
[root@ecshop ~ 16:15:48]# sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

四、搭建 LNMP 运行环境

4.1 配置阿里云 EPEL 源

CentOS7 默认官方源软件依赖不全,缺少PHP拓展、各类运行依赖包,需配置EPEL拓展源。采用阿里云镜像源,下载速度更快、稳定性更高,彻底解决依赖安装失败问题。

# 下载阿里云epel-7源替换系统默认源
[root@ecshop ~ 16:18:24]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

# 清空并刷新yum缓存
[root@ecshop ~ 16:18:28]# yum clean all && yum makecache

4.2 安装并启动 Nginx

Nginx作为核心Web服务,负责承接网站访问请求、解析静态资源、转发PHP动态请求,是商城运行的基础服务。

# 安装Nginx服务
[root@ecshop ~ 16:19:51]# yum -y install nginx

# 设置开机自启并立即启动服务
[root@ecshop ~ 16:20:04]# systemctl enable nginx --now

# 写入测试页面,验证Nginx正常运行
[root@ecshop ~ 16:20:39]# echo 'nginx test!' > /usr/share/nginx/html/index.html 

在这里插入图片描述

4.3 安装并初始化 MariaDB 数据库

MariaDB兼容MySQL语法,轻量稳定,适配ECShop数据库需求,用于存储商城商品、订单、会员等所有数据。

# 安装数据库服务
[root@ecshop ~ 16:22:39]# yum -y install mariadb-server

# 设置开机自启并启动数据库
[root@ecshop ~ 16:23:35]# systemctl enable mariadb --now

# 执行数据库安全初始化
[root@ecshop ~ 16:24:00]# mysql_secure_installation
数据库初始化关键操作(必看)
  1. 初始密码为空,直接回车

  2. 根据提示设置新数据库密码(本文统一测试密码:huawei);

  3. 后续所有交互选项,全部默认 Y 回车,完成数据库安全加固。

4.4 准备 PHP

ECShop对PHP拓展依赖性极高,缺包会直接导致页面空白、安装失败、图片无法加载、功能异常,一次性安装全部所需依赖,杜绝环境报错。

# 安装软件
[root@ecshop ~ 16:24:23]# yum install -y php php-fpm php-gd php-common php-pear php-mbstring php-mcrypt php-mysqlnd

# 修改 php-fpm 运行用户身份
[root@ecshop ~ 16:30:28]# vim /etc/php-fpm.d/www.conf
# 更改以下两条记录
# user = apache
user = nginx

# group = apache
group = nginx

# 启动服务并设置开机自启
[root@ecshop ~ 16:32:59]# systemctl enable php-fpm --now

# 配置虚拟主机
[root@ecshop ~ 16:36:53]# vim /etc/nginx/conf.d/ecshop.conf

# 配置如下:
server {
    listen 80;
    server_name shop.fb.cloud;
    root /usr/share/nginx/html;
    index index.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;
      }
}

# 重启服务
[root@ecshop ~ 16:43:24]# systemctl restart nginx

# 准备测试页面
[root@ecshop ~ 16:43:48]# echo "<?php echo 'PHP Test Page'.\"\n\"; ?>" > /usr/share/nginx/html/test.php

客户端测试

# windows客户端测试,修改 C:\Windows\System32\drivers\etc\hosts 
# 添加如下记录
10.1.8.10 shop.fb.cloud

在这里插入图片描述

五、创建 ECShop 专属数据库与用户

遵循生产环境安全规范,不直接使用root超级账户运行项目,单独创建商城专属数据库与授权用户,权限最小化,提升项目安全性。

# 登录MariaDB数据库
[root@ecshop ~ 16:47:21]# mysql -uroot -phuawei

依次执行以下 SQL 语句:

# 创建ECShop专属数据库
CREATE DATABASE ecshop;

# 创建本地访问的数据库用户
CREATE USER ecshop@localhost IDENTIFIED BY 'huawei';

# 授权用户拥有ecshop数据库全部权限
GRANT ALL PRIVILEGES ON ecshop.* TO ecshop@localhost;

# 刷新权限生效
FLUSH PRIVILEGES;

# 退出数据库
exit;

六、部署 ECShop 商城源码

6.1 解压部署源码包

提前将 ECShop_V4.1.20_UTF8.zip 上传至服务器 root 家目录,执行以下部署命令,完成源码迁移。

# 解压商城源码包
[root@ecshop ~ 16:54:25]# unzip ECShop_V4.1.20_UTF8.zip

# 备份Nginx默认静态页面
[root@ecshop ~ 16:56:42]# mv /usr/share/nginx/html/ /usr/share/nginx/html.ori

# 将ECShop源码移动至网站根目录
[root@ecshop ~ 16:57:12]# cp -a ECShop_V4.1.20_UTF8_release20250416/source/ecshop /usr/share/nginx/html

6.2 配置网站目录权限

权限不足是ECShop部署最常见的报错原因,会导致文件写入失败、安装程序无法执行、后台操作异常,统一授权Nginx运行用户。

# 商城站点目录授权
[root@ecshop ~ 16:57:53]# chown -R nginx:nginx /usr/share/nginx/html/

# PHP会话缓存目录授权
[root@ecshop ~ 17:00:28]# chown -R nginx:nginx /var/lib/php/

# 重启服务使权限生效
[root@ecshop ~ 17:01:00]# systemctl restart nginx php-fpm

七、浏览器可视化安装 ECShop

7.1 访问地址

提前将域名 shop.fb.cloud 解析至服务器 IP 10.1.8.10

  • 商城前台地址:http://shop.fb.cloud

  • 商城后台地址:http://shop.fb.cloud/admin

7.2 可视化安装步骤

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

注意:如果显示失败了,忽略,重新继续安装
在这里插入图片描述

八、商城前台与后台使用

8.1 前台商城

访问 http://shop.fb.cloud,可预览商城首页、商品分类、用户注册登录、购物车、订单提交、商品搜索等全套电商基础功能,界面完整、功能完备。
在这里插入图片描述

8.2 后台管理中心

访问 http://shop.fb.cloud/admin,使用安装时设置的管理员账号登录,可实现核心运营功能:在这里插入图片描述
在这里插入图片描述

  • 店铺基础信息、LOGO、公告配置

  • 商品上下架、分类管理、库存设置

  • 订单查询、发货、退款、订单状态管理

  • 会员信息查询、权限管理

  • 网站模板装修、插件配置、数据统计

九、常见报错与避坑总结

整理部署过程中高频报错问题,一站式解决,帮助大家快速排查问题:

  1. 页面空白、无法访问:PHP 拓展未安装完整或服务未重启,重新安装依赖并重启 Nginx、PHP-FPM 服务;

  2. 目录写入失败:网站目录、PHP 目录权限未授权 Nginx 用户,重新执行全文授权命令;

  3. 数据库连接失败:核对数据库名、用户名、密码、数据库主机地址是否配置一致;

  4. 时区 Warning 警告:属于系统常规友好提示,不影响商城正常运行,可直接忽略。

十、项目总结

本次实战完整实现 CentOS7 + LNMP + ECShop 电商网站从零部署,覆盖服务器初始化、阿里云源配置、LNMP环境搭建、数据库创建授权、源码部署、权限配置、可视化安装、前后台使用全流程。

整套方案全程无冗余操作、命令可直接复刻、避坑完善,非常适合Linux运维新手、计算机专业学生用于实训作业、个人实战项目落地,帮助大家快速掌握Linux电商项目部署核心技能。


往期精彩:Linux各类Web项目部署、LNMP环境优化、服务器运维避坑教程

好提示,不影响商城正常运行,可直接忽略。

Logo

电商企业物流数字化转型必备!快递鸟 API 接口,72 小时快速完成物流系统集成。全流程实战1V1指导,营造开放的API技术生态圈。

更多推荐