fastcgi

Nginx + phpFPM: PATH_INFO always empty

一笑奈何 提交于 2020-12-30 06:21:29
问题 I configured nginx stable (1.4.4) + PHP (using FastCGI, php-fpm) on Debian. That works fine: location ~* ^/~(.+?)(/.*\.php)$ { fastcgi_split_path_info ^(.+?\.php)(/.*)$; alias /home/$1/public_html$2; fastcgi_pass unix:/var/run/php5-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_index index.php; autoindex on; } I use the PATH_INFO variable, therefore I added the following line to fastcgi_params: fastcgi_param PATH_INFO $fastcgi_path_info; And in /etc

nginx+php-fpm运行原理

喜你入骨 提交于 2020-12-30 04:30:53
一、代理与反向代理 现实生活中的例子 1、正向代理:访问google.com 如上图,因为google被墙,我们需要vpn翻墙才能访问google.com。 vpn对于“我们”来说,是可以感知到的(我们连接vpn) vpn对于"google服务器"来说,是不可感知的(google只知道有http请求过来)。 对于人来说可以感知到,但服务器感知不到的服务器,我们叫他正向代理服务器。 2、反向代理:通过反向代理实现负载均衡 如上图,我们访问baidu.com的时候,baidu有一个代理服务器,通过这个代理服务器,可以做负载均衡,路由到不同的server。 此代理服务器,对于“我们”来说是不可感知的(我们只能感知到访问的是百度的服务器,不知道中间还有代理服务器来做负载均衡)。 此代理服务器,对于"server1 server2 server3"是可感知的(代理服务器负载均衡路由到不同的server) 对于人来说不可感知,但对于服务器来说是可以感知的,我们叫他反向代理服务器 总结 说白了:“正向”、“反向”是相对于人的感知来说的。 人能感受到的代理就是正向代理,人感受不到的代理就是反向代理。 二、初识Nginx与Php-fpm Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Php-fpm是什么

Linux-rhel6.4 编译安装PHP,Nginx与php连接

馋奶兔 提交于 2020-12-26 09:50:23
确定依赖包安装 gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel 若没安装,挂载系统镜像,从Packages文件夹里面找到安装包安装,或者有yum源的话可直接yum install安装。 可利用镜像自己制作本地yum源: http://kurol.blog.51cto.com/11433546/1927721 从官网获取,编译安装 [root@kurolz ~]# wget http://de2.php.net/get/php-5.5.38.tar.gz/from/this/mirror [root@kurolz ~]# tar -zxvf php-5.5.38.tar.gz [root@kurolz php-5.5.38]# ./configure --prefix=/usr/local/php-5.5.0

Nginx在windows环境下的安装与简单配置

时光怂恿深爱的人放手 提交于 2020-12-26 06:27:04
版权声明:本文为博主原创文章,未经博主允许不得转载。 一. 下载并安装Nginx 去 Nginx官网下载 我这里选取 nginx/Windows-1.10.3 版本,下载后解压出来即可,解压出来的路径不能含有中文 我解压后将其放置的路径如下 二、开始运行 在当前目录下按住shift+鼠标右键,选择“在此处打开命令窗口”,然后输入start nginx 此时,就可以进入浏览器输入访问地址,http://127.0.0.1/或者http://localhost/即可访问 三、配置文件讲解 核心配置文件就是nginx.conf,该文件位于conf目录下,大部分情况下我们就是修改该文件的配置 该文件的原始配置如下: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote

1、Nginx安装

不羁岁月 提交于 2020-12-26 05:41:59
1、上传Nginx包到linux系统,版本nginx-1.16.1 2、安装Nginx依赖 1) yum install gcc-c++ 2) yum install -y pcre pcre-devel 3) yum install -y zlib zlib-devel 4) yum install -y openssl openssl-devel 3、解压 4、创建nginx临时目录,如果不创建,启动nginx时会报错 mkdir /var/temp/nginx -p 5、在nginx目录,输入如下命令进行配置,目的是为了创建Makefile文件 ./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/locl/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy -

nginx详解

风流意气都作罢 提交于 2020-12-25 12:02:30
一,服务介绍 是一个开源,支持高性能,高并发的www服务和代理服务软件,占用资源少,且功能丰富而逐渐流行起来, web软件(apache.lls) 反向代理负载均衡功能 (与lvs和haproxy专业代理软件) 缓存服务功能(squid,varnish) 二,服务功能以及特性 nginx重要特性 可针对静态资源做高并发访问及缓存 可使用方向代理,并且可进行数据缓存 具有简单负载均衡,节点健康检查和容错功能 支持远程fastCGI服务的缓存加速 支持fastCGI,Uwsgi,SCGI and memcached servers的加速和缓存 支持ssl tls sni 具有模块化的架构,过滤器包含gzip ranges 支持 chunked响应,xslt ssl及图像缩放等功能,在ssl过滤器中,一个包含多个ssl的页面,如果经过fastCGI或反向代理处理,可被并行处理 他所具备的其他www服务特性如下: 支持基于名字,端口以及IP的多虚拟主机站点 支持keepalived 和pipelined 可进行简单,方便,领过的配置和管理 支持修改nginx配置,并且在代码上显示,可平滑重启,不中断业务访问 可自定义访问日志格式,临时缓冲写日志操作,快速日志沦陷及通过rsyslog处理日志 可利用信号控制nginx进程 支持3xx-5xx状态吗重定向 支持rewrite模块

