fastcgi

REST easy with kbmMW #21 – Delphi client stubs

廉价感情. 提交于 2020-04-26 17:22:38
在之前的博文中,我提到了存根生成器框架,将具有生成Delphi客户端存根代码的能力,使得开发Delphi智能客户端变的更容易,完全支持编译时的类型检查和IDE类/属性帮助。 本不想把这个新功能包含在即将发布的kbmMW版本中,但我无法自控.... 必须添加它才能生成相当完整的客户端存根代码。 存根生成器将生成普通的Delphi代码,需要kbmMW智能客户端功能进行编译。 但代码已完成,并包含所需的所有单元引用。 如果您使用的是包含对象的自定义单元,则必须将这些单元与生成的存根代码一起提供给Delphi客户端开发人员。 除OpenAPI支持外,SimpleInvocation服务器还支持通过REST接口直接返回Delphi存根代码。 让我们称之为: http://localhost:888/myserver/delphi 这将返回给你一个类似于这样的对话框: 保存它,将得一个单元文件: unit uSMARTDEMO; interface uses kbmMWGlobal, kbmMWSmartUtils, kbmMWSmartClient, kbmMWClient, kbmMWClientDataset ,uObjects ,System.Generics.Collections ,kbmMWDateTime ,kbmMemTable ; type // Name.......:

PHP-FPM 与 Nginx 的通信机制总结

半腔热情 提交于 2020-04-25 22:29:51
PHP-FPM 介绍 CGI 协议与 FastCGI 协议 每种动态语言( PHP,Python 等)的代码文件需要通过对应的解析器才能被服务器识别,而 CGI 协议就是用来使解释器与服务器可以互相通信。PHP 文件在服务器上的解析需要用到 PHP 解释器,再加上对应的 CGI 协议,从而使服务器可以解析到 PHP 文件。 由于 CGI 的机制是每处理一个请求需要 fork 一个 CGI 进程,请求结束再kill掉这个进程,在实际应用上比较浪费资源,于是就出现了CGI 的改良版本 FastCGI,FastCGI 在请求处理完后,不会 kill 掉进程,而是继续处理多个请求,这样就大大提高了效率。 PHP-FPM 是什么 PHP-FPM 即 PHP-FastCGI Process Manager, 它是 FastCGI 的实现,并提供了进程管理的功能。进程包含 master 进程和 worker 进程两种;master 进程只有一个,负责监听端口,接收来自服务器的请求,而 worker 进程则一般有多个(具体数量根据实际需要进行配置),每个进程内部都会嵌入一个 PHP 解释器,是代码真正执行的地方。 Nginx 与 php-fpm 通信机制 当我们访问一个网站(如 www.test.com)的时候,处理流程是这样的: www .test .com | | Nginx | | 路由到

PHP与nginx之间的运行机制及其原理

廉价感情. 提交于 2020-04-25 22:29:36
一、普及Nginx与Php-fpm相关知识点 Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Php-fpm是什么 1、cgi、fast-cgi协议 cgi的历史 早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢?那就交给php解释器来处理吧! 交给php解释器处理很好,但是,php解释器如何与webserver进行通信呢? 为了解决不同的语言解释器(如php、python解释器)与webserver的通信,于是出现了cgi协议。只要你按照cgi协议去编写程序,就能实现语言解释器与webwerver的通信。如php-cgi程序。 fast-cgi的改进 有了cgi协议,解决了php解释器与webserver通信的问题,webserver终于可以处理动态语言了。 但是,webserver每收到一个请求,都会去fork一个cgi进程,请求结束再kill掉这个进程。这样有10000个请求,就需要fork、kill php-cgi进程10000次。 有没有发现很浪费资源? 于是,出现了cgi的改良版本,fast-cgi。fast-cgi每次处理完请求后,不会kill掉这个进程,而是保留这个进程

nginx如何调用PHP(nginx+php运行原理)

