自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

码农鲜橙

种橙子的码农

  • 博客(13)
  • 收藏
  • 关注

原创 Laravel 结合 Nginx 实现 Web 页面的纯静态极限访问性能

最新在用 Laravel 做一个博客信息聚合的小项目,考虑到内容的更新频率和目前项目的价值,思考了下怎么尽最大可能节省服务器计算资源,最好是能够第一次访问时生成内容后,在内容没有变化时,直接以纯静态的方式直接输出,完全不要有 PHP-FPM 的参与。在经过一番尝试后,结合 Nginx 终于实现了这个想法。整个逻辑不复杂,但在 Nginx 配合的这一层花了些时间,主要还是对 Nginx 的配置了解的不够深入。核心流程就两步:实现一个新的 Laravel 视图加载处理方法。即在默认的 view 方法基础上

2020-10-24 09:38:57 374

原创 Intervention/image 生成文字图片代码示例

Intervention/image 是 PHP 语言下一个优秀的图片处理组件,提供了便捷的图片处理方法,比使用原生的 GD 函数来操作图片要高效。下面的代码演示了如何通过这个组件来基于文字内容生成图片,并使文字保持在图片中间。<?php// 设置文字信息$font = new Font('A');$font->file('fonts/sun.ttf');$font->size(200);$font->color('FFFFFF');$font->align('l

2020-10-06 09:07:42 1028 2

原创 让 Tmux 和 Vim 无惧系统重启

Tmux 和 Vim 是我的日常工作环境。一直以来,对 Tmux 的要求都是满足终端分屏即可,也没有做过多的深入研究。最近才偶然了解到 Tmux 也是有自己的插件系统的。其中最吸引我注意的就是 tmux-resurrect,能保存并还原当前 Tmux 环境的插件。以前每次开机后我都要重新操作 Tmux 进入项目开发状态,比如进入项目目录,按习惯分好屏,让各个分屏进入各自的准备状态。这个插件让我意识到这一系列操作是多么的无趣且多余。以下是安装流程。开始之前需要先安装好基础的 Tmux 环境。安装 tpmt

2020-09-29 21:15:36 555

原创 我的家用户外监控摄像头的选购和安装记录

家里新房子的前期准备工作已经接近尾声,再过几天,专业的建筑施工队伍就要入场开工了。接下来这几天,需要把水泥,砖头,钢筋等物料提前准备好。新房子的位置在公路边,比现在的老房子在交通上要方便了许多,但同时也带来了新问题:如何防范大路边小偷小摸的行为?要搁在以前,就是人工值守,寸步不离。但这不仅浪费人力,也耽误事情。索性决定还是直接买一个监控摄像头。开淘宝瞄了一眼,各种监控摄像头品类繁多,造型各异,感觉有些眼花缭乱了。赶紧退出,先确定一下自己的需求和预算。要有防水能力。新房子的工地,安装条件有限。要有夜视

2020-09-15 21:34:15 2489 1

原创 SQLite 到 MySQL 的数据库导入流程

手头有一个小项目,线上是 SQLite 数据库,本地开发环境为了管理方便用的是 MySQL 数据库。有时为了验证线上的一些数据问题,想要把线上的数据同步到本地来,然后导入到 MySQL 中。本来以为很简单的事情,实际还是花了些时间。完整的过程主要分三步:1. 下载线上的 SQLite 数据库到本地,并导出为 SQL 文件这一步很简单,用 scp 命令可以解决文件的下载。导出成 SQL 文件也只需要使用下面的命令:sqlite3 database.sqlite .dump > sqlite_du

2020-09-07 13:17:11 695

原创 如何部署一个 PHP 项目

PHP 项目的部署方式相对其他 Web 编程语言来说,是比较简单的。如果未使用一些守护类进程,只需要把最新的代码更新到线上即可。这里总结了几种常见的 PHP 项目部署方式。ftpFTP 是最简单,也是最原始的项目部署方式。十多年前的虚拟主机还远没有现在云主机这么丰富和强大的自定义功能。运行环境是服务商提前安排好的,提供一个几百 M 或几 G 的目录空间。要把项目代码放到线上的这个空间,只有 FTP 这个选择。所以这也是那时 PHP 项目流行的部署方式。GitGit 通常是用来作为源码管理工具,但其提

2020-09-06 11:06:48 1830 1

原创 火狐(firefox)浏览器插件开发简明教程

手头有一个抓取页面数据的小项目,之前一直使用 Bookmarklet 书签脚本的方式来实现的。最近发现不能用了,因为涉及到要在抓取页面插入远程 JS 脚本,触发了最新浏览器的内容保护策略(Content Security Policy)。无奈之下,只能寻找其他的替代方法,尝试了一下,发现只能用浏览器扩展的方式来实现了。一个极简的插件一个最简单的火狐插件只需要两个文件: 插件说明文件和脚本文件。说明文件是插件的入口,内容为 JSON 格式,对插件进行了一些说明和配置。命名必须为 manifest.jso

