All Projects → wi1dcard → Laravel Deployment

wi1dcard / Laravel Deployment

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

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Laravel Deployment

Slickstack
SlickStack is a free LEMP stack automation script written in Bash designed to enhance and simplify WordPress provisioning, performance, and security.
Stars: ✭ 311 (+63.68%)
Mutual labels:  lnmp, ubuntu, nginx
Ansipress
AnsiPress - Simple L(Linux) E(NGINX) M(MariaDB) P(PHP7) Shared Hosting Setup
Stars: ✭ 184 (-3.16%)
Mutual labels:  ansible, ubuntu, nginx
Terrible
An Ansible playbook that apply the principle of the Infrastructure as Code on a QEMU/KVM environment.
Stars: ✭ 161 (-15.26%)
Mutual labels:  ansible, terraform, ubuntu
Learning Tools
A collection of tools and files for learning new technologies
Stars: ✭ 1,287 (+577.37%)
Mutual labels:  ansible, terraform, ubuntu
Ops Cli
Ops - cli wrapper for Terraform, Ansible, Helmfile and SSH for cloud automation
Stars: ✭ 152 (-20%)
Mutual labels:  ansible, terraform
Nginx
A fairly flexible and feature full Ansible role for the NGINX web server.
Stars: ✭ 151 (-20.53%)
Mutual labels:  ansible, nginx
Infrastructure As Code Tutorial
Infrastructure As Code Tutorial. Covers Packer, Terraform, Ansible, Vagrant, Docker, Docker Compose, Kubernetes
Stars: ✭ 1,954 (+928.42%)
Mutual labels:  ansible, terraform
Ansible Ubuntu
Ansible scripts to setup Ubuntu desktop/server
Stars: ✭ 182 (-4.21%)
Mutual labels:  ansible, ubuntu
K3s Gitops Arm
k3s cluster backed by Flux (GitOps) up and running on a cluster of RPi4
Stars: ✭ 135 (-28.95%)
Mutual labels:  ansible, ubuntu
Terraform Inventory
An Ansible dynamic inventory script to pair with nbering/terraform-provider-ansible.
Stars: ✭ 154 (-18.95%)
Mutual labels:  ansible, terraform
External Auth Server
easy auth for reverse proxies
Stars: ✭ 189 (-0.53%)
Mutual labels:  envoy, nginx
Ansible Role Composer
Ansible Role - Composer PHP Dependency Manager
Stars: ✭ 149 (-21.58%)
Mutual labels:  ansible, composer
Oracle Java
Ansible role to install Oracle Java 8/11 on Debian and RedHat based distributions.
Stars: ✭ 144 (-24.21%)
Mutual labels:  ansible, ubuntu
Tensor
Tensor - Comprehensive web-based automation framework and Centralized infrastructure management platform
Stars: ✭ 136 (-28.42%)
Mutual labels:  ansible, terraform
Lnmp
LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。
Stars: ✭ 2,119 (+1015.26%)
Mutual labels:  lnmp, nginx
Lhttps
Create https for local development environment or localhost.
Stars: ✭ 172 (-9.47%)
Mutual labels:  ubuntu, nginx
Stubbornjava
Unconventional Java code for building web servers / services without a framework. Think dropwizard but as a seed project instead of a framework. If this project had a theme it would be break the rules but be mindful of your decisions.
Stars: ✭ 184 (-3.16%)
Mutual labels:  ansible, terraform
Ansible Nginx Hardening
This Ansible role provides secure nginx configurations.
Stars: ✭ 180 (-5.26%)
Mutual labels:  ansible, nginx
Multi Env Deploy
Complete example of deploying complex web apps to AWS using Terraform, Ansible, and Packer
Stars: ✭ 132 (-30.53%)
Mutual labels:  ansible, terraform
Nginx Ee
Automated Nginx compilation from sources with additional modules support. Compatible with WordOps, EasyEngine & Plesk
Stars: ✭ 132 (-30.53%)
Mutual labels:  ubuntu, nginx

轻松部署 Laravel 应用

如何阅读

简介

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

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

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

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

目的

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

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

知识点

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

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

以及可选项:

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

预期大纲:

  • [x] 常见一键 Web 面板
  • [x] 常见一键配置脚本
  • [x] 手动安装 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 指出,感谢您的关注。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].