开发和线上环境

未匹配的标注
本文档最新版为 9.x,旧版本可能放弃维护,推荐阅读最新版!

环境说明

一般情况下,一个项目 应该 有以下三个基本的项目环境:

  • Local - 开发环境
  • Staging - 线上测试环境
  • Production - 线上生产环境

使用软件

服务器系统

Laravel 社区提倡使用 Ubuntu 系统,开发环境 Homestead 中默认也是使用 Ubuntu 系统。所以服务器系统 应该 优先考虑 Ubuntu,并且是 LTS 支持的系统,如 Ubuntu 14.04.5 LTS 或者 Ubuntu 16.04.2 LTS 。

PHP 7

PHP 版本 应该 优先考虑 PHP 7,不止因为其运行高效,还因为随着 PHP 7 的广泛应用,PHP 7 以下的版本将会很快停止维护。

MySQL 5.7

数据库软件 应该 优先选择 MySQL,因为其使用率最高。MySQL 5.7 与 PHP 7 一样,已经是大势所趋,选择版本时 应该 优先考虑 MySQL 5.7。

其他软件

应该 优先选择 流行 稳定 版本。线上环境 绝不 使用 Beta 或者其他不稳定发行版。

Production 生产环境

线上环境部署可以参考 Ubuntu 14/16 下的 Laravel LNMP 线上环境自...,此脚本参照了 Homestead 环境设置脚本 ,并做了更加适用于生产环境的效率和安全调优。

出于安全考虑,线上环境 必须 只开放以下端口:

  • 80 HTTP
  • 443 HTTPS
  • 22 SSH

Local 开发环境

所有项目 必须 使用 Homestead 作为应用程序运行的环境。请阅读 为什么必须使用 Homestead 来开发 Laravel 应...

  • 统一使用域名 .test 作为后缀;
  • 统一使用 IP 192.168.10.10 作为 hosts 绑定地址,如:192.168.10.10 project-name.test
  • 统一使用 vm alias,见文档 通过 SSH 连接

Staging 线上测试环境

除了域名等其他独立应用配置以外,环境 必须 跟 Production 保持高度一致性,可以的话 应该 与 Production 使用同台机器。

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。