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

实战项目: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服务

bash 复制代码
# 下载阿里云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数据库

bash 复制代码
# 安装数据库服务
[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解析服务

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

修改配置两处参数:

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

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

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

完整server配置内容:

nginx 复制代码
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;
}
}
bash 复制代码
# 重载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:

bash 复制代码
[root@ecshop ~]# mysql -u root -phuawei
sql 复制代码
-- 创建商城专用数据库
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目录

bash 复制代码
# 解压源码压缩包
[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

修复操作:

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

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

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

修复命令:

bash 复制代码
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访问账号:

sql 复制代码
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高并发性能更强,适合商城类流量场景。

相关推荐
李小白661 小时前
1-Shell编程和网络服务介绍
运维·云计算
吹什么轩1 小时前
linux网络:UDP套接字的业务实现:字典
linux·运维·udp
迷途之人不知返1 小时前
gcc编译器,以及源文件的翻译
linux
啊啊啊啊啊!!!!2 小时前
【Linux】初始Linux操作系统
linux·运维·服务器
2401_894915532 小时前
新手落地 Geo 优化:源码下载、依赖安装、数据库初始化完整步骤
运维·服务器·数据库·人工智能·缓存·开源
南城以南溫暖如初1472 小时前
社区健身小程序开发流程详解:技术选型与实施经验分享
java·经验分享·spring boot·mysql·vue·apache
runafterhit2 小时前
【学习地图】Linux学习类 · 文章索引
linux·运维·学习
暖核3 小时前
项目实战:LAMP 博客平台 WordPress 部署全攻略
运维