Laravel Homestead/Sail:本地开发环境搭建

Laravel Homestead/Sail:本地开发环境搭建 – 编程界的温馨小窝,你值得拥有!🏡

大家好!我是你们的老朋友,一个在代码海洋里摸爬滚打多年的老码农。今天,咱们要聊聊一个对于 Laravel 开发者来说至关重要的话题:本地开发环境搭建。

想象一下,你是一位才华横溢的艺术家,想要创作一幅惊世骇俗的画作。但是,你却在一个脏乱不堪、光线昏暗的破旧小屋里工作。你的颜料瓶东倒西歪,画笔也找不到,心情烦躁,灵感也都被扼杀了。这能创作出好作品吗?恐怕很难吧!

同样的道理,如果你想开发出优秀的 Laravel 应用,一个舒适、高效、稳定的本地开发环境就是必不可少的。它就像你的专属温馨小窝,让你能够心无旁骛地专注于代码,尽情发挥你的创造力。

今天,我就要给大家介绍两种搭建 Laravel 本地开发环境的利器:Laravel HomesteadLaravel Sail。它们就像两款不同风格的装修方案,可以根据你的需求和喜好来选择。

🏠 第一款装修方案:Laravel Homestead – 功能强大的别墅级开发环境

Homestead,顾名思义,就是“家园”的意思。它是一个官方提供的 Vagrant box,预装了你开发 Laravel 应用所需的一切:

  • 操作系统: Ubuntu 操作系统,Linux 的稳定性和安全性,让你安心Coding。
  • Web 服务器: Nginx,高性能的 Web 服务器,让你体验飞一般的速度。
  • 数据库: MySQL 和 PostgreSQL,两大主流数据库,满足你的各种数据存储需求。
  • PHP 版本: 多个 PHP 版本可供选择,轻松切换,应对不同项目的要求。
  • 其他工具: Composer、Node、npm、Redis、Memcached 等等,一应俱全,让你无需再为环境配置烦恼。

优点:

  • 功能强大,配置全面: Homestead 就像一个功能强大的别墅,给你提供了一切你需要的设施。
  • 跨平台兼容性好: 可以在 Windows、macOS 和 Linux 上运行,真正做到一次配置,到处使用。
  • 方便管理多个项目: 可以轻松配置多个站点,每个站点都可以拥有独立的域名和数据库。
  • 稳定可靠: 经过官方的精心维护,Homestead 的稳定性和可靠性得到了保证。

缺点:

  • 配置相对复杂: 对于新手来说,Homestead 的配置可能稍微有些复杂,需要一定的学习成本。
  • 资源占用较高: 由于 Homestead 是一个完整的虚拟机,所以会占用一定的系统资源。

适用人群:

  • 对开发环境有较高要求的开发者
  • 需要同时开发多个 Laravel 项目的开发者
  • 希望拥有稳定可靠的开发环境的开发者

