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

本文转自   tianshuai369   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
相关文章
|
30天前
|
定位技术
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
GPS北斗卫星同步时钟(时间同步服务器)建设施工部署方案
|
1月前
|
数据采集 前端开发 PHP
深入PHP内核:探索高性能异步编程
【2月更文挑战第24天】在现代Web开发中,提供快速响应和高并发处理能力是至关重要的。传统的同步阻塞模型已无法满足现代互联网服务的需求。本文将深入探讨PHP语言中的异步编程概念,介绍其原理、实现方式以及如何通过异步编程提升应用性能。我们将剖析PHP的多线程扩展,如pthreads,以及事件驱动编程模型,重点关注它们在处理大量并发连接时的优势和潜在问题。此外,文中还将展示如何使用Swoole等高级框架来构建高效的异步应用。最后,我们将讨论异步编程在实际应用中的挑战与未来发展趋势。
16 1
|
30天前
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
45 0
|
1月前
|
弹性计算 运维 安全
2024年阿里云一键搭建部署幻兽帕鲁服务器解决方案
幻兽帕鲁火了,为了确保畅快体验游戏,构建高效、稳定的游戏服务器至关重要。幸运的是,阿里云为您提供了快速、简便的服务器搭建解决方案,即使您对技术知识了解有限,也能在短短一分钟内轻松完成《幻兽帕鲁》游戏的联机服务器搭建!
1453 4
|
6天前
|
Java 应用服务中间件 Linux
在阿里云服务器上部署Tomcat详细图文详解
本文介绍了在阿里云服务器上安装和配置JDK和Tomcat的步骤。首先,需要注册阿里云账号并进行实名认证,然后购买并设置服务器。接着,通过File Zilla连接服务器,创建Java和Tomcat的安装目录,并将JDK和Tomcat的tar.gz文件上传到服务器,解压并重命名。之后,配置JDK的环境变量,将catalina.sh复制到/etc/init.d/目录下,并修改相关配置。最后,启动Tomcat并配置安全组规则,确保可以通过公网访问。
|
6天前
|
弹性计算 Java Linux
阿里云服务器搭建部署宝塔详细流程
该内容是一个阿里云服务器和域名的配置指南。首先,需注册阿里云账号并进行企业实名认证。接着,选购服务器如2核2G1兆的Linux系统,并购买域名。完成域名备案后,进行域名解析和ICP备案。然后,通过远程连接登录服务器,重置密码,安装宝塔面板。在安全组中开启宝塔面板随机生成的端口。最后,登录宝塔面板安装LNMP环境,配置数据库如MySQL和Redis,部署JDK、Tomcat,上传前端和后端项目以实现上线。
|
7天前
|
弹性计算 JavaScript Java
阿里云服务器搭建部署宝塔详细流程
以下是内容的摘要: 本文主要介绍了在阿里云上创建和配置服务器环境的步骤,包括注册阿里云账号、实名认证、购买和设置服务器、域名的获取与备案、以及使用宝塔面板安装和配置环境。首先,用户需要注册阿里云账号并进行实名认证,选择合适的服务器配置。接着,购买服务器后,要准备并备案域名,以便通过友好的网址访问网站。在服务器上安装宝塔面板,可以方便地管理和配置LAMP/LNMP/Tomcat/Node.js等应用环境。完成这些步骤后,用户还需要在宝塔面板中安装MySQL、Redis等数据库,部署Java或Vue项目,并配置相关端口。最后,将前端项目打包上传至服务器,并设置站点,即可实现网站的上线。
|
7天前
|
应用服务中间件 Linux 开发工具
如何在阿里云服务器快速搭建部署Nginx环境
以下是内容的摘要: 本文档主要介绍了在阿里云上购买和配置服务器的步骤,包括注册阿里云账号、实名认证、选择和购买云服务器、配置安全组、使用Xshell和Xftp进行远程连接和文件传输,以及安装和配置Nginx服务器的过程。在完成这些步骤后,你将能够在服务器上部署和运行自己的网站或应用。
|
8天前
|
NoSQL 关系型数据库 MySQL
阿里云服务器部署项目流程
本文主要讲解阿里云服务器的部署,如何选择配置等
|
12天前
|
弹性计算 应用服务中间件 Linux
阿里云ECS服务器上从零开始搭建nginx服务器
阿里云ECS服务器上从零开始搭建nginx服务器