实战项目:LNMP-电商平台-ECshop

前言

ECShop是国内成熟开源电商建站系统,支持商品上架、订单管理、会员体系、支付配置、后台管理全套商城功能,基于PHP+MariaDB开发,搭配Nginx高性能Web服务,组成LNMP经典企业网站架构。
本文基于CentOS7系统完整复现ECShop商城从环境安装到后台配置全流程,全程无内容删减,文档内域名laogao全部统一替换为chenxin,所有终端命令可直接复制执行,附带环境校验、数据库配置、网页安装、商城后台操作完整截图说明,运维新手、实训课均可直接复刻。

一、项目环境规划

节点信息表

节点名称 节点IP 系统架构
ecshop 10.1.8.10/24 LNMP(Nginx+MariaDB+PHP)

二、分步搭建LNMP运行环境

2.1 安装Nginx Web服务

# 下载阿里云epel软件源
[root@ecshop ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# 安装Nginx
[root@ecshop ~]# yum install -y nginx
# 设置开机自启并立即启动服务
[root@ecshop ~]# systemctl enable nginx.service --now
# 生成测试首页验证Nginx运行
[root@ecshop ~]# echo "Nginx Test Page" > /usr/share/nginx/html/index.html

2.2 安装并初始化MariaDB数据库

# 安装数据库服务
[root@ecshop ~]# yum install -y mariadb-server
# 开机自启+启动数据库
[root@ecshop ~]# systemctl enable mariadb --now
# 执行生产安全初始化脚本
[root@ecshop ~]# mysql_secure_installation

完整交互操作指引:

  1. Enter current password for root (enter for none): 直接回车,新装数据库无root初始密码
  2. Set root password? [Y/n] y 输入y设置管理员密码,示例密码huawei
  3. New password: 自定义数据库密码
  4. Re-enter new password: 重复确认密码
  5. Remove anonymous users? [Y/n] y 删除匿名测试账号,提升安全性
  6. Disallow root login remotely? [Y/n] n 实验环境允许root本地远程登录
  7. Remove test database and access to it? [Y/n] y 删除系统自带test测试库
  8. Reload privilege tables now? [Y/n] y 立即刷新权限,所有配置即时生效

2.3 安装PHP与PHP-FPM解析服务

# 安装PHP主程序与进程管理工具
[root@ecshop ~]# yum install -y php php-fpm
# 修改php-fpm运行用户为nginx(默认apache,会出现目录权限报错)
[root@ecshop ~]# vim /etc/php-fpm.d/www.conf

修改配置两处参数:

user = nginx
group = nginx
# 开机自启并启动php-fpm
[root@ecshop ~]# systemctl enable php-fpm.service --now

2.4 Nginx虚拟主机配置(适配PHP商城)

# 创建商城独立站点配置文件
[root@ecshop ~]# vim /etc/nginx/conf.d/vhost-shop.chenxin.cloud.conf

完整server配置内容:

server {
listen 80;
listen [::]:80;
server_name shop.chenxin.cloud;
root /usr/share/nginx/html;
# 设置默认首页优先级
index index.php index.html index.htm;
# PHP请求转发至9000端口php-fpm处理
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;
}
}
# 重载Nginx加载新站点配置
[root@ecshop ~]# systemctl restart nginx
# 新建PHP测试页面验证解析环境
[root@ecshop ~]# echo "<?php echo 'PHP Test Page'.\"\n\"; ?>" > /usr/share/nginx/html/test.php

三、创建ECShop专属数据库与账号

登录数据库root管理员执行建库、授权全套SQL:

[root@ecshop ~]# mysql -u root -phuawei
-- 创建商城专用数据库
CREATE DATABASE ecshop;
-- 创建本地数据库访问账号
CREATE USER ecshop@localhost IDENTIFIED BY 'huawei';
-- 授予ecshop库全部操作权限
GRANT ALL PRIVILEGES ON ecshop.* TO ecshop@localhost;
-- 刷新权限使授权生效
FLUSH PRIVILEGES;
-- 退出数据库终端
exit

四、部署ECShop商城源码

