Linux Laravel如何搭建服务器环境
导读:Linux 上搭建 Laravel 服务器环境 一 准备与版本选择 以 Ubuntu/Debian 或 CentOS/RHEL 为例,先更新系统并安装基础工具。 选择 LEMP(Nginx + PHP-FPM + MySQL)或 LAMP...
Linux 上搭建 Laravel 服务器环境
一 准备与版本选择
- 以 Ubuntu/Debian 或 CentOS/RHEL 为例,先更新系统并安装基础工具。
- 选择 LEMP(Nginx + PHP-FPM + MySQL)或 LAMP(Apache + mod_php + MySQL)。
- 当前 Laravel 版本通常要求 PHP 8.0+,并启用常见扩展:php-cli php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd php-bcmath。可用
php -v与php -m检查版本与扩展。
二 Ubuntu 或 Debian 搭建步骤
- 安装组件
- LEMP:
sudo apt update & & sudo apt install nginx mysql-server php-fpm php-mysql php-mbstring php-xml php-curl php-zip php-gd php-bcmath
- LAMP:
sudo apt update & & sudo apt install apache2 mysql-server libapache2-mod-php php-mysql php-mbstring php-xml php-curl php-zip php-gd php-bcmath
- LEMP:
- 安装 Composer
curl -sS https://getcomposer.org/installer | phpsudo mv composer.phar /usr/local/bin/composer
- 创建项目(可选)
composer create-project --prefer-dist laravel/laravel my_laravelcd my_laravel
- 配置 Laravel
cp .env.example .envphp artisan key:generate- 编辑
.env配置数据库等敏感信息
- Web 服务器配置
- Nginx 示例(/etc/nginx/sites-available/laravel):
server { listen 80; server_name your_domain_or_ip; root /var/www/my_laravel/public; index index.php index.html; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Content-Type-Options "nosniff"; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; # 按实际 PHP 版本调整 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.(?!well-known).* { deny all; } }- 启用站点:
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled - 校验并重启:
sudo nginx -t & & sudo systemctl reload nginx
- 启用站点:
- Apache 要点:启用
mod_rewrite,虚拟主机DocumentRoot指向 /public,且< Directory>中AllowOverride All。
- Nginx 示例(/etc/nginx/sites-available/laravel):
三 CentOS 或 RHEL 搭建步骤
- 安装 EPEL 与 Remi 仓库(以 PHP 8.1 为例)
sudo yum install epel-release -ysudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -ysudo dnf module reset php -y & & sudo dnf module enable php:remi-81 -y
- 安装组件
sudo yum install nginx mysql-server php php-fpm php-mysqlnd php-mbstring php-xml php-curl php-zip php-gd php-bcmath -y
- 启动服务
sudo systemctl enable --now nginx php-fpm mysqld
- Composer 与项目
- 安装 Composer(同 Ubuntu 步骤)
- 创建项目或上传代码,执行
php artisan key:generate
- Nginx 配置(两种方式,二选一)
- Unix Socket(推荐):
fastcgi_pass unix:/var/run/php-fpm/www.sock; - TCP 端口:
fastcgi_pass 127.0.0.1:9000;(需确保 php-fpm 监听 9000) - 其余
try_files与安全头配置与上文 Nginx 示例一致
- Unix Socket(推荐):
- 防火墙
sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --reload
四 数据库与权限安全
- 初始化与安全加固
sudo mysql_secure_installation
- 创建数据库与用户
CREATE DATABASE laravel_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'StrongPassword!';GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost';FLUSH PRIVILEGES;
- Laravel 环境变量
.env中设置:DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=laravel_user DB_PASSWORD=StrongPassword!
- 文件权限
- Web 服务运行用户通常为 www-data(Debian/Ubuntu)或 nginx(CentOS/RHEL)
sudo chown -R www-data:www-data /var/www/my_laravel/storage /var/www/my_laravel/bootstrap/cachesudo chmod -R 775 /var/www/my_laravel/storage /var/www/my_laravel/bootstrap/cache
- 可选优化
- 生产环境执行:
php artisan config:cache、php artisan route:cache、php artisan view:cache
- 生产环境执行:
五 验证与常见问题
- 访问测试
- 浏览器打开 http://your_domain_or_ip,应看到 Laravel 欢迎页
- 开发阶段可临时使用
php artisan serve,但生产环境请使用 Nginx/Apache
- 日志排查
- Nginx:
/var/log/nginx/error.log - PHP-FPM:
/var/log/php-fpm.log或/var/log/php8.1-fpm.log - Laravel:
storage/logs/laravel.log
- Nginx:
- 常见错误
- 页面空白或 500:检查
.env配置、APP_KEY、storage/bootstrap/cache权限、PHP 错误日志 - 路由 404:确认 Nginx
try_files $uri $uri/ /index.php?$query_string;与root指向 /public - 权限被拒:确认目录属主为 www-data/nginx 且权限 775
- 数据库连接失败:核对
.env中 DB_HOST/DB_PORT/DB_USERNAME/DB_PASSWORD 与数据库是否允许该用户远程/本地访问
- 页面空白或 500:检查
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Laravel如何搭建服务器环境
本文地址: https://pptw.com/jishu/757430.html
