簡體   English   中英

將Laravel 5.2項目部署到服務器

[英]Deploying Laravel 5.2 Project to Server

我的網站有兩個服務器-本地服務器(ubuntu桌面上的laravel homestead)和公共服務器(php7的ubuntu服務器)。 我已經有一些簡單的網站可以在我的公共服務器上正常運行,並且可以在網上看到。 我在laravel Homestead本地服務器上創建了laravel 5.2項目,現在我想移動它-將其部署到我的公共服務器上。 我壓縮了完整的項目文件夾(tar.gz),並使用filezilla將其移動到服務器,並解壓縮域DocumentRoot並將其導航到公用文件夾中的項目index.php頁面,但它正在打開一個空白頁面。 如果我在index.php中進行了更改並回顯了一些字符串,則可以正常工作並顯示字符串,但是laravel bootstrap不會加載應用程序。 我的index.php位於:

/var/www/html/mydomain.com/public/index.php

這兩行:

require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';

和這個:

$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);

$response = $kernel->handle(
    $request = Illuminate\Http\Request::capture()
);

$response->send();

$kernel->terminate($request, $response);

我也嘗試使用絕對路徑:

require '/var/www/html/mydomain.com/bootstrap/autoload.php';
$app = require_once '/var/www/html/mydomain.com/bootstrap/app.php';

但是瀏覽器仍然打開空白頁。 使用以下數據創建該域的Apache配置文件(/etc/apache2/sites-available/mydomain.com.conf):

<VirtualHost *:80>
    ServerAdmin admin@mydomain.com
    ServerName mydomain.com
    ServerAlias www.mydomain.com
    DocumentRoot /var/www/html/mydomain.com/public
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

這是我的第一個laravel項目,我沒有在服務器上部署它的經驗。 請進行什么設置和更改才能使其正常運行? 域導航到公用文件夾中的index.php頁面,但瀏覽器未加載應用程序。 請一些幫助。

編輯:來自Apache的錯誤日志:

[2016年7月10日21:38:26.082328,星期日] [:錯誤] [pid 18269] [客戶端192.168.1.7:41368] PHP致命錯誤:未捕獲UnexpectedValueException:流或文件“ /var/www/html/mydomain.com/ storage / logs / laravel.log”無法打開:無法打開流:/var/www/html/mydomain.com/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:87 \\中的權限被拒絕nStack跟蹤:\\ n#0 /var/www/html/mydomain.com/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37):Monolog \\ Handler \\ StreamHandler-> write(Array)\\ n #1 /var/www/html/mydomain.com/vendor/monolog/monolog/src/Monolog/Logger.php(336):Monolog \\ Handler \\ AbstractProcessingHandler-> handle(Array)\\ n#2 / var / www / html / mydomain.com / vendor / monolog / monolog / src / Monolog / Logger.php(615):Monolog \\ Logger-> addRecord(400,Object(Symfony \\ Component \\ Debug \\ Exception \\ FatalErrorException),Array)\\ n# 3 /var/www/html/mydomain.com/vendor/laravel/framework/src/Illuminate/Log/Writer.php(202):Monolog \\ Logger-> error(Object(Symfony \\ Component \\ Debug \\ E xception \\ FatalErrorException),數組)\\ n#4 /var/www/html/mydomain.com/vendor/laravel/framework/在/var/www/html/mydomain.com/vendor/monolog/monolog/src/Monolog/第87行的Handler / StreamHandler.php

您必須正確設置文件夾和文件的權限。 您可以在此問題中找到很多信息。 Laravel 5(及其他)的文件權限

另外,為什么不使用git部署項目呢? 進行回購,然后您可以在服務器上克隆項目,並且在更新站點時,只需要做一個git pull :)。如果您確實想以正確的方式進行操作,則可以在Envoy中使用deploybot。 這樣,您可以直接從本地計算機進行部署。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM