部署指南
详细的 XinAdmin 生产环境部署教程和最佳实践
当你准备将 XinAdmin 应用部署到生产环境时,有一些重要的事情可以确保你的应用尽可能高效地运行。在本文中,我们将介绍一些确保你的 XinAdmin 应用正确部署的好起点。
XinAdmin 的部署非常简单,如果你服务于第三方客户,我们推荐你使用 Github + Laravel Cloud 一键部署,无需管理服务器, 一键自动扩展、数据库、缓存、存储和安全。
服务器需求
确保你的服务器符合 XinAdmin 的运行环境,并且安装了相关的扩展。
- PHP >= 8.2
- Mysql >= 5.7
- Redis >= 3.0
- Nginx、Apache、FrankenPHP 等服务器软件就绪
- PHP扩展:Ctype、cURL、DOM、Fileinfo、Filter、Hash、Mbstring、OpenSSL、PCRE、PDO、Session、Tokenizer、XML
前端打包
在部署到服务器之前,需要先在本地将前端资源文件打包,执行下面命令进行打包:
打包后,会生成 /public/assets 资源 和 /public/index.html 文件,如果你使用 Git 来管理你的项目,可以将打包好的文件添加到 Git。
打包后的静态资源文件 /public/assets 不会覆盖之前的文件,如果之前有冗余的文件,请先删除后再打包。
前端资源单独部署
如果你希望将前端资源文件分开到单独的网站进行部署,需要先修改前端API的请求路径,修改文件 .env.production 中 VITE_BASE_URL 的值为你的后端地址 :
之后重新运行前端打包,将生成的 /public/assets 资源 和 /public/index.html 文件转移到其他网站。
后端部署
你可以将 XinAdmin 作为正常的网站进行部署,在服务器中创建网站目录并且通过 Git 拉取最新的项目文件,线上环境可以选择不上传 /web 目录, 前端每次重新打包后,只将 /public/assets 目录 和 /public/index.html 文件,同步到服务器上即可
如果你不考虑将API后端和前端项目作为两个网站部署,请确保 /public/assets 资源 和 /public/index.html 文件存在。
你需要使用 Nginx、Apache 等服务器软件运行站点,站点的根目录配置为 XinAdmin 的项目目录,运行目录为 /public,如无运行目录配置项,请直接将根目录配置为 /public
如果您将应用部署到运行 Nginx 的服务器上,可以使用以下配置文件作为配置 Web 服务器的起点。
默认情况下所有请求由前端 index.html 处理,前端会通过 /index.php 来访问后端接口,如果你将前端资源单独部署,可以使用下面配置隐藏 index.php
如果你希望一个站点部署,并且隐藏 index.php 可以将前端API的请求路径修改为 /api,然后将所有 /api 请求代理到 /index.php :
这个文件可能需要根据服务器的配置进行定制。如果遇到特殊情况确实需要协助,目前提供付费部署支持服务,收费标准为 100 元/次。先付费后服务,感谢理解 🙏
优化
XinAdmin 支持所有 Laravel 生产环境优化,包括配置、事件、路由和视图。
你可以使用一下命令一键生成缓存:
更多部署优化,你可以参考 Laravel 文档
FrankenPHP
XinAdmin 提供了开箱即用的 FrankenPHP 部署方案,你可以参考 FrankenPHP 文档