Nginx ServerName 配置说明

别说谁变了你拦得住时间么 提交于 2020-12-24 23:47:33
Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了。 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1、准确的server_name匹配,例如: server { listen 80 ; server_name ssdr. info www.ssdr. info ; ... } 2、以*通配符开始的字符串: server { listen 80 ; server_name *.ssdr. info ; ... } 3、以*通配符结束的字符串: server { listen 80 ; server_name www. * ; ... } 4、匹配正则表达式: server { listen 80 ; server_name ~^(?.+ )\.howtocn\.org$; ... } Nginx将按照1,2,3,4的顺序对server name进行匹配,只有有一项匹配以后就会停止搜索,所以我们在使用这个指令的时候一定要分清楚它的匹配顺序(类似于location指令)。 server

php中函数禁用绕过的原理与利用

早过忘川 提交于 2020-12-24 18:38:19
bypass disable function 是否遇到过费劲九牛二虎之力拿了webshell却发现连个scandir都执行不了?拿了webshell确实是一件很欢乐的事情,但有时候却仅仅只是一个小阶段的结束;本文将会以webshell作为起点从头到尾来归纳bypass disable function的各种姿势。 本文涉及相关实验: 绕过函数过滤 (通过本实验学会通过宽字节方式绕过mysql_real_escape_string()、addslashes()这两个函数。) 从phpinfo中获取可用信息 信息收集是不可缺少的一环;通常的,我们在通过前期各种工作成功执行代码 or 发现了一个phpinfo页面之后,会从该页面中搜集一些可用信息以便后续漏洞的寻找。 我谈谈我个人的几个偏向点: 版本号 最直观的就是php版本号(虽然版本号有时候会在响应头中出现),如我的机器上版本号为: PHP Version 7.2.9-1 那么找到版本号后就会综合看看是否有什么"版本专享"漏洞可以利用。 DOCUMENT_ROOT 接下来就是搜索一下 DOCUMENT_ROOT 取得网站当前路径,虽然常见的都是在/var/www/html,但难免有例外。 disable_functions 这是本文的重点,disable_functions顾名思义函数禁用,以笔者的kali环境为例

Nginx反向代理的几种配置模板

泄露秘密 提交于 2020-12-17 14:14:23
因为内网服务越来越多,各种IP加端口地址根本记不住,于是用Nginx做反响代理,也可以很好管理内网的地址分发。 下面提供几种Nginx配置模板。因为也是自己摸索着配置的,有错误的地方请指正,谢谢先。 # 重载配置 nginx -s reload # php配置 server { listen 88 ; server_name _; location ^~ / myphp{ alias /www/ myphp; index index.php index.html index.htm; if (!- e $request_filename) { rewrite ^/myphp/(.*)$ /index.php/$ 1 last; } location ~ \.php(/| $) { fastcgi_split_path_info ^(.+\.php)(/.* )$; fastcgi_index index.php; include fastcgi.conf; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass 127.0 . 0.1 : 9000 ; } } } # 反向代理1 # 需要传http header参数的 location ~ ^/api/(.* )$ { proxy_pass http: //

openresty 配置文件 (一)

拥有回忆 提交于 2020-12-14 22:15:30
导读 openresty(nginx plus) 在日常工作中用的应该比较多,要想真正了解清楚其原理并不容易。我尝试着从配置的角度去分析 nginx 的基本原理。这篇主要介绍 nginx.conf 这个配置文件,后续再介绍其他的配置文件。 nginx.conf 中主要配置全局配置,配置好之后一般很少改动。 nginx.conf 配置项说明 #定义Nginx运行的用户和用户组 #user nobody; #nginx进程数,建议设置为等于CPU总核心数。 worker_processes 1; #全局错误日志定义类型,[ debug | info | notice | warn | error | crit ] #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #进程文件 #pid logs/nginx.pid; #指定进程可以打开的最大描述符 #工作模式与连接数上限 ##这个指令是指当一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(ulimit -n)与nginx进程数相除,但是nginx分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。 #这是因为nginx调度时分配请求到进程并不是那么的均衡