laravel10.x 服务器配置
如果您正在将应用程序部署到运行Nginx的服务器,则可以使用以下配置文件作为配置web服务器的起点。很可能,此文件需要根据服务器的配置进行自定义。如果你想在管理服务器方面获得帮助,可以考虑使用第一方Laravel服务器管理和部署服务,如Laravel Forge。
请确保,像下面的配置一样,您的web服务器将所有请求定向到应用程序的public/index.php文件。您永远不应该试图将index.php文件移动到项目根目录,因为从项目根目录为应用程序提供服务会将许多敏感的配置文件暴露在公共互联网上
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.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
用Forge / Vapor轻松布署
Laravel Forge
如果您还没有完全准备好管理自己的服务器配置,或者不愿意配置运行强大的Laravel应用程序所需的所有各种服务,Laravel Forge是一个很好的选择。
Laravel Forge可以在DigitalOcean、Linode、AWS等各种基础设施提供商上创建服务器。此外,Forge安装并管理构建强大的Laravel应用程序所需的所有工具,如Nginx、MySQL、Redis、Memcached、Beanstalk等。
Laravel Vapor
如果您想要一个完全无服务器、自动扩展的部署平台,请查看Laravel Vapor。Laravel Vapor是Laravel的一个无服务器部署平台,由AWS提供支持。在Vapor上启动您的Laravel基础设施,并爱上无服务器的可扩展简单性。Laravel的创建者对Laravel Vapor进行了微调,使其与框架无缝协作,这样您就可以像以前一样继续编写Laravel应用程序。