感情迁移 提交于 2020-04-25 22:29:09
采用nginx+php作为webserver的架构模式,在现如今运用相当广泛。然而第一步需要实现的是如何让nginx正确的调用php。由于nginx调用php并不是如同调用一个静态文件那么直接简单,是 需要动态执行php脚本 。本文的主要内容为如何在nginx server中正确配置php调 用方法,以及配置的基本原理。知道了配置和基本原理后,我们也就知道了他们之间是怎么通信的。 一、普及Nginx与Php-fpm相关知识点 Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Php-fpm是什么 1、cgi、fast-cgi协议 cgi的历史 早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢?那就交给php解释器来处理吧! 交给php解释器处理很好,但是,php解释器如何与webserver进行通信呢? 为了解决不同的语言解释器(如php、python解释器)与webserver的通信,于是出现了cgi协议。只要你按照cgi协议去编写程序,就能实现语言解释器与webwerver的通信。如php-cgi程序。 fast-cgi的改进 有了cgi协议,解决了php解释器与webserver通信的问题

PHP与Nginx之间的运行机制以及原理

强颜欢笑 提交于 2020-04-25 22:28:32
Nginx是 俄国人 最早开发的Webserver,现在已经风靡全球,相信大家并不陌生。PHP也通过二十多年的发展来到了7系列版本,更加关注性能。这对搭档在最近这些年, 叱咤风云 ,基本上LNMP成了当下的标配。可是,你用了这么多年的Nginx+PHP的搭配,你真正知道他们之间是怎么交互怎么通信的么? 一、普及Nginx与Php-fpm相关知识点 Nginx是什么 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。 Php-fpm是什么 1、cgi、fast-cgi协议 cgi的历史 早期的webserver只处理html等静态文件,但是随着技术的发展,出现了像php等动态语言。 webserver处理不了了,怎么办呢?那就交给php解释器来处理吧! 交给php解释器处理很好,但是,php解释器如何与webserver进行通信呢? 为了解决不同的语言解释器(如php、python解释器)与webserver的通信,于是出现了cgi协议。只要你按照cgi协议去编写程序,就能实现语言解释器与webwerver的通信。如php-cgi程序。 fast-cgi的改进 有了cgi协议,解决了php解释器与webserver通信的问题,webserver终于可以处理动态语言了。 但是,webserver每收到一个请求

nginx是如何与php-fpm进行结合通信的【nginx】

不想你离开。 提交于 2020-04-25 20:03:50
一.首先你的nginx服务和php服务已经安装并启动 Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器 PHP-FPM是一个实现了Fastcgi的程序,被PHP官方收了。 备注: php-fpm的管理对象是php-cgi。但不能说php-fpm是fastcgi进程的管理器,因为前面说了fastcgi是个协议。 修改php.ini之后,php-cgi进程的确是没办法平滑重启的。php-fpm对此的处理机制是新的worker用新的配置,已经存在的worker处理完手上的活就可以歇着了,通过这种机制来平滑过度。 如果涉及php安装和nginx安装,请参考的另外两篇文章 centos系统下php7.3安装 centos系统下安装nginx 二.配置nginx.conf文件 1.找到nginx安装目录下的conf目录下nginx.conf文件 2.文件的顶部相关信息配置 worker_processes默认情况下为1,一般情况下不用修改,但考虑到实际情况,可以修改这个数值,以提高性能; 官方的建议是修改成CPU的内核数,这里引用一段翻译过的文章: worker_processes指明了nginx要开启的进程数 user www www; worker_processes 4; error_log /var/log

nginx配置详解【转载】

一笑奈何 提交于 2020-04-24 22:52:16
序言 Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。 Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。 Nginx的稳定性、功能集、示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站。 牛逼吹的差不多啦,如果你还不过瘾,你可以百度百科或者一些书上找到这样的夸耀,比比皆是。 Nginx常用功能 1、Http代理,反向代理:作为web服务器最常用的功能之一,尤其是反向代理。 这里我给来2张图,对正向代理与反响代理做个诠释,具体细节,大家可以翻阅下资料。 Nginx在做反向代理时,提供性能稳定,并且能够提供配置灵活的转发功能。Nginx可以根据不同的正则匹配,采取不同的转发策略,比如图片文件结尾的走文件服务器,动态页面走web服务器,只要你正则写的没问题,又有相对应的服务器解决方案,你就可以随心所欲的玩。并且Nginx对返回结果进行错误页跳转,异常判断等。如果被分发的服务器存在异常,他可以将请求重新转发给另外一台服务器,然后自动去除异常服务器。 2、负载均衡

