【发布时间】:2019-05-23 22:56:00
【问题描述】:
完成一个 Laravel 网站后,我意识到它不像 WordPress 那样工作,你可以直接从 localhost 将它部署到实时服务器。我该怎么做?
【问题讨论】:
完成一个 Laravel 网站后,我意识到它不像 WordPress 那样工作,你可以直接从 localhost 将它部署到实时服务器。我该怎么做?
【问题讨论】:
以下是如何将 laravel 网站部署到不同类型的主机:
共享主机:
首先,不鼓励为您的 laravel 应用程序使用共享主机。有非常便宜的 VPS 网络托管服务提供商,每月 5 美元起,您可以使用,但如果您使用共享托管,这里是如何让您的 laravel 网站上线:
对于具有 SSH 访问权限的共享主机:
主要的共享主机提供商(如 goDaddy、1&1 主机)已预先安装了 composer,您所要做的就是将您的 laravel 项目上传到您的共享主机并使用 composer 运行安装(使用 SSH) 然后设置php artisan 的关键。此外,您需要将网站的根目录更改为 WEBSITE_LOCATION_ON_SERVER/public,并确保 directory indexing 已关闭。
如果您的托管服务提供商未提供预先安装的作曲家,则必须先install composer,然后再进行设置。
P.s 有一些托管服务提供商也不允许您使用 SSH 下载 composer,在这种情况下您可以使用下面的方法。
对于没有 SSH 访问的共享主机: 许多共享主机提供商不为您提供 SSH 访问权限,这意味着没有 composer 和 php artisan 命令,在这种情况下,您将不得不创建相同的环境(Apache、Php、MySQL 和 OS)托管服务提供商在您的本地计算机上,然后将项目上传到实时服务器。
Ps 这是最坏的情况,因为您必须在本地计算机上设置所有内容,而且您将无法在实时服务器上使用 php artisan,如果您在项目中进行更改,您将拥有再次上传完整的项目。
专用/VPS 主机:
这是 laravel 网站最推荐的托管方法,因为您将拥有对托管的完全访问权限。要部署应用程序,首先,您必须install composer,然后将文件上传到服务器,然后运行安装并确保目录索引处于关闭状态。然后,将根目录更改为WEBSITE_LOCATION_ON_SERVER/public,然后运行以下命令,为您的 laravel 应用授予运行所需的所有权限:
sudo chown -R www-data:www-data /PATH_TO_LARAVELAPP
.
sudo usermod -a -G www-data YOUR_USERNAME
.
sudo find /PATH_TO_LARAVELAPP -type d -exec chmod 755 {} \;
.
sudo chgrp -R www-data storage bootstrap/cache
sudo chmod -R ug+rwx storage bootstrap/cache
希望这能很好地回答您的问题,如有问题请发表评论。
【讨论】:
我建议使用 cpanel 作为共享主机。
-将所有文件复制到 public_html 文件夹。
复制 .env 在主机上正确配置数据库的文件
供应商文件夹
将 PHP 版本更改为 7.2
在您的 public_html 文件夹中添加包含以下代码的 .htaccess 文件:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
【讨论】: