温馨提示×

Laravel与Linux服务器的集成方案

小樊
47
2025-08-07 09:10:58
栏目: 云计算

以下是Laravel与Linux服务器的集成方案,涵盖环境配置、部署流程及优化建议:

一、环境准备

  1. 安装基础软件

    • PHP:安装PHP 7.3+及必要扩展(如php-fpmphp-mysqlphp-curl等)。
      sudo apt update sudo apt install php-fpm php-mysql php-curl php-mbstring php-xml php-zip 
    • Web服务器:选择Nginx或Apache,以Nginx为例:
      sudo apt install nginx 
    • 数据库:安装MySQL/PostgreSQL,推荐MySQL。
      sudo apt install mysql-server sudo mysql_secure_installation 
  2. 配置数据库

    • 创建数据库及用户,并授权:
      CREATE DATABASE laravel_db; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON laravel_db.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES; 

二、部署Laravel项目

  1. 上传项目

    • 通过FTP/SCP将Laravel项目上传至服务器指定目录(如/var/www/)。
  2. 配置环境变量

    • 复制.env.example.env,修改数据库连接、APP_URL等参数。
      DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_db DB_USERNAME=laravel_user DB_PASSWORD=password 
  3. 安装依赖与生成密钥

    • 安装Composer依赖:
      composer install --no-dev --optimize-autoloader 
    • 生成应用密钥:
      php artisan key:generate 
  4. 配置Web服务器

    • Nginx:修改配置文件(如/etc/nginx/sites-available/default),指向项目public目录。
      server { listen 80; server_name example.com; root /var/www/laravel/public; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; include fastcgi_params; } } 
    • 重启Web服务器:
      sudo systemctl restart nginx 
  5. 设置权限

    • 确保storagebootstrap/cache目录可写:
      sudo chown -R www-data:www-data /var/www/laravel sudo chmod -R 755 /var/www/laravel/storage /var/www/laravel/bootstrap/cache 

三、优化与扩展

  1. 启用缓存

    • 生成配置缓存和路由缓存,提升性能:
      php artisan config:cache php artisan route:cache 
  2. 配置队列(可选)

    • 若使用队列,安装Redis并配置.env
      QUEUE_CONNECTION=redis 
      sudo apt install redis-server sudo systemctl start redis-server 
  3. HTTPS支持(可选)

    • 使用Let’s Encrypt配置SSL证书,强制HTTPS跳转。

四、验证与维护

  • 访问http://服务器IP或域名,确认应用正常运行。
  • 定期更新依赖包和服务器软件,确保安全性。

参考来源

0