• Stars
    star
    208
  • Rank 189,015 (Top 4 %)
  • Language
    Shell
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

📗[WIP] 追求质量的 Laravel 应用部署上线课程。

轻松部署 Laravel 应用

如何阅读

简介

项目开发完成,如何向世界展示你的作品?必不可少的一步就是 部署

实际上,目前国内大多创业型公司,对于程序员技能树的要求少不了部署。除了编写高效稳定的代码外,你还需要将这份代码快速、安全地部署到线上以供演示和交付等。这对于长期与 Laravel 和 PHP 打交道的开发者来说确实存在一些门槛:

  • 宝塔面板?一键包?手动部署?
  • 一键脚本都做了什么?怎样手动部署?
  • 有没有办法简化上述过程?
  • 出现故障怎么办?如何快速回滚版本?
  • ...

我早期一直从事 PHP 开发工作,对于以上问题曾经也感到困惑;近期转型运维向,在这个「痛苦」的学习过程中,我发现多数 PHP 程序员对部署并不熟悉;就像「隔行如隔山」,原本十分简易的流程,大家还在用着陈旧的工具、读着过时的教程,最终让部署成了一件难事儿。

目的

本课程内,我将尽全力降低对于运维以及 Shell 专业知识的要求,以尽可能贴近国内 PHP 工程师的方式讲述部署过程。读者可跟随课程描述,边学习边操作,快速了解整套流程,一步一步地实现发布上线。

同时,我将尝试多种部署方式。在这个过程中,你将感受到不同方案带来的优势,同时也不可避免地存在一些缺点,希望大家能够结合自身情况和实际需求,记住 适合即最优

知识点

上线 Laravel 项目,在技术层面基本可以分为三大步骤:

  1. 安装运行环境
  2. 配置运行环境
  3. 部署应用代码

以及可选项:

  1. 更新应用
  2. 回滚应用

预期大纲:

  • 常见一键 Web 面板
  • 常见一键配置脚本
  • 手动安装 Git、Nginx、Composer、PHP、PHP-FPM
  • Envoy
  • Deployer
  • Ansible
  • Terraform
  • Lexicon
  • ...

目录结构

.
├── README.md --------- 导语
├── helpers ----------- 辅助脚本目录(无需关注)
│   ├── deploy
│   ├── image
│   └── lint
└── src --------------- 实际课程目录
    ├── *.md ---------- Markdown 格式的文章
    ├── ...
    └── images -------- 图片目录
        ├── *.png ----- 截图、插图等
        └── ...

约定

在本课程中,若代码块的行首字符为 $,表示这是一行需要在命令行内执行的语句,例如:

$ echo "Hello deployment!"

在复制或输入时,请去掉开头的 $

在本课程中,将使用以下命令创建一个示例应用作为演示项目:

$ laravel new hello-deployment

在本课程中,如无特殊说明,将采用 Ubuntu Bionic 18.04 LTS 作为服务器系统。

番外

其它

常见注意事项如下:

  • 更新节奏不固定,业余时间写作。暂时计划 1-2 天每篇。
  • 本课程将不再赘述云服务购买等 基础且具备商业支持 的步骤。
  • 在开始学习前,请先了解一些基本概念,例如「什么是 Linux」、「Nginx 的作用」。
  • 对于 MySQL、Redis、ElasticSearch 等组件的安装与调优不在本课程的大纲范围内。

贡献

如有任何建议或意见请 提交 Issue 指出,感谢您的关注。

More Repositories

1

china-divisions

📍中国行政区划地址库 SDK + 爬虫 + 数据。
PHP
191
star
2

v2ray-exporter

🧭 Prometheus exporter for V2Ray and V2Fly metrics, with a simple Grafana dashboard.
Go
87
star
3

baidu-mini-program-sdk

🐾百度小程序第三方 PHP SDK,遵循 PSR-7、支持 PHP 5.4,助力智能小程序开发。
PHP
50
star
4

weekly-report

🔧提取 Git 提交记录快速生成 Markdown 格式的日报 / 周报,旨在帮助像我这样健忘的程序员们快速编排工作记录。
PHP
39
star
5

RFID-Toolkit

收集常见 UHF RFID 设备协议、SDK、说明文档等,以供参考。
C#
25
star
6

learnku-deploy-bot

A deploy bot for personal use.
PHP
14
star
7

UHFReader.NET

UHFReader18.dll as CSharp version. A SDK to control UHF RFID readers.
C#
13
star
8

blog

This repo has now been deprecated and archived in favor of my new blog v3. All posts have been migrated. Check out there to get better expierence provided by Hugo.
Less
8
star
9

sms-decoder

📲Parse PDU-Mode SMS and decoding 7-bit, 8-bit, USC2 data in .NET Core.
C#
7
star
10

docker-kod-explorer

A couple of Docker images for running KodExplorer, with PHP-FPM and Nginx.
Dockerfile
5
star
11

wi1dcard

This is me.
3
star
12

RfidClient

UHF RFID Client Based on UHFReader.NET
C#
3
star
13

RfidServer

UHF RFID Server based on Supersocket.
C#
3
star
14

blog-v3

The blog that records my thoughts, attempts, and experiences.
HTML
2
star
15

laravel-broadcasting

A laravel broadcasting demo, supported public / private channel.
PHP
2
star
16

docker-qshell

Docker image for the Qiniu CLI tool, a.k.a. qshell.
Dockerfile
1
star