基于 Laravel + Swoole + Vue 组件实现支持高并发的实时弹幕功能(下)

我们接着上篇教程来完成弹幕服务端以及客户端与服务端交互的开发,首先来实现服务端 WebSocket 服务器的编码。 WebSocket 服务器 我们参照之前的功能介绍教程《在 Laravel 中集成 Swoole 实现 WebSocket 服务器》实现这个用于弹幕功能的 WebSocket 服务器。 注:如果你还没有在 Laravel 项目中安装配置 LaravelS 扩展包,参考这篇...

基于 Swoole 构建高性能 Laravel 应用系列 —— 通过 Process 模块在 PHP 中实现多进程(一):简单的多进程 TCP 服务器实现

Process vs PCNTL 我们知道,通过 PHP 自带的扩展 PCNTL 可以实现基于 Unix 的多进程管理(不能用于 Web 服务器环境),比如 Laravel 自带的队列系列解决方案 Horizon 就会用到这个扩展,但是 PCNTL 有很多坑,比如: 没有提供进程间通信的功能; 不支持重定向标准输入和输出; 只提供了 fork 这样原始的接口,容易导致使用错误。 因此...

基于 Swoole 构建高性能 Laravel 应用系列 —— 在 Laravel 中集成 Swoole 实现 WebSocket 服务器

在上篇教程中,我们基于 Swoole 实现了简单的 WebSocket 服务器,然后在客户端通过 JavaScript 实现了 WebSocket 客户端,并演示了 WebSocket 的握手和通信过程,今天,学院君将基于 LaravelS 扩展包把 Swoole 集成到 Laravel 项目来实现 WebSocket 服务器,以便于客户端进行 WebSocket 通信从而实现广播功能。...

基于 Swoole 构建高性能 Laravel 应用系列 —— 基于 Swoole 实现简单的 WebSocket 服务器及客户端

WebSocket 概述 这篇教程取自社群分享程序员内功修炼系列网络协议篇,其中对 WebSocket 协议的由来、实现原理和通信演示有详细介绍,这里我们仅取中的简单实现篇来介绍,因为在那里也是基于 Swoole 实现 WebSocket 服务器的。 在此之前,有必要对 WebSocket 的原理做简单的说明,WebSocket 复用了 HTTP 协议来实现握手,然后通过请求报文中的 U...

[ Laravel 5.8 文档 ] 官方扩展包 —— 远程操作解决方案:Laravel Envoy

简介 Laravel Envoy 为定义运行在远程主机上的通用任务提供了一套干净的、最简化的语法。使用 Blade 风格语法,你可以轻松为开发设置任务,Artisan命令,以及更多。目前,Envoy 只支持 Mac 和 Linux 操作系统。 安装 首先,使用 Composer 的 global require 命令全局安装 Envoy: composer global require ...

[ Laravel 5.8 文档 ] 进阶系列 —— 任务调度

简介 Cron 是 UNIX、SOLARIS、LINUX 下的一个十分有用的工具,通过 Cron 脚本能使计划任务定期地在系统后台自动运行。这种计划任务在 UNIX、SOLARIS、LINUX下术语为 Cron Jobs。Crontab 则是用来记录在特定时间运行的 Cron 的一个脚本文件,Crontab 文件的每一行均遵守特定的格式: 我们可以在服务器上通过 crontab -e ...

基于 Laravel 5.7 开发博客应用系列(十) —— 将博客应用自动部署到线上服务器完整流程详解

为了演示应用从开发到上线的完整生命周期,今天学院君来教你如何将刚刚开发好的博客应用上线。这里我使用的是阿里云服务器作为测试环境,操作系统默认是 Ubuntu 16.04。如果你使用的是其它云服务器(比如腾讯云等)或者自有服务器,操作步骤完全一样,都可以以此教程作为参考。 注:在开始之前,我们假设你已经购买了相应的服务器并且拥有 root 权限进行远程登录和操作。如果只是本着学习目的,新...

在阿里云 CentOS 系统中通过 yum 搭建环境并部署 Laravel 应用

上线前准备 购买服务器 目前选择的是阿里云服务器,选择的是入门型1核1G实例 目前没什么活动,三年1400软妹币 配置SSH连接 增加本机ssh连接配置,一般激活实例后,ssh的22端口是默认开放的,可以直接通过root用户进行登录配置部署环境 登录到服务器后,将自己的公钥加入到 ~/.ssh/authorized_keys 配置文件中就可直接通过秘钥进行登录 服务器配置 服务...

[ Laravel 5.7 文档 ] 进阶系列 —— 任务调度

简介 Cron 是 UNIX、SOLARIS、LINUX 下的一个十分有用的工具,通过 Cron 脚本能使计划任务定期地在系统后台自动运行。这种计划任务在 UNIX、SOLARIS、LINUX下术语为 Cron Jobs。Crontab 则是用来记录在特定时间运行的 Cron 的一个脚本文件,Crontab 文件的每一行均遵守特定的格式: 我们可以在服务器上通过 crontab -e ...

[ Laravel 5.7 文档 ] 快速入门 —— 部署应用到生产环境

简介 当你准备部署 Laravel 应用到生产环境时,有一些重要的事情可以确保应用尽可能高效地运行,在本文档中我们就来探讨下这些要做的事情从而确保应用以最佳方式部署。 服务器配置 Nginx 如果部署应用的服务器运行的是 Nginx,可以使用下面的配置文件配置 Web 服务器。大部分情况下,这个文件需要根据服务器的配置做一些调整(如果你想要一个工具来协助管理服务器,可以考虑使用 Lara...