首页主机资讯Linux Laravel如何搭建服务器环境

Linux Laravel如何搭建服务器环境

时间2025-11-27 02:40:03发布访客分类主机资讯浏览1471
导读:Linux 上搭建 Laravel 服务器环境 一 准备与版本选择 以 Ubuntu/Debian 或 CentOS/RHEL 为例,先更新系统并安装基础工具。 选择 LEMP(Nginx + PHP-FPM + MySQL)或 LAMP...

Linux 上搭建 Laravel 服务器环境

一 准备与版本选择

  • Ubuntu/DebianCentOS/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 -vphp -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
  • 安装 Composer
    • curl -sS https://getcomposer.org/installer | php
    • sudo mv composer.phar /usr/local/bin/composer
  • 创建项目(可选)
    • composer create-project --prefer-dist laravel/laravel my_laravel
    • cd my_laravel
  • 配置 Laravel
    • cp .env.example .env
    • php 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

三 CentOS 或 RHEL 搭建步骤

  • 安装 EPEL 与 Remi 仓库(以 PHP 8.1 为例)
    • sudo yum install epel-release -y
    • sudo yum install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y
    • sudo 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 示例一致
  • 防火墙
    • sudo firewall-cmd --permanent --add-service=http
    • sudo 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/cache
    • sudo chmod -R 775 /var/www/my_laravel/storage /var/www/my_laravel/bootstrap/cache
  • 可选优化
    • 生产环境执行:php artisan config:cachephp artisan route:cachephp 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
  • 常见错误
    • 页面空白或 500:检查 .env 配置、APP_KEYstorage/bootstrap/cache 权限、PHP 错误日志
    • 路由 404:确认 Nginx try_files $uri $uri/ /index.php?$query_string; root 指向 /public
    • 权限被拒:确认目录属主为 www-data/nginx 且权限 775
    • 数据库连接失败:核对 .envDB_HOST/DB_PORT/DB_USERNAME/DB_PASSWORD 与数据库是否允许该用户远程/本地访问

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux Laravel如何搭建服务器环境
本文地址: https://pptw.com/jishu/757430.html
Laravel在Linux下如何优化性能 ubuntu如何利用工具处理僵尸进程

游客 回复需填写必要信息