华为程序员Java开发十年,精心整理了一套深入浅出Nginx文档

纵饮孤独 提交于 2020-04-24 12:06:39
Nginx是什么? Nginx是一个开源且高性能、可靠的HTTP中间件、代理服务 其他的HTTP服务: HTTPD-Apache基金会 IIS-微软 GWS-Google(不对外开放) 近几年,Nginx的市场占有率越来越高,一度飙升,为什么呢?接下来我们就知道了! 我们为什么选择Nginx? 1. IO多路复用epoll(IO复用) 如何理解呢?举个例子吧! 有A、B、C三个老师,他们都遇到一个难题,要帮助一个班级的学生解决课堂作业。 老师A采用从第一排开始一个学生一个学生轮流解答的方式去回答问题,老师A浪费了很多时间,并且有的学生作业还没有完成呢,老师就来了,反反复复效率极慢。 老师B是一个忍者,他发现老师A的方法行不通,于是他使用了影分身术,分身出好几个自己同一时间去帮好几个同学回答问题,最后还没回答完,老师B消耗光了能量累倒了。 老师C比较精明,他告诉学生,谁完成了作业举手,有举手的同学他才去指导问题,他让学生主动发声,分开了“并发”。 这个老师C就是Nginx。 轻量级 功能模块少 - Nginx仅保留了HTTP需要的模块,其他都用插件的方式,后天添加 代码模块化 - 更适合二次开发,如阿里巴巴Tengine CPU亲和 把CPU核心和Nginx工作进程绑定,把每个worker进程固定在一个CPU上执行,减少切换CPU的cache miss,从而提高性能。

Nginx报错解决

强颜欢笑 提交于 2020-04-23 05:01:54
随着并发量上升,nginx开始出现502,即nginx已经发现不了存活的后端了 但是web程序没有任何错误,后端的数据库也很正常,查看nginx错误日志 tail -f /usr/local/nginx/log/error.log [error] 31365#0: *11971189 upstream timed out (110: Connection timed out) while reading response header from upstream host: "192.168.12.127" 修改proxy_read_timeout,proxy_send_timeout和proxy_buffer几个相关设置的值 在server标签添加 large_client_header_buffers 4 16k; client_max_body_size 30m; client_body_buffer_size 128k; proxy_connect_timeout 300; proxy_read_timeout 300; proxy_send_timeout 300; proxy_buffer_size 64k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k;

nginx高性能WEB服务器系列之四配置文件详解

爷,独闯天下 提交于 2020-04-22 08:31:54
nginx系列友情链接: nginx高性能WEB服务器系列之一简介及安装 https://www.cnblogs.com/maxtgood/p/9597596.html nginx高性能WEB服务器系列之二命令管理 https://www.cnblogs.com/maxtgood/p/9597990.html nginx高性能WEB服务器系列之三版本升级 https://www.cnblogs.com/maxtgood/p/9598113.html nginx高性能WEB服务器系列之四配置文件详解 https://www.cnblogs.com/maxtgood/p/9598333.html nginx高性能WEB服务器系列之五--实战项目线上nginx多站点配置 https://www.cnblogs.com/maxtgood/p/9598610.html nginx高性能WEB服务器系列之六--nginx负载均衡配置+健康检查 https://www.cnblogs.com/maxtgood/p/9599068.html nginx高性能WEB服务器系列之七--nginx反向代理 https://www.cnblogs.com/maxtgood/p/9599335.html nginx高性能WEB服务器系列之八--nginx日志分析与切割 https://www.cnblogs