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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

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



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
编译器 Linux PHP
【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
|
19天前
|
弹性计算 运维 监控
快速部署 Nginx 社区版
Nginx是一个高性能的HTTP和反向代理服务器。Nginx在计算巢上提供了社区版服务,您无需自行配置云主机,即可在计算巢上快速部署Nginx服务、实现运维监控,从而方便地基于Nginx搭建您自己的应用。本文介绍使用如何通过计算巢快速部署Nginx社区版。
快速部署 Nginx 社区版
|
8天前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
3天前
|
前端开发 JavaScript 应用服务中间件
使用nginx部署网站
使用nginx部署网站
|
3天前
|
JavaScript 应用服务中间件 nginx
nginx部署vue项目
本文介绍了将Vue项目部署到Nginx的步骤,包括构建Vue项目、上传dist文件夹到服务器、安装Nginx、配置Nginx代理静态文件以及重启Nginx,确保了Vue应用可以通过域名或IP地址访问。
15 1
|
5天前
|
前端开发 JavaScript 应用服务中间件
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
本文是一篇详细的教程,介绍了如何在Linux系统上安装和配置nginx,以及如何将打包好的前端项目(如Vue或React)上传和部署到服务器上,包括了常见的错误处理方法。
16 0
linux安装nginx和前端部署vue项目(实际测试react项目也可以)
|
7天前
|
Kubernetes 应用服务中间件 nginx
k8s基础使用--使用k8s部署nginx服务
本文介绍了Kubernetes中核心概念Deployment、Pod与Service的基本原理及应用。Pod作为最小调度单元,用于管理容器及其共享资源;Deployment则负责控制Pod副本数量,确保其符合预期状态;Service通过标签选择器实现Pod服务的负载均衡与暴露。此外,还提供了具体操作步骤,如通过`kubectl`命令创建Deployment和Service,以及如何验证其功能。实验环境包括一台master节点和两台worker节点,均已部署k8s-1.27。
|
17天前
|
应用服务中间件 nginx Docker
docker应用部署---nginx部署的配置
这篇文章介绍了如何使用Docker部署Nginx服务器,包括搜索和拉取Nginx镜像、创建容器并设置端口映射和目录映射,以及如何创建一个测试页面并使用外部机器访问Nginx服务器。
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2月前
|
关系型数据库 MySQL 应用服务中间件
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目
这篇文章介绍了如何在Windows 7系统上搭建PHP、MySQL和Apache环境,并部署ECShop项目,包括安装配置步骤、解决常见问题以及使用XAMPP集成环境的替代方案。
44 1
win7系统搭建PHP+Mysql+Apache环境+部署ecshop项目