我有一个 Laravel 应用程序,我正尝试使用 Nginx 来提供服务,但当我导航到我的域时,我得到的只是一个名为“download”的文件,它会自动下载,其中包含 Laravel 的 public/index.php 的内容。没有提供任何 Laravel 应用程序。这是我的服务器块:
server {
server_name example.com;
listen 443 ssl;
listen [::]:443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
return 301 https://www.example.com$request_uri;
}
server {
server_name www.example.com;
listen 443 ssl;
listen [::]:443;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/example.com/public;
index index.html index.htm index.nginx-debian.html index.php;
location / {
try_files $uri $uri/ =404;
}
}
如果我打开“下载”文件,它包含 Laravel 的 public/index.php 文件的内容。
如何配置我的服务器块来为我的 Laravel 应用程序提供服务?
答案1
首先让自己熟悉什么是 PHP。
了解 Nginx 只是一个 Web 服务器,而不是 php 应用服务器。
你可能想要类似的东西php-fpm。
然后在官方 Nginx 文档你会发现如何最好地配置你的 Web 服务器