要在 NGINX 上部署 Laravel 專案,請先參考這篇在 NGINX 設定網域部署多個網站把 DNS 跟 config 檔案準備好。
接著再多開一隻 config 檔案來設定 Laravel 專案要用的,就把他叫 laravel.config 吧,只要副檔名是 .config 就會自動去抓裡面的設定資料了,接著裡面輸入這些:
server { listen 80; listen [::]:80; server_name example.com; root /srv/example.com/public; add_header X-Frame-Options "SAMEORIGIN"; add_header X-Content-Type-Options "nosniff"; index 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/php8.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }
注意 example.com 那邊要改成你要指過來的網域,root 那個則是網站的根目錄,Laravel 的根目錄要指到 public 的資料夾不然會看不到東西,都設定好後還要重開一下 nginx 讓設定生效。
另外還要修改檔案和資料夾權限給 www-data
chown -R www-data:www-data folderName
設定好後連上網只能夠看到內容就代表設定成功了。
參考:
部署- Laravel