déployer


Nginx

Configuration du serveur

Nginx

Si vous souhaitez déployer votre application sur le serveur Nginx, vous pouvez utiliser le fichier de configuration suivant comme point de départ configurez votre serveur Web. Très probablement, ce fichier nécessitera quelques modifications personnalisées en fonction de la configuration de votre serveur. Si vous avez besoin d'aide pour gérer votre serveur, pensez à utiliser 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;   
         }
     }

Laravel 应用到生产环境时,请确保几个重要的注意点以保证你的应用能尽可能高效的运行。本文中我们将会覆盖几个重点来确保你的 Laravel 应用部署得当。

服务器配置

Nginx

如果你想要部署你的应用到 Nginx 服务器上,你可能会用到下面这个配置文件作为一个开始来配置你的 Web

Améliorations

Améliorations de l'Autoloader

Lorsque vous êtes prêt à déployer votre application dans l'environnement de production, assurez-vous d'optimiser le mappage de chargement automatique de votre classe Composer afin que Composer puisse rapidement trouver la bonne. fichier pour charger la classe donnée :

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

Conseils : En plus d'optimiser le chargeur automatique, vous devez également vous assurer d'inclure le fichier composer.lock dans le référentiel de code de votre projet. Lorsque vous avez le fichier composer.lock dans le code de votre projet, vous pouvez installer plus rapidement les dépendances nécessaires au projet. composer.lock 这个文件。当你的项目代码中有 composer.lock 这个文件时,便可以更快的安装项目中需要的依赖项。

优化配置加载

当你将应用程序部署到生产环境时,你应当确保在你部署过程中运行 config:cache Artisan 命令:

php artisan config:cache

此命令将所有 Laravel 的配置文件合并到一个缓存文件,这次极大地减少了框架在加载配置值时必须对文件系统进行访问的次数。

{note} 如果在你部署过程中执行 config:cache 命令,你应当确保你仅从你的配置文件中调用 env 函数。一旦配置被缓存,.env 文件将不被加载并且对 env 函数的所有调用将返回 null

优化路由加载

如果你想构建具有许多路由的大型应用程序,你应当确保在你部署的过程中运行 route:cache

Lorsque vous déployez votre application en production, vous devez faire assurez-vous d'exécuter la commande config:cache Artisan pendant votre déploiement :

php artisan route:cache
Cette commande fusionne tous les fichiers de configuration de Laravel en un seul fichier de cache, réduisant cette fois considérablement le temps dont dispose le framework pour charger les valeurs de configuration. nombre de fois où le système de fichiers doit être accédé.

{note} Si vous exécutez la commande config:cache lors de votre déploiement, vous devez vous assurer que vous appelez uniquement la fonction env à partir de votre fichier de configuration. Une fois la configuration mise en cache, le fichier .env ne sera pas chargé et tous les appels à la fonction env renverront null.

Optimisation du chargement des routesSi vous souhaitez créer une grande application avec de nombreuses routes , vous devez vous assurer d'exécuter la commande route:cache Artisan lors de votre déploiement :
rrreee
Cette commande réduira tous les enregistrements de route à un seul appel de méthode dans un fichier cache, enregistrant ainsi des centaines de routes. performance de l'enregistrement de l'itinéraire lors du routage. 🎜🎜🎜{note} Étant donné que cette fonctionnalité utilise la sérialisation PHP, vous ne pouvez mettre en cache que les routes d'application qui utilisent spécifiquement le routage basé sur le contrôleur. PHP ne peut pas sérialiser les routes de fermeture. 🎜🎜🎜🎜🎜🎜🎜🎜🎜 Déploiement avec Forge 🎜🎜 Si vous n'êtes pas prêt à gérer votre propre configuration de serveur, ou si vous n'êtes pas familier avec la configuration des différents services requis pour exécuter de puissantes applications Laravel, Laravel Forge est un bon choix. 🎜🎜Laravel Forge peut créer des serveurs sur différents fournisseurs d'infrastructures (tels que DigitalOcean, Linode, AWS, etc.). De plus, Forge installe et gère tous les outils nécessaires pour créer de puissantes applications Laravel, telles que : Nginx, MySQL, Redis, Memcached, Beanstalk, etc. 🎜🎜Cet article a été publié pour la première fois sur le site 🎜LearnKu.com🎜. 🎜🎜