2.3 KiB
2.3 KiB
GeneAgro CMS 部署与重写规则指南
环境准备
- PHP:7.0 及以上(建议 7.1–7.4),启用 gd、mbstring、curl、mysqli 扩展。
- Web 服务器:Nginx/Apache/IIS 均可,需开启伪静态/URL 重写。
- 时区与编码:建议在 php.ini 中设置 date.timezone=Asia/Shanghai;确保输出编码为 UTF-8。
目录权限
- 需写入权限:runtime、log、static/upload、data 等目录。
- 生产环境最小化权限:仅赋予必要写入目录权限,其他目录只读。
重写规则示例
- Nginx(参考 rewrite/nginx.txt)
- 典型配置:
- location / { try_files $uri $uri/ /index.php?$args; }
- 后台入口保持直达:/iotadmin.php。
- 典型配置:
- Apache(参考 rewrite/.htaccess)
- 典型配置:
- RewriteEngine On
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . index.php [L]
- 典型配置:
- IIS(参考 rewrite/web.config)
- 使用 URL Rewrite 组件导入 web.config 配置。
应用入口与路由
- 前台入口:index.php。
- 后台入口:iotadmin.php。
- API 入口:api.php。
- 路由:apps/common/route.php(系统内置),config/route.php(项目覆盖与扩展)。
部署流程建议
- 上传代码至站点目录,确认 PHP 版本与扩展;
- 配置数据库(config/database.php)与站点参数(config/config.php);
- 设置伪静态规则(参考 rewrite 目录);
- 访问后台 iotadmin.php 完成站点与 API 配置;
- 验证前台与 API 可用性;
- 关闭调试模式(core/convention.php 中 debug=false),开启必要的日志与监控。
安全加固
- HTTPS:建议强制 HTTPS(尤其是后台与 API 访问)。
- 会话安全:启用仅站点路径会话(session_in_sitepath=true),合理设置 Cookie 参数(HttpOnly、Secure)。
- 访问控制:按需配置 access_rule.*(限制特定浏览器/操作系统)。
- 文件上传:限制格式与尺寸,开启水印(如有需求),对上传目录做执行权限隔离(不允许脚本执行)。
性能与运维
- 缓存:根据业务开启 Memcache(cache.handler=memcache)。
- 日志:生产环境建议使用数据库日志,并按周期归档;或文本日志按日切割并外采。
- 备份:数据库定时备份,日志与上传文件定期打包与远端归档。