nginx + PHP (FastCGI) 高性能服务器部署

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:
+关注继续查看

LNAMP (linux + nginx mysql + php)


        CGI 全称是“公共网关接口”(common gateway interface),是WEB 服务器与其它服务器进行“交谈”的工具,它的程序运行在网络服务器上。它可以用任何一种语言编写,只要这种语言具有标准输入,输出和环境变量。如 php, perl, tcl 等。


        FastCGI:WEB 服务器与处理程序之间通信的一种协议 (app server 和 web server 之间的通信协议),是CGI 的改进方案。CGI 反复加载成为其性能低下的主要原因,若 CGI 程序保持在内存中并接受 FastCGI 进程管理高度,则可以提供良好的性能,伸缩性,Fail-Over 特性等。

      FastCGI是常驻型的 CGI,它可以一直运行,将CGI 解释器进程保持在内存中,以此获得较高的性能。

       FastCGI 是一个协议,php-fpm 实现了这个协议,php-fpm 的fastcgi 协议需要有进程池,php-fpm 实现的 fastcgi 进程叫 php-cgi, 所以 php-fpm 也是他自身的 fastcgi 或 php-cgi 进程管理器。


工作原理图:



wKioL1XxXi2DI8tzAACImfsluWg398.jpg



Nginx + FastCGI 安装配置:


1.部署 mysql主从 服务器(详细安装见MySQL 主从复制


2.安装 nginx 服务 (详情请参考如何搭建 Nginx 网站服务器


3.下载编译安装 PHP

    cd  /data

    wget  http://museum.php.net/php5/php-5.3.10.tar.gz

    yum -y install  gd  curl  curl-devel  lib  jpeg  libjpeg-devel  libpng  libpng-devel  freetype  freetype-devel  libxml2  libxml2-devel  mysql  mysql-devel


    tar zxf php-5.3.10 .tar.gz ; cd  php-5.3.10

    ./configure  --prefix=/usr/local/php5  

                        --enable-fpm --enable-debug 

                        --with-gd--with-jpeg-dir 

                        --with-png-dir --with-freetype-dir 

                        --enable-mbstring--with-curl 

                           --with-mysql=mysqlnd  

                        --with-mysqli=mysqlnd 

                        --with-pdo-mysql=mysqlnd



    make && make  install


    cp  php.ini-development    /usr/local/php5/lib/php.ini

    cp /usr/local/php5/etc/php-fpm.conf.default    /usr/local/php5/etc/php-fpm.conf    /usr/local/php/sbin/php-fpm

    cp    sapi/fpm/init.d.php-fpm        /etc/init.d/php-fpm


2.Nginx 文件设置:


server { 

 include port.conf; 

 server_name www.jfedu.netjfedu.net; 

  location / { 

 index index.htmlindex.php; 

 root/usr/local/nginx/html; 

 } 

 location  ~ \.php$ { 

            root           html; 

           fastcgi_pass  127.0.0.1:9000; 

            fastcgi_index  index.php; 

           fastcgi_param SCRIPT_FILENAME html$fastcgi_script_name; 

            include        fastcgi_params; 

        } 

}


测试 Nginx + PHP 整合结果


wKiom1XxYHKSn4etAAIwhwoxVVY295.jpg





本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/1693536



相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2天前
|
小程序 网络协议 应用服务中间件
nginx(二)服务器中配置超时时间的方法
访问超时这个事一般都是在nginx中配置的。 之前大脑发昏,一直研究PHP来着,后来发现,不行,PHP超时怎么配都不好用。 首先说一下配置的位置,是在每个域名的配置文件中配置的 我的域名配置文件如下:
32 0
|
2天前
|
XML Java 应用服务中间件
# 如何 在同一个 服务器上同时部署 nginx 以及 tomcat
# 如何 在同一个 服务器上同时部署 nginx 以及 tomcat
18 0
|
25天前
|
域名解析 负载均衡 网络协议
温故知新-Nginx服务器篇
温故知新-Nginx服务器篇
26 0
|
1月前
|
缓存 负载均衡 应用服务中间件
Nginx服务器之负载均衡策略(6种)
Nginx服务器之负载均衡策略(6种)
|
1月前
|
JavaScript Java 应用服务中间件
nginx 配置~~~本身就是一个静态资源的服务器
nginx 配置~~~本身就是一个静态资源的服务器
32 1
|
2月前
|
应用服务中间件 编译器 nginx
服务器如何安装nginx
服务器如何安装nginx
|
2月前
|
应用服务中间件 nginx
百度搜索:蓝易云 ,Nginx搭建文件下载服务器教程!
通过按照上述步骤,您可以搭建一个基于Nginx的文件下载服务器。请确保在编辑Nginx配置文件时使用正确的文件路径和服务器名称。
34 0
|
2月前
|
负载均衡 Java 应用服务中间件
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
Caddy Web服务器深度解析与对比:Caddy vs. Nginx vs. Apache
99 0
|
2月前
|
前端开发 Cloud Native 应用服务中间件
深入解析 Nginx 代理配置:从 server 块到上游服务器的全面指南
深入解析 Nginx 代理配置:从 server 块到上游服务器的全面指南
36 0
|
2月前
|
tengine 应用服务中间件 Linux
【Linux环境】如何在Nginx(或Tengine)服务器上安装ssl证书----介绍nginx服务器类型证书的下载与安装操作
【Linux环境】如何在Nginx(或Tengine)服务器上安装ssl证书----介绍nginx服务器类型证书的下载与安装操作
115 0
相关产品
云迁移中心
推荐文章
更多