很多时候,我们会使用 PHP的$_SERVER数组,通过这个数组,可以获取一些服务器的变量信息。但是不同的模式下,这个全局数组是不一样的。比如,在web模式下,$_SERVER是获取的fastcgi_params,在cli模式下,获取的是环境变量(也就是常见的Linux 的export设置的)举个例子,我们要设置$_SERVER['AAAAA']='test_data'刚开始,不管web模式下,还是cli模式下,都是没有这个值的。web模式cli模式

更改nginx 的环境变量

找到fastcgi_params文件,一般是和nginx.conf在同一个目录
$ sudo nginx -s reload
然后刷新页面

更改cli模式先的环境变量

$ vim ~/.bashrc
$ source ~/.bashrc
$ php -r 'var_dump($_SERVER["AAAAA"]);';
查看全文

nginx从1.9.0开始,支持动态拓展,并且新增加了一个stream模块,用来实现四层协议的转发、代理或者负载均衡等。

用法

stream模块用法和http模块差不多,关键的是语法几乎一致。熟悉http模块配置语法的上手更快,以下是一个配置了tcp负载均衡的例子, 有 server,upstream块,而且还...查看全文