ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
[TOC] # 部署 ## Apache 配置 ``` // Apache 默认已存在文件 public/.htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Handle Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule> ``` ## Nginx配置 ``` 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; } } ``` ## 自动加载器改进 ``` $ composer install --optimize-autoloader --no-dev ``` >[success] 注意:除了优化自动加载器,你还应该确保在你的项目代码仓库中包含了 composer.lock 这个文件。当你的项目代码中有 composer.lock 这个文件时,便可以更快的安装项目中需要的依赖项。 ## 生成配置缓存 ``` $ php artisan config:cache $ php artisan config:clear // 删除缓存 ``` >[success] 注意:如果在部署过程中执行 config:cache 命令,那你应该确保只从配置文件内部调用 env 函数。一旦配置被缓存,.env 文件将不再被加载,所有对 env 函数的调用都将返回 null。 ## 生成路由缓存 ``` $ php artisan route:cache $ php artisan route:clear // 删除缓存 ``` >[success] 注意:由于此功能使用 PHP 序列化,你仅能缓存专门使用基于控制器路由的应用程序路由。PHP 不能序列化闭包路由。 ## 维护模式 ``` php artisan down // message 显示或记录自定义消息 // retry 设置 HTTP 请求头中 Retry-After 的值 php artisan down --message="Upgrading Database" --retry=60 // allow 选项允许特定的 IP 地址或网络访问应用程序 php artisan down --allow=127.0.0.1 --allow=192.168.0.0/16 // 关闭维护模式 php artisan up ```