安装和配置 Homestead 的步骤:

  1. 安装 VirtualBox 和 Vagrant: 这两个是 Homestead 的基础,就像盖房子需要地基一样。去 VirtualBox官网(https://www.virtualbox.org/)和 Vagrant官网(https://www.vagrantup.com/)下载安装即可。

  2. 添加 Homestead Box: 打开你的终端,运行 vagrant box add laravel/homestead 命令,这将下载 Homestead 的虚拟机镜像。这个过程可能需要一段时间,取决于你的网络速度。

  3. 克隆 Homestead 仓库: 在你想要存放 Homestead 文件的目录下,运行 git clone https://github.com/laravel/homestead.git Homestead 命令,将 Homestead 的配置文件克隆到本地。

  4. 初始化 Homestead: 进入 Homestead 目录,运行 bash init.sh 命令,这将创建 Homestead.yaml 配置文件。

  5. 配置 Homestead.yaml: 打开 Homestead.yaml 文件,根据你的需求进行配置。主要配置项包括:

    • ip: Homestead 虚拟机的 IP 地址,可以自定义,例如 192.168.10.10
    • memory: Homestead 虚拟机的内存大小,建议设置为 2048MB 或以上。
    • cpus: Homestead 虚拟机的 CPU 核心数,建议设置为 2 或以上。
    • folders: 本地目录和虚拟机目录的映射关系,例如:

      folders:
          - map: ~/Code
            to: /home/vagrant/code

      这意味着你本地的 ~/Code 目录将会映射到虚拟机中的 /home/vagrant/code 目录。

    • sites: 站点配置,例如:

      sites:
          - map: homestead.test
            to: /home/vagrant/code/public

      这意味着当你访问 homestead.test 时,将会访问虚拟机中的 /home/vagrant/code/public 目录。

    • databases: 数据库配置,例如:

      databases:
          - homestead

      这意味着将会创建一个名为 homestead 的数据库。

  6. 启动 Homestead: 在 Homestead 目录中,运行 vagrant up 命令,这将启动 Homestead 虚拟机。

  7. 配置 hosts 文件: 在你的 hosts 文件中添加站点域名和 Homestead 虚拟机的 IP 地址的映射关系。hosts 文件位于:

    • Windows: C:WindowsSystem32driversetchosts
    • macOS/Linux: /etc/hosts
      例如,添加以下内容:
    192.168.10.10 homestead.test
  8. 访问你的站点: 在浏览器中输入 homestead.test,如果一切顺利,你应该能够看到你的 Laravel 应用的欢迎页面。🎉

表格总结 Homestead 的配置:

配置项 描述 示例
ip Homestead 虚拟机的 IP 地址。 192.168.10.10
memory Homestead 虚拟机的内存大小,单位为 MB。 2048
cpus Homestead 虚拟机的 CPU 核心数。 2
folders 本地目录和虚拟机目录的映射关系,用于同步代码。 yaml folders: - map: ~/Code to: /home/vagrant/code
sites 站点配置,用于配置域名和虚拟机目录的映射关系。 yaml sites: - map: homestead.test to: /home/vagrant/code/public
databases 数据库配置,用于创建数据库。 yaml databases: - homestead
name Homestead 虚拟机的名称。 homestead
hostname Homestead 虚拟机的主机名。 homestead
authorize 用于授权 Homestead 虚拟机访问你的 SSH 公钥的路径。 ~/.ssh/id_rsa.pub
keys 用于配置 Homestead 虚拟机可以使用的 SSH 私钥的路径。 ~/.ssh/id_rsa
variables 用于配置 Homestead 虚拟机的环境变量。 yaml variables: - key: APP_ENV value: local
networks 用于配置 Homestead 虚拟机的网络。 yaml networks: - type: "static" ip: "192.168.33.10" netmask: "255.255.255.0"
ports 用于配置端口转发,将本地端口映射到虚拟机端口。 yaml ports: - send: 8000 to: 8000 - send: 33060 to: 3306
blackfire 用于配置 Blackfire 集成,用于性能分析。 yaml blackfire: - id: "your_blackfire_server_id" token: "your_blackfire_server_token"
sites 用于配置站点信息,例如站点域名、站点根目录、SSL 证书等。 yaml sites: - map: laravel.test to: /home/vagrant/code/laravel/public ssl: true
databases 用于配置数据库信息,例如数据库名称、数据库用户名、数据库密码等。 yaml databases: - homestead - laravel
services 用于配置服务信息,例如 Redis、Memcached 等。 yaml services: redis: enabled: true memcached: enabled: true
features 用于配置 Homestead 的特性,例如 Nginx 站点、aliases 等。 yaml features: - nginx: true - aliases: - alias: "serve" command: "php artisan serve --host=$HOST --port=$PORT"
extensions 用于配置 PHP 扩展。 yaml extensions: - xdebug - memcached
scripts 用于配置启动脚本,在 Homestead 启动时执行。 yaml scripts: - after: | | echo "Running after script..." |

⛵ 第二款装修方案:Laravel Sail – 轻量级的帆船级开发环境

Sail,就像一艘轻便灵活的帆船,它使用 Docker 来构建开发环境。Docker 是一个容器化平台,可以将应用程序及其依赖项打包到一个独立的容器中。Sail 预装了你开发 Laravel 应用所需的基本组件:

  • Web 服务器: Nginx,高性能的 Web 服务器。
  • 数据库: MySQL、PostgreSQL、Redis、MeiliSearch,多种数据库选择,满足你的不同需求。
  • PHP 版本: 默认使用最新版本的 PHP,也可以自定义版本。
  • 其他工具: Mailhog、MinIO 等,方便你进行邮件测试和文件存储。

优点:

  • 轻量级,易于上手: Sail 的配置非常简单,只需要几行命令就可以启动一个完整的开发环境。
  • 资源占用较低: Docker 容器的资源占用比虚拟机要小得多,更加轻量级。
  • 环境隔离性好: 每个 Sail 项目都运行在独立的 Docker 容器中,避免了不同项目之间的环境冲突。
  • 方便共享和部署: 可以将 Sail 项目的 Docker 镜像共享给其他开发者,或者直接部署到 Docker 容器中。

缺点:

  • 需要一定的 Docker 基础: 虽然 Sail 简化了 Docker 的使用,但是仍然需要一定的 Docker 基础才能更好地理解和使用它。
  • 跨平台兼容性不如 Homestead: 在某些平台上可能会遇到一些兼容性问题。

适用人群:

  • 对开发环境要求不高,追求快速搭建的开发者
  • 需要开发小型 Laravel 项目的开发者
  • 对 Docker 技术感兴趣的开发者

安装和配置 Sail 的步骤:

  1. 安装 Docker: Docker 是 Sail 的基础,去 Docker官网(https://www.docker.com/)下载安装即可。
  2. 创建一个新的 Laravel 项目: 运行 composer create-project laravel/laravel your-project-name 命令,创建一个新的 Laravel 项目。
  3. 安装 Sail: 进入你的 Laravel 项目目录,运行 composer require laravel/sail --dev 命令,安装 Sail。
  4. 运行 Sail 安装命令: 运行 php artisan sail:install 命令,选择你需要的数据库和其他服务。
  5. 启动 Sail: 运行 ./vendor/bin/sail up 命令,启动 Sail。

表格总结 Sail 的配置:

配置项 描述 示例
APP_NAME 应用名称。 Laravel
APP_ENV 应用环境,例如 localstagingproduction local
APP_KEY 应用密钥,用于加密数据。 base64:your_app_key
APP_DEBUG 是否开启调试模式,truefalse true
APP_URL 应用 URL。 http://localhost
LOG_CHANNEL 日志通道。 stack
DB_CONNECTION 数据库连接,例如 mysqlpgsql mysql
DB_HOST 数据库主机。 mysql
DB_PORT 数据库端口。 3306
DB_DATABASE 数据库名称。 laravel
DB_USERNAME 数据库用户名。 sail
DB_PASSWORD 数据库密码。 password
REDIS_HOST Redis 主机。 redis
REDIS_PORT Redis 端口。 6379
MEMCACHED_HOST Memcached 主机。 memcached
MAIL_MAILER 邮件驱动,例如 smtpsendmail smtp
MAIL_HOST 邮件主机。 mailhog
MAIL_PORT 邮件端口。 1025
MAIL_USERNAME 邮件用户名。 null
MAIL_PASSWORD 邮件密码。 null
PUSHER_APP_ID Pusher 应用 ID。 null
PUSHER_APP_KEY Pusher 应用 Key。 null
PUSHER_APP_SECRET Pusher 应用 Secret。 null
PUSHER_APP_CLUSTER Pusher 应用 Cluster。 mt1

启动 Sail 后,你就可以在浏览器中输入 localhost 来访问你的 Laravel 应用了。

🛠️ 如何选择? – 装修风格大比拼!

那么,Homestead 和 Sail,到底该选择哪一个呢?这就像选择装修风格一样,要根据你的实际情况和喜好来决定。

  • 如果你是 Laravel 新手,或者对 Docker 不太熟悉,那么 Sail 可能更适合你。 它的配置简单,易于上手,可以让你快速搭建一个可用的开发环境。
  • 如果你对开发环境有较高要求,需要同时开发多个 Laravel 项目,或者希望拥有一个稳定可靠的开发环境,那么 Homestead 可能更适合你。 它的功能强大,配置全面,可以满足你的各种需求。
  • 如果你对 Docker 技术感兴趣,希望学习和使用 Docker,那么 Sail 也是一个不错的选择。 它可以让你在实践中学习 Docker,更好地理解容器化技术。

总而言之,Homestead 和 Sail 都是优秀的 Laravel 本地开发环境搭建工具。选择哪一个,取决于你的个人情况和需求。就像选择装修风格一样,没有绝对的好坏,只有适合你的才是最好的。

💡 进阶技巧 – 让你的开发环境更上一层楼!

除了基本的安装和配置,还有一些进阶技巧可以帮助你更好地使用 Homestead 和 Sail,让你的开发环境更上一层楼。

  • 使用 Homestead 的共享文件夹功能,可以方便地在本地和虚拟机之间同步代码。
  • 使用 Homestead 的站点配置功能,可以轻松配置多个站点,每个站点都可以拥有独立的域名和数据库。
  • 使用 Sail 的别名功能,可以简化常用命令,提高开发效率。
  • 使用 Sail 的 Docker Compose 文件,可以自定义你的开发环境,添加你需要的服务。

总之,Homestead 和 Sail 都有很多强大的功能,等待你去探索和发现。

🎉 总结 – 打造你的专属编程乐园!

搭建一个舒适、高效、稳定的本地开发环境,就像打造你的专属编程乐园。它可以让你心无旁骛地专注于代码,尽情发挥你的创造力,最终开发出优秀的 Laravel 应用。

希望今天的分享对你有所帮助。记住,选择适合你的工具,不断学习和探索,你一定能够成为一名优秀的 Laravel 开发者!

最后,祝大家编码愉快!😊

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注