国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

部署

部署


部署

簡(jiǎn)介

當(dāng)你準(zhǔn)備部署你的 Laravel 應(yīng)用到生產(chǎn)環(huán)境時(shí),請(qǐng)確保幾個(gè)重要的注意點(diǎn)以保證你的應(yīng)用能盡可能高效的運(yùn)行。本文中我們將會(huì)覆蓋幾個(gè)重點(diǎn)來(lái)確保你的 Laravel 應(yīng)用部署得當(dāng)。

服務(wù)器配置

Nginx

如果你想要部署你的應(yīng)用到 Nginx 服務(wù)器上,你可能會(huì)用到下面這個(gè)配置文件作為一個(gè)開(kāi)始來(lái)配置你的 Web 服務(wù)器。很有可能,這個(gè)文件需要根據(jù)你的服務(wù)器配置來(lái)做一些自定義的修改。如果你需要協(xié)助來(lái)管理你的服務(wù)器,可以考慮使用 Laravel Forge:

server {
    listen 80;
    server_name example.com;
    root /example.com/public;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Content-Type-Options "nosniff";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
        include fastcgi_params;  
         }

    location ~ /\.(?!well-known).* {
        deny all;   
         }
     }

改進(jìn)

自動(dòng)加載器改進(jìn)

當(dāng)你準(zhǔn)備往生產(chǎn)環(huán)境部署應(yīng)用時(shí),確保你優(yōu)化了你的 Composer 類的自動(dòng)加載映射,這樣可以使 Composer 可以很快的找到正確的加載文件去加載給定的類:

composer install --optimize-autoloader --no-dev

小提示:除了優(yōu)化自動(dòng)加載器,你還應(yīng)該確保在你的項(xiàng)目代碼倉(cāng)庫(kù)中包含了 composer.lock 這個(gè)文件。當(dāng)你的項(xiàng)目代碼中有 composer.lock 這個(gè)文件時(shí),便可以更快的安裝項(xiàng)目中需要的依賴項(xiàng)。

優(yōu)化配置加載

當(dāng)你將應(yīng)用程序部署到生產(chǎn)環(huán)境時(shí),你應(yīng)當(dāng)確保在你部署過(guò)程中運(yùn)行 config:cache Artisan 命令:

php artisan config:cache

此命令將所有 Laravel 的配置文件合并到一個(gè)緩存文件,這次極大地減少了框架在加載配置值時(shí)必須對(duì)文件系統(tǒng)進(jìn)行訪問(wèn)的次數(shù)。

{note} 如果在你部署過(guò)程中執(zhí)行 config:cache 命令,你應(yīng)當(dāng)確保你僅從你的配置文件中調(diào)用 env 函數(shù)。一旦配置被緩存,.env 文件將不被加載并且對(duì) env 函數(shù)的所有調(diào)用將返回 null。

優(yōu)化路由加載

如果你想構(gòu)建具有許多路由的大型應(yīng)用程序,你應(yīng)當(dāng)確保在你部署的過(guò)程中運(yùn)行 route:cache Artisan 命令:

php artisan route:cache

此命令將為所有路由注冊(cè)縮減到一個(gè)緩存文件中的單個(gè)方法調(diào)用,從而在注冊(cè)數(shù)百個(gè)路由時(shí)提高了路由注冊(cè)的性能。

{note} 由于此功能使用 PHP 序列化,你僅能緩存專門使用基于控制器路由的應(yīng)用程序路由。PHP 不能序列化閉包路由。

使用 Forge 部署

如果你還沒(méi)有準(zhǔn)備好管理自己的服務(wù)器配置,或者不熟悉配置對(duì)運(yùn)行強(qiáng)大的 Laravel 應(yīng)用程序所需的各種服務(wù),Laravel Forge 是一個(gè)好的選擇。

Laravel Forge 能在各種基礎(chǔ)設(shè)施提供商(如:DigitalOcean,Linode,AWS 等等)上創(chuàng)建服務(wù)器。另外,F(xiàn)orge 安裝和管理構(gòu)建強(qiáng)大 Laravel 應(yīng)用程序所需的所有工具,比如:Nginx,MySQL,Redis,Memcached,Beanstalk 等等。

本文章首發(fā)在 LearnKu.com 網(wǎng)站上。