2020-09-03 11:49:37 5212

原创 CentOS 编译和配置支持 HTTPS 正向代理的 Nginx

因为身处外贸行业,最近发现在国内连接 eBay 的接口越来越不稳定了。调用一个上传图片的接口,之前两三秒就能请求完成,现在两分钟都会大概率超时,拉取订单也是类似的情况,已经严重影响到正常业务的处理。遂考虑通过在香港部署一个代理服务来实现 eBay 接口请求的中转代理,以实现提速的目的。Nginx 本身就提供了代理服务的功能,所以就使用 Nginx 了。Nginx 代理分为“反向代理”和“正向代理”。这个“正反”的概念简单理解如下: 反向代理就是代理服务器会把客户端请求转发到服务内部,具体处理的主机对客户端

2020-09-02 07:30:47 231

原创 CentOS Linux release 7.8 编译安装 Nginx

CentOS Linux 系统使用 yum 安装的 Nginx 缺少一些需要的模块,只能用编译的方式来解决,记录一下安装过程。首先需要用 yum 安装系统依赖:sudo yum install -y gcc make \ pcre-devel perl-ExtUtils-Embed openssl-devel然后下载 nginx 源码:wget -c http://nginx.org/download/nginx-1.18.0.tar.gz解压并进入源码目录并按自己的需求执行编译操作:

2020-08-14 12:39:40 177

原创 PHP 码农的 go 语言密码本项目开发实战 - 实现前端界面

我是一名 PHP 程序员。最近对 go 语言有了兴趣。所以我准备从身边的一个项目入手,实践并学习一下 go 语言。目前已完成了项目功能梳理和 go 语言开发环境的搭建,有兴趣的朋友可以翻看下前面的文章。今天将要开始实现前端界面。这个小项目主要涉及三个页面:登录,密码项列表和编辑界面。下面将用线框图的方式分别介绍下这三个页面的功能。首先是登录页面。理论上说,这个页面是不需要账号项的,毕竟只是我自己一个人使用,直接输入主密码就可以了。但考虑到会线上部署,还是把账号也加上,增加一下不怀好意者的暴力破解难度。

2020-08-07 16:03:15 356

原创 PHP 码农的 go 语言密码本项目开发实战 - 搭建开发环境

我是一名 PHP 程序员。最近对 go 语言有了兴趣。所以我准备从身边的一个项目入手,实践并学习一下 go 语言。在上一篇文章中对这个要重构的小项目做了比较详细的介绍。今天计划在自己的电脑上搭建一个可以运行 go 语言的开发环境。几年前开始,我已经尝试用 Docker 来搭建我的开发环境。所以目前我开发环境所依赖的所有功能都是运行在 Docker 之上。比如 PHP,MySQL, Redis,Nginx 等。这次我将同样用 Docker 来搭建我的 go 语言环境。另外我的开发系统为 Ubuntu。咱们

2020-08-05 16:23:47 308

原创 PHP 码农的 go 语言密码本项目开发实战 - 项目介绍

我是一名 PHP 程序员。最近对 go 语言有了兴趣,一直想找一个机会学习并实践这门有趣的语言。手头刚好有一个之前用 PHP 写的账号密码管理小工具,我决定用 go 重构这个小工具来入门 go 语言的 web 场景开发。同时我也希望自己这个实践和学习的过程能给其他向我一样,也就是对 go 语言有兴趣的人带来一些帮助。虽然项目不大,但我还是希望有计划的来完成它。所以这将会是一个系列文章,目前我规划的步骤如下:项目规划开发环境搭建实现前端界面实现数据表创建方法实现随机密码生成方法实现项目安装命令

2020-08-04 13:07:23 867

原创 用 Docker 极速搭建 Linux 环境 Samba 文件共享服务器

Samba 是 Linux 环境下一个开源的文件共享服务软件,支持跨系统的文件网络共享。安装比较简单,在各个 Linux 发行版中都通过各自的包管理命令就能很快安装好,但后续的用户和权限的配置管理还是比较麻烦。开始之前,先说说我搭建这个 Samba 服务的目的。我个人有两台工作用的电脑: Mac 和 Ubuntu,日常使用中时常有些文件转移的需要,平常都是用 U 盘来解决,但还是感觉插拔不太方便。特别是在 USB 口占满时。我选择在 Ubuntu 上搭建一个 Samba 服务,通过一个共享的目录来实现两台

2020-07-25 08:13:28 818

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除