1. 程式人生 > >laravel 上線部署最佳實踐

laravel 上線部署最佳實踐

download 擁有 優先 -s 類型 註意 dex chmod ram

nginx 配置

listen 80 default_server;
server_name xxxx;
index index.php index.html; 優先 index.php
root /home/wwwroot/xxx/public/;
add_header X-Frame-Options "SAMEORIGIN"; 不要用frame
add_header X-XSS-Protection "1; mode=block"; 啟動 xss 過濾
add_header X-Content-Type-Options "nosniff"; 不要猜測 文件類型 返回是什麽就是什麽

location = /favicon.ico { access_log off; log_not_found off; } 不要記錄
location = /robots.txt { access_log off; log_not_found off; } 不要記錄

include none.conf;
#error_page 404 /404.html;
location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { 靜態文件 直接下載 返回
}

include enable-php.conf;

location / { 先訪問 $uri 然後 $uri/ 然後 /index.php?$query_string
try_files $uri $uri/ /index.php?$query_string;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 緩存265天
{
expires 365d;
}

location ~* ^.+\.(jpg|jpeg|gif|png|bmp|css|js|swf|txt)$ { 不要記錄
access_log off;

break;
}
location ~ .*\.(js|css)?$ 緩存12小時
{
expires 12h;
}

location ~ /\. 屏蔽.
{
deny all;
}

權限

一般要求文件擁有者不能是 nginx php 執行用戶 但實際上你權限設置好無所謂的

chown -R www:www wwwroot

chmod -R 550 wwwroot

find wwwroot -type f exec chmod 440 {} 除了storage 文件全部只給讀

chmod -R 770 wwwroot/storage 這裏是肯定要給770 的 但偽黑客 做不了手腳

修改 php配置文件 fastcgi.conf

添加 fastcgi_param APP_ENV online; 自動切換配置用 增加文件 .env.online

部署代碼

註意:composer 安裝的依賴 都在vendoc文件夾裏 不需要網上人說的重新執行 composer install 畫蛇添足 多此一舉

php artisan down
git pull
php artisan config:cache
php artisan optimize
php artisan migrate
php artisan up

laravel 上線部署最佳實踐