tougao/DEPLOY.md
Snowz 08aa0a8975 docs: 更新项目文档中的仓库链接和版权信息
更新README.md、LICENSE和DEPLOY.md文件中的仓库克隆链接,将原GitHub仓库地址替换为新的项目地址。同时更新LICENSE文件中的版权信息,添加年份和作者信息。
2025-05-26 20:33:56 +08:00

6.9 KiB
Raw Blame History

宝塔面板部署指南

本文档详细介绍如何在宝塔面板中部署内容投稿系统。

📋 部署前准备

服务器要求

  • 操作系统Linux推荐CentOS 7+/Ubuntu 18+
  • 内存至少512MB推荐1GB+
  • 硬盘至少1GB可用空间
  • 网络:稳定的互联网连接

宝塔面板要求

  • 宝塔面板版本7.0+
  • PHP版本7.4+
  • Web服务器Apache或Nginx
  • 数据库MySQL 5.7+可选也可使用SQLite

🚀 详细部署步骤

第一步:安装宝塔面板

如果还未安装宝塔面板,请先安装:

# CentOS安装命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

# Ubuntu安装命令
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

第二步:配置服务器环境

  1. 登录宝塔面板

    • 访问 http://服务器IP:8888
    • 使用安装时显示的用户名和密码登录
  2. 安装LNMP/LAMP环境

    • 选择"软件商店" → "一键部署"
    • 推荐安装Nginx 1.20+ + MySQL 5.7+ + PHP 7.4+
    • 等待安装完成约10-30分钟
  3. 安装PHP扩展

    • 进入"软件商店" → "已安装"
    • 找到PHP点击"设置"
    • 在"安装扩展"中安装以下扩展:
      • pdo_mysqlMySQL支持
      • pdo_sqliteSQLite支持
      • gd(图像处理)
      • curl(网络请求)
      • fileinfo(文件信息)

第三步:创建网站

  1. 添加站点

    • 点击"网站" → "添加站点"
    • 域名填入你的域名example.com
    • 根目录:默认即可
    • PHP版本选择7.4或更高版本
    • 数据库选择MySQL可选
    • 点击"提交"
  2. 配置域名解析

    • 在域名服务商处添加A记录
    • 将域名指向服务器IP地址

第四步:上传项目文件

  1. 下载项目

    • 方式一:直接上传压缩包

      • 将项目打包为zip文件
      • 在宝塔面板"文件"中上传到网站根目录
      • 解压文件
    • 方式二使用Git推荐

      • 在"终端"中执行:
      cd /www/wwwroot/your-domain.com
      git clone https://ckk.photo8.site/Snowz/tougao.git .
      
  2. 设置文件权限

    • 在"文件"管理中,选择网站根目录
    • 右键选择"权限"设置为755
    • 特别设置以下目录权限为777
      • config/
      • data/

第五步配置数据库MySQL方式

  1. 创建数据库

    • 点击"数据库" → "添加数据库"
    • 数据库名:submission_system
    • 用户名:自定义
    • 密码:自动生成或自定义
    • 记录数据库信息
  2. 配置数据库连接

    • 编辑 config/database.php
    • 填入正确的数据库信息

第六步:运行安装向导

  1. 访问安装页面

    • 浏览器访问:http://your-domain.com/install.php
  2. 环境检查

    • 系统会自动检查服务器环境
    • 确保所有检查项都通过
  3. 数据库配置

    • 选择数据库类型MySQL或SQLite
    • 填入数据库连接信息
    • 测试连接
  4. 初始化数据库

    • 点击"初始化数据库"
    • 等待数据表创建完成
  5. 完成安装

    • 记录默认管理员账户信息
    • 删除或重命名 install.php 文件

第七步:安全配置

  1. SSL证书配置

    • 在"网站"中找到你的站点
    • 点击"设置" → "SSL"
    • 申请Let's Encrypt免费证书
    • 开启"强制HTTPS"
  2. 防火墙设置

    • 在"安全"中配置防火墙
    • 开放80、443端口
    • 关闭不必要的端口
  3. 文件安全

    • 删除 install.php
    • 检查敏感文件权限
    • 定期备份数据

🔧 高级配置

Nginx配置优化

在网站设置中添加以下Nginx配置

# 安全设置
location ~ ^/(config|includes|data)/ {
    deny all;
}

# 禁止访问敏感文件
location ~* \.(sql|log|md|txt|conf)$ {
    deny all;
}

# 隐藏文件
location ~ /\. {
    deny all;
}

# PHP配置
location ~ \.php$ {
    fastcgi_pass unix:/tmp/php-cgi-74.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

# 静态文件缓存
location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg)$ {
    expires 30d;
    add_header Cache-Control "public, immutable";
}

PHP配置优化

在PHP设置中调整以下参数

; 上传限制
upload_max_filesize = 10M
post_max_size = 10M

; 执行时间
max_execution_time = 60

; 内存限制
memory_limit = 256M

; 错误报告
display_errors = Off
log_errors = On

; 会话配置
session.cookie_httponly = On
session.cookie_secure = On

定时任务配置

可以设置定时任务来清理过期数据:

# 每天凌晨2点清理7天前的IP记录
0 2 * * * /usr/bin/php /www/wwwroot/your-domain.com/cleanup.php

📊 性能优化

数据库优化

  1. 索引优化

    -- 为常用查询字段添加索引
    ALTER TABLE website_submissions ADD INDEX idx_status (status);
    ALTER TABLE website_submissions ADD INDEX idx_created (created_at);
    ALTER TABLE app_submissions ADD INDEX idx_status (status);
    ALTER TABLE app_submissions ADD INDEX idx_created (created_at);
    
  2. 定期清理

    • 定期清理过期的IP限制记录
    • 归档或删除过旧的投稿记录

缓存配置

  1. 开启OPcache

    • 在PHP设置中开启OPcache扩展
    • 提高PHP执行效率
  2. 静态文件CDN

    • 将CSS、JS等静态文件上传到CDN
    • 加速页面加载速度

🔍 故障排除

常见问题解决

  1. 500错误

    • 检查PHP错误日志
    • 确认文件权限设置
    • 检查.htaccess配置
  2. 数据库连接失败

    • 验证数据库配置信息
    • 检查数据库服务状态
    • 确认防火墙设置
  3. 验证码不显示

    • 检查GD扩展是否安装
    • 确认PHP图像处理功能
  4. 无法获取网站信息

    • 检查cURL扩展
    • 确认服务器网络连接
    • 检查目标网站可访问性

日志查看

  • PHP错误日志/www/wwwroot/your-domain.com/php_errors.log
  • Nginx访问日志/www/wwwroot/your-domain.com/log/access.log
  • Nginx错误日志/www/wwwroot/your-domain.com/log/error.log

📈 监控与维护

定期维护任务

  1. 系统更新

    • 定期更新宝塔面板
    • 更新PHP、MySQL版本
    • 更新系统安全补丁
  2. 数据备份

    • 设置自动数据库备份
    • 定期下载备份文件
    • 测试备份恢复流程
  3. 安全检查

    • 检查异常访问日志
    • 更新管理员密码
    • 检查文件完整性

性能监控

  • 使用宝塔面板的监控功能
  • 关注CPU、内存、磁盘使用率
  • 监控网站访问速度

📞 技术支持

如果在部署过程中遇到问题:

  1. 查看本文档的故障排除部分
  2. 检查项目的GitHub Issues
  3. 联系技术支持

祝您部署顺利!如有问题,欢迎反馈。