如何在 cpanel 或共享主机上部署 laravel 项目

在共享主机上部署 Laravel 项目可能有点棘手,但只要采取正确的步骤,这完全是可能的。在本指南中,我们将引导您完成将 Laravel 项目上传和部署到 cPanel 或共享主机环境的过程。

步骤 1:准备 Laravel 项目文件

第一步是压缩整个 Laravel 项目,确保包含所有必要的文件。这包括从应用程序、配置、数据库和其他核心目录到 .env 文件和公共资产的所有内容。

步骤 2:将 Zip 文件上传至 cPanel

登录您的 cPanel 账户并转到文件管理器。导航到 public_html 目录(这通常是共享主机上您的网站的根文件夹)。

在此处上传您的 Laravel 项目的 zip 文件。

步骤 3:解压公共目录中的文件

上传 zip 文件后,右键单击该文件并选择“提取”将其直接解压到 public_html 目录中。

确保所有 Laravel 项目文件都正确放置在 public_html 文件夹中。您应该在 public_html 中看到项目的根结构(例如,app、bootstrap、config 等)。

步骤 4:为 Laravel 配置 .htaccess

Laravel 项目旨在通过公共文件夹路由请求。为了确保这在共享托管环境中正常工作,您需要在根 public_html 目录中创建或修改 .htaccess 文件。

以下是您需要添加到 .htaccess 文件的内容:

`

RewriteEngine On
# Redirect all requests to the public folder
RewriteRule ^(.*)$ public/$1 [L]

# Deny access to all directories except public
RewriteRule ^(app|bootstrap|config|database|resources|routes|storage|tests|vendor)/(.*)$ - [R=404,L]

# Deny access to sensitive files
RewriteRule ^(\.env|\.log|\.git|composer\.(json|lock)|artisan|phpunit\.xml)$ - [R=404,L]

`

此代码将确保:

所有传入请求都被重定向到公共文件夹。

拒绝直接访问 app、bootstrap、config 等敏感目录。

.env、.git 和 composer.json 等敏感文件的访问被阻止。

步骤5:配置.env文件

您需要为生产环境配置 .env 文件。请确保设置以下参数:

`APP_ENV=生产

APP_DEBUG=false

APP_KEY=base64:你的应用密钥

DB_CONNECTION=mysql

DB_HOST=你的数据库主机

数据库端口=3306

DB_DATABASE=你的数据库名称

DB_USERNAME=你的数据库用户

DB_PASSWORD=你的数据库密码`

如果尚未生成新应用程序密钥,请确保生成。您可以在本地执行此操作,然后在 .env 文件中更新它:

`php artisan 密钥:生成`

根据托管服务提供商提供的信息更新数据库凭据。

步骤 6:为目录设置正确的权限

某些目录(例如 storage 和 bootstrap/cache)需要由 Web 服务器写入。请为这些目录设置正确的权限。

要做到这一点:

  • 导航到 cPanel 文件管理器中的存储和引导/缓存目录。
  • 右键单击该文件夹并选择更改权限。
  • 将两个目录的权限都设置为 775。
  • 第 7 步:浏览您的网站

    一切设置完成后,访问您的网站域名,您应该会看到您的 Laravel 应用程序上线!请务必测试所有功能,以确保一切按预期运行。

    结论

    只要配置正确,就可以在共享主机上部署 Laravel 应用程序。按照上述步骤,您可以立即在 cPanel 主机上启动并运行您的 Laravel 项目。