本次使用版本:ECShop_V4.1.20 UTF8中文商城源码,提前上传至服务器root目录

# 解压源码压缩包
[root@ecshop ~]# unzip ECShop_V4.1.20_UTF8.zip
# 备份默认Nginx静态目录
[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
# 修改商城目录归属为nginx运行用户
[root@ecshop ~]# chown nginx:nginx -R /usr/share/nginx/html
# 安装商城所需PHP扩展库
[root@ecshop ~]# yum install -y php-gd php-common php-pear php-mbstring php-mcrypt php-mysqlnd
# 修改PHP缓存目录权限
[root@ecshop ~]# chown nginx:nginx -R /var/lib/php/
# 重启Nginx与PHP-FPM,加载环境变更
[root@ecshop ~]# systemctl restart nginx php-fpm

五、网页可视化安装ECShop商城

5.1 访问安装首页

客户端浏览器访问地址:http://shop.chenxin.cloud

  1. 勾选软件许可协议
  2. 点击【下一步:配置安装环境】
    在这里插入图片描述

5.2 系统环境校验页面

页面自动检测Linux系统、PHP版本、GD库、目录读写权限,全部显示「可写」代表环境正常,点击【下一步:配置系统】
在这里插入图片描述

5.3 数据库与站点管理员配置

页面参数填写规范:

  • 数据库主机:localhost
  • 端口号:3306
  • 用户名:ecshop
  • 密码:huawei
  • 数据库名:ecshop,点击搜索选中库
  • 管理员账号:admin,自定义后台密码
  • 时区下拉框选择:亚洲,中国,上海
    页面顶部PHP时区Warning可暂时忽略,安装完成后统一修改php.ini永久解决
    填写完成点击【立即安装】
    在这里插入图片描述

5.4 系统激活弹窗

安装完成弹出商派账号激活窗口,无需注册登录,直接关闭网页即可正常使用商城全部基础功能
在这里插入图片描述

六、商城前台&后台访问操作

6.1 商城用户前台首页

访问地址:http://shop.chenxin.cloud
展示商品分类、新品活动、搜索栏、购物车、会员登录入口,普通消费者下单购物页面
在这里插入图片描述

6.2 商城管理后台登录页

后台地址:http://shop.chenxin.cloud/admin
输入管理员账号admin+自定义密码、验证码登录后台
在这里插入图片描述
在这里插入图片描述

6.3 商城基础信息配置页面

首次登录后台,设置商城名称、所在省市、配送方式、支付渠道等基础门店信息,点击完成向导
在这里插入图片描述

6.4 ECShop管理中心仪表盘

后台总览页面:展示商品统计、订单数据、今日访问、会员数量,左侧菜单栏包含商品、订单、会员、广告、系统设置全管理功能
安全提示:安装完成后删除网站目录下install安装文件夹
在这里插入图片描述

七、常见报错修复方案

问题1:页面顶部时区Warning导致安装中断

报错:It is not safe to rely on the system's timezone settings
修复操作:

vim /etc/php.ini
# 找到 ;date.timezone =  修改为
date.timezone = Asia/Shanghai
# 删除行首注释分号,重启php-fpm生效
systemctl restart php-fpm

问题2 目录无写入权限,环境检测提示不可写

根源:php-fpm运行用户是nginx,目录归属为root
修复命令:

chown nginx:nginx -R /usr/share/nginx/html
chown nginx:nginx -R /var/lib/php/
systemctl restart nginx php-fpm

问题3 数据库账号连接失败

原因:MariaDB区分localhost套接字与127.0.0.1TCP账号
补充授权TCP访问账号:

CREATE USER ecshop@'127.0.0.1' IDENTIFIED BY 'huawei';
GRANT ALL PRIVILEGES ON ecshop.* TO ecshop@'127.0.0.1';
FLUSH PRIVILEGES;

八、教程总结

本文完整覆盖LNMP整套环境部署、ECShop商城源码部署、网页一键安装、前后台操作全流程,适配CentOS7实训/生产测试环境。相比LAMP,Nginx高并发性能更强,适合商城类流量场景。

Logo

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

更多推荐