PrestaShop 电商系统搭建教程
PrestaShop 是一款来自法国的开源电商系统,在全球拥有超过 30 万家在线商店。相比 WooCommerce 依赖 WordPress,PrestaShop 是独立的电商平台,内置了完整的商品管理、订单处理、库存管理、多语言多货币支持等功能。本文将在搬瓦工 VPS 上从零开始搭建 PrestaShop 电商网站。
一、系统要求
- PHP:8.1 或 8.2(推荐 8.2)。
- MySQL:5.7+ 或 MariaDB 10.4+。
- Web 服务器:Nginx 或 Apache。
- 内存:至少 1GB,推荐 2GB 以上。
- PHP 扩展:gd、intl、curl、zip、mbstring、xml、json、openssl。
二、环境准备
2.1 安装 PHP 及必要扩展
apt update && apt upgrade -y
apt install php8.2-fpm php8.2-mysql php8.2-gd php8.2-intl php8.2-curl php8.2-zip php8.2-mbstring php8.2-xml php8.2-bcmath php8.2-memcached -y
2.2 优化 PHP 配置
# 编辑 /etc/php/8.2/fpm/php.ini
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 10000
date.timezone = Asia/Shanghai
systemctl restart php8.2-fpm
2.3 创建数据库
mysql -u root -p
CREATE DATABASE prestashop CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'ps_user'@'localhost' IDENTIFIED BY '你的强密码';
GRANT ALL PRIVILEGES ON prestashop.* TO 'ps_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
三、下载和安装 PrestaShop
3.1 下载 PrestaShop
cd /tmp
wget https://github.com/PrestaShop/PrestaShop/releases/download/8.1.7/prestashop_8.1.7.zip
mkdir -p /var/www/prestashop
unzip prestashop_8.1.7.zip -d /var/www/prestashop
cd /var/www/prestashop
unzip prestashop.zip
rm prestashop.zip
chown -R www-data:www-data /var/www/prestashop
chmod -R 755 /var/www/prestashop
3.2 配置 Nginx
server {
listen 80;
listen 443 ssl http2;
server_name shop.example.com;
root /var/www/prestashop;
index index.php;
ssl_certificate /etc/letsencrypt/live/shop.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/shop.example.com/privkey.pem;
# 安全头部
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
# Gzip 压缩
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml text/javascript image/svg+xml;
# PrestaShop URL 重写规则
location / {
try_files $uri $uri/ /index.php?$args;
}
# 静态文件缓存
location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|webp|woff|woff2|ttf|eot)$ {
expires 30d;
add_header Cache-Control "public";
access_log off;
}
# PHP 处理
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_read_timeout 300;
}
# 禁止访问敏感文件
location ~ /\. { deny all; }
location ~* (\.tpl|\.twig|\.log|\.md)$ { deny all; }
location = /app/config/parameters.php { deny all; }
# 禁止访问安装目录(安装完成后)
location /install { deny all; }
}
nginx -t && systemctl reload nginx
3.3 运行安装向导
在浏览器中访问 https://shop.example.com/install,按照向导完成安装:
- 选择语言为"中文(简体)"。
- 接受许可协议。
- 填写商店名称、管理员账号和密码。
- 填写数据库连接信息。
- 等待安装完成。
3.4 安装后安全清理
# 删除安装目录
rm -rf /var/www/prestashop/install
# 重命名后台目录(安全加固)
mv /var/www/prestashop/admin /var/www/prestashop/admin-yourname
# 设置正确的文件权限
find /var/www/prestashop -type d -exec chmod 755 {} \;
find /var/www/prestashop -type f -exec chmod 644 {} \;
chown -R www-data:www-data /var/www/prestashop
四、中文本地化配置
4.1 安装中文语言包
进入后台"国际化 > 本地化",点击"导入本地化包",选择"中国"并勾选所有选项(语言、货币、税率等)。
4.2 配置中文地区
- 在"国际化 > 位置"中设置默认国家为中国。
- 在"国际化 > 货币"中将人民币设为默认货币。
- 在"国际化 > 语言"中将中文设为默认语言。
五、商店基础配置
5.1 主题设置
PrestaShop 自带 Classic 主题。如需更换主题,将主题文件上传到 /var/www/prestashop/themes/ 目录:
# 上传主题
cd /var/www/prestashop/themes/
unzip your-theme.zip
chown -R www-data:www-data /var/www/prestashop/themes/
然后在后台"设计 > 主题与Logo"中激活新主题。
5.2 配置 SMTP 邮件
在后台"高级参数 > 电子邮件"中配置 SMTP 服务器,确保订单通知邮件能正常发送。
六、性能优化
6.1 启用 PrestaShop 缓存
在后台"高级参数 > 性能"中:
- 启用"Smarty 缓存"并设为"是"。
- 强制编译设为"否"(生产环境)。
- 缓存类型选择"文件系统"或"Memcached"。
- 启用"CCC(合并、缓存、压缩)"处理 CSS 和 JavaScript。
6.2 启用 Memcached
apt install memcached -y
systemctl enable memcached
systemctl start memcached
在后台"高级参数 > 性能 > 缓存"中选择"Memcached",服务器地址填 127.0.0.1,端口 11211。
6.3 数据库优化
# 优化 PrestaShop 数据库表
mysqlcheck -o prestashop -u ps_user -p
# 清理过期的购物车数据
mysql -u ps_user -p prestashop -e "DELETE FROM ps_cart WHERE date_add < DATE_SUB(NOW(), INTERVAL 30 DAY) AND id_cart NOT IN (SELECT id_cart FROM ps_orders);"
七、安全加固
# 保护配置文件
chmod 400 /var/www/prestashop/app/config/parameters.php
# 定期更新 PrestaShop
# 在后台 "高级参数 > 更新" 中检查更新
# 设置定期备份
mysqldump -u ps_user -p prestashop | gzip > /root/backups/prestashop_$(date +%Y%m%d).sql.gz
tar -czf /root/backups/prestashop_files_$(date +%Y%m%d).tar.gz /var/www/prestashop
总结
PrestaShop 是一个功能完善的专业电商系统,开箱即用的商品管理、多语言多货币支持、灵活的税率配置让它特别适合跨境电商场景。在搬瓦工 VPS 上自建 PrestaShop 可以完全掌控数据和功能定制。如果你需要更轻量的电商方案,也可以参考 OpenCart 搭建教程 或基于 WordPress 的 WooCommerce 方案。选购搬瓦工 VPS 请查看 全部方案,购买时使用优惠码 NODESEEK2026 可享受 6.77% 的折扣,通过 bwh81.net 进入官网购买。