Inspirer

文章列表

Windows 与 linux 之间的文件共享

鄙人不喜欢 linux 系统作为开发环境,毕竟 linux 是一个相对反人类的系统。不过 linux 对于生产环境的友好注定了其拥有丰富的库作为各种组件的依赖支持。在开发测试时,需要使用一些仅能跑在 linux 上的库的确让一个长期在 windows 下工作的人感到十分难过,在没有使用 OSX 环境的情况下,我需要一种简单的解决方案。

实际上,建立虚拟机,共享主机与虚拟机之间的文件不失为一种粗糙的解决方案。在 windows 创建、编辑、修改,同时在虚拟机上测试、运行代码。

那么如何建立两者的连接?

PHP 7 开发版本编译安装

不是稳定版,大家看看就好。不过很多新特性已经可以使用。别问我有具体哪些新特性,我也不知道。想要跟进 PHP 开发进度建议到 github 上去,可以看到每个 commit 的情况。:laughing: PHP -github https://github.com/php/php-src

大多数编译过程和之前版本无太大差异,本人也是从网络上找的资料。可能 php 7 有新的编译参数或者其他被废弃的参数,这个需要参考具体文档。不过我在编译期间没有遇到大问题,也没有想要真正测试。因此,本文仅仅是编译安装而不是用于测试。废话不多说了,开始。

访问控制工具 —— iptables

我是一个十分怕麻烦的人。很不幸,学习 linux 真的有时候很麻烦,因为这个系统真的非常不友好,包括这个系统下面的一系列软件和工具,简直不人道。不要试图以高高在上的姿态告诉我命令行是一种人性化的操作模式,这就是放屁。好了,抱怨到此为止。至于为什么要抱怨,原因恰好是今天的主角 —— iptables

我不喜欢 linux 系统的很多工具主要是复杂的命令记忆。iptables 正是如此。不过,也正是这样复杂的工具,提供了无比精细的控制能力。本文作为我个人学习这个工具的笔记,希望能够给同样在学这个的朋友提供一些小小的帮助。

iptables,一个运行在用户空间的应用软件,通过控制Linux内核netfilter模块,来管理网络数据包的流动与转送。

通常iptables都需要内核层级的模块来配合运作,Xtables是主要在内核层级里面iptables API运作功能的模块。因相关动作上的需要,iptables的操作需要用到超级用户的权限。

—— 摘自维基百科

开启 Nginx 的 Gzip 压缩功能

昨天把博客的服务端由 Apache 换成了 Nginx,发现 Nginx 在某些方面的确更易于使用。至少更为小巧玲珑。同 Apache 类似,两者都内置了 Gzip 模块,通过配置文件直接开启即可,十分方便。本篇文章只是做一个笔记,记录一些东西以便帮助大家。很多内容源自网络,我尽量选取比较详细且有价值的。

开启 Gzip 模块

编辑 Nginx 的配置文件,一般都会看到有这样一个注释了的东西:

# gzip on;

只需要将前面的 # 去掉即可开启 Gzip 模块。当然整个过程显得太简单也不会满足各类人群的要求。我们继续。

CentOS 下编译安装 Nginx 1.8.0 和 PHP 5.6.8

说来惭愧,这么久还没有体验一下 Nginx 。今天说什么也要尝试一下对吧?我就先从我个人常用的 web 服务器来渐渐熟悉 Nginx。

准备

本文系统环境为 CentOS 6.6,在其他发行版本的 linux 下编译安装方法基本相同,仅需注意安装过程中所需的依赖库是否被安装,若没有安装可自行查阅相关依赖的安装方式。

安装 php 5.6.8 的方法及过程请参考该文章 《Linux 下 编译安装 Apache 2.4 和 php 5.6》,务必注意根据个人需要替换文中的可选项。

我们先下载必要的组件: PCRE-8.39 (ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz) Nginx (http://nginx.org/download/nginx-1.8.0.tar.gz

Linux 下 编译安装 Apache 2.4 和 php 5.6

本文章所基于的 linux 系统发行版为 CentOS 6.6。本文默认读者已安装好 mysql,若没有则在安装 mysql 扩展时会出现问题。

准备

先下载好以下源码包

请确认系统中已安装了 GCC(GCC,GCC-C++)、make、autoconf 和 automake。恩,除了这些还有一堆依赖库。为了避免麻烦,您可以直接这样:

yum install -y gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libpng libpng-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses curl openssl-devel gdbm-devel db4-devel libXpm-devel libX11-devel gd-devel gmp-devel readline-devel libxslt-devel expat-devel xmlrpc-c xmlrpc-c-devel

其他没有 yum 的系统可以通过其他类似方式(如 ubuntu 的 apt-get)进行安装。