Siege 网站性能压力测试工具的使用

Siege is an open source regression test and benchmark utility. It can stress test a single URL with a user defined number of simulated users, or it can read many URLs into memory and stress them simultaneously. The program reports the total number of hits recorded, bytes transferred, response time, concurrency, and return status. Siege supports HTTP/1.0 and 1.1 protocols, the GET and POST directives, cookies, transaction logging, and basic authentication. Its features are configurable on a per user basis.

Linux 上编译安装步骤(参考):

 

Nginx internal 指令限制访问图片资源文件

Nginx 的 internal 指令可以用来限制 Web 公共目录下的图片等资源文件被任意用户直接访问。一个明显的使用场景是,对于用户上传的认证图片,属于个人隐私资源,不应该让所有用户都能访问得到,通常只能由管理员审核时查看。

假定需要限制访问的图片的 URL 路径是 /images/auth-pictures/,Nginx 进行如下配置:


重启 Nginx,直接访问 /images/auth-pictures/ 下的图片,会返回 404:

利用 PHP 在响应头加上 “X-Accel-Redirect” 域使请求重定向到真实的图片路径上面:

此时就可以通过 PHP 程序来重定向请求访问图片了:

WordPress 使用本地化的 emoji 表情包

结合使用 Native Emoji 和 WP Local Emoji 两个插件,可以达到使用本地化的 emoji 表情包的目的。

安装好上述两个插件并且启用:

为了使 Native Emoji 表情使用本地化的 emoji 表情包图片,而不是 s.w.org 域名下的表情包图片,需要修改以下两处源代码。

修改 wp-content/plugins/native-emoji/js/tinymce-plugin.js,替换以下代码:

为:

修改 wp-content/plugins/wp-local-emoji/wp-local-emoji.php,新增代码:

保存好之后,不论是在编辑器中使用 emoji 表情包,抑或插入 emoji 表情到文章里,都将使用本地化的 emoji 表情图片了 😎!

Laravel .env 多环境配置文件的使用

项目开发中,通常会有本地开发环境、内网测试环境、线上真实环境。这三种环境的配置通常都不尽相同,Laravel 可以通过环境变量  APP_ENV 的值来加载不同的 .env 配置文件。下面会介绍两种方法,分别是通过 Nginx 和 PHP-FPM 来设置 APP_ENV 环境变量的值。

方法一:修改 Nginx 配置文件设置 APP_ENV:

方法二:修改 PHP-FPM 配置文件设置 APP_ENV:

上述两种方法只需二选一。重启 Nginx 和 PHP-FPM 服务,Laravel 框架就会自动选择加载项目根目录下的 .env.xxxx 配置文件,而不会去加载 .env 配置文件了。

通过 APP_ENV 环境变量值加载特定 .env 配置文件的 Laravel 源代码位于文件Illuminate/Foundation/Bootstrap/DetectEnvironment.php 中,摘录关键代码如下:

请注意:

当设置了 APP_ENV 环境变量时,当运行 Laravel 的 Aritsan 终端命令之前,比如迁移命令(./artisan migrate)、启动队列侦听器(./artisan queue:listen)等等,均需要在终端也导入 APP_ENV 环境变量。

或者

当然,也可以选择在 ~/.bash_profile 或者 ~/.bashrc 中一劳永逸地设定好终端环境变量 APP_ENV 的值。

VirtualBox 启动时提示“获取 VirtualBox COM 对象失败”的解决

昨天给电脑打了一堆补丁和更新,今天启动 VirtualBox 的时候提示 “获取 VirtualBox COM 对象失败”,好在百度到了 CSDN 上的一篇文章解决了这个问题!

提示 “获取 VirtualBox COM 对象失败” 的错误详情:

错误截图如下:

试了下命令行来操作 VirtualBox,仍旧有相同的错误提示:

下面是解决方法:

修改注册表的如下两项:

将它们的默认值都改成:

如图所示:

此时再打开 VirtualBox,发现可以正常启动了 🎉。

PS:如果打开 VirtualBox 后,发现无法启动里面的虚拟机,可以尝试重启下电脑。