首页 后端开发 php教程 在CentOS/RHEL6.2/5.8,Fedora17/16上安装Nginx/PHP-FPM环境_PHP教程

在CentOS/RHEL6.2/5.8,Fedora17/16上安装Nginx/PHP-FPM环境_PHP教程

Jul 13, 2016 pm 05:52 PM
centos nginx php php-fpm 什么 安装 环境

什么是PHP-FPM
  PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,
  PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。
  现在我们可以在最新的PHP 5.3.2的源码树里下载得到直接整合了PHP-FPM的分支,据说下个版本会融合进PHP的主分支去。相对Spawn-FCGI,PHP-FPM在CPU和内存方面的控制都更胜一筹,而且前者很容易崩溃,必须用crontab进行监控,而PHP-FPM则没有这种烦恼。
  PHP5.3.3已经集成php-fpm了,不再是第三方的包了。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多有点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM。
  以上摘自:什么是CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI?
什么是Nginx
  Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在Fedora17/16/15/14,CentOS6.2/6.1/6/5.8及Red Hat(RHEL)6.2/6.1/6/5.8上安装配置Nginx/PHP-FPM
让我们开始行动起来吧

STEP1.切换到root用户
[plain]
su - 
## OR ## 
sudo -i 


STEP2.安装必要的软件源
2-1.  Fedora 17/16/15/14 下安装Remi源
[plain] 
## Remi Dependency on Fedora 17, 16, 15 
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm  
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm 
  
## Fedora 17 ## 
rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm 
  
## Fedora 16 ## 
rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm 
  
## Fedora 15 ## 
rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm 
  
## Fedora 14 ## 
rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm


2-1.  CentOS 6.2/6.1/6/5.8 及 Red Hat (RHEL) 6.2/6.1//6/5.8下安装Remi源
[plain] 
## Remi Dependency on CentOS 6 and Red Hat (RHEL) 6 ## 
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm 
  
## CentOS 6 and Red Hat (RHEL) 6 ## 
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 
  
  
## Remi Dependency on CentOS 5 and Red Hat (RHEL) 5 ## 
rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm 
  
## CentOS 5 and Red Hat (RHEL) 5 ##  
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm


2-2.  CentOS 6.2/6.1/6/5.8 及 Red Hat (RHEL) 6.2/6.1/6/5.8 下还要配置Nginx 源
创建/etc/yum.repos.d/nginx.repo文件并写入以下内容
CentOS
[plain] 
[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 

RedHat(RHEL)
[plain] 
[nginx] 
name=nginx repo 
baseurl=http://nginx.org/packages/rhel/$releasever/$basearch/ 
gpgcheck=0 
enabled=1 

 

STEP3.安装Nginx,PHP5.4.4&PHP-FPM
3-1.  Fedora 17/16/15/14下
[plain]
yum --enablerepo=remi install nginx php php-fpm php-common 


3-1.  CentOS 6.2/5.8 及 Red Hat (RHEL) 6.2/5.8下
[plain] 
yum --enablerepo=remi,remi-test install nginx php php-fpm php-common 


STEP4.安装PHP5.4.4模块扩展
APC (php-pecl-apc) – APC缓存优化中间件
CLI (php-cli) – PHP命令行插件
PEAR (php-pear) – PHP官方扩展
PDO (php-pdo) – 数据库PDO扩展
MySQL (php-mysql) –MYSQL驱动
PostgreSQL (php-pgsql) – PostgreSQL驱动
MongoDB (php-pecl-mongo) – PHP MongoDB驱动
SQLite (php-sqlite) – SQLite V2引擎及驱动
Memcache (php-pecl-memcache) – Memcache 驱动
Memcached (php-pecl-memcached) – Memcached 驱动
GD (php-gd) – GD图片类库扩展
XML (php-xml) –XML扩展
MBString (php-mbstring) –多字节字符串处理扩展
MCrypt (php-mcrypt) – MCrypt类库扩展

4-1.  Fedora 17/16/15/14下使用命令:
[plain] 
yum --enablerepo=remi install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml 

4-1.  CentOS 6.2/5.8 and Red Hat (RHEL) 6.2/5.8下使用命令:
[plain] 
yum --enablerepo=remi,remi-test install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml 

 

STEP5.停止httpd(Apache)服务器,启动Nginx HTTP服务及PHP-FPM
5-1.  停止httpd
[plain]
/etc/init.d/httpd stop 
## OR ## 
service httpd stop 

5-2.  启动Nginx
[plain]  
/etc/init.d/nginx start 
## OR ## 
service nginx start 
5-3.  启动PHP_FPM
[plain]
/etc/init.d/php-fpm start 
## OR ## 
service php-fpm start 

【译者注】
到这一步,再按照步骤9配置一下防火墙开放80端口,打开浏览器输入http://localhost就可以看到nginx默认页面。

STEP6.设置Nginx&PHP-FPM开机自启动(同时禁止Httpd自启动)
6-1.  禁止Httpd自启动
[plain] 
chkconfig httpd off 

5-2  设置Nginx&PHP-FPM开机自启动
[html] 
chkconfig --add nginx 
chkconfig --levels 235 nginx on 
chkconfig --add php-fpm 
chkconfig --levels 235 php-fpm on 


STEP7. 配置Nginx&PHP-FPM
7-1. 创建网站目录
在这里我使用testsite.local作为站点目录,在实际应用用我们常常使用对应域名作为站点目录,如www.csdn.com
[plain] view plaincopy
##创建public_html目录及logs日志目录 
mkdir -p /srv/www/testsite.local/public_html 
mkdir /srv/www/testsite.local/logs 
##将以上目录的所有者修改为nginx 
chown -R nginx:nginx /srv/www/testsite.local 
配置一下日志目录
[plain] 
mkdir -p /srv/www/testsite.local/public_html 
mkdir -p /var/log/nginx/testsite.local 
chown -R nginx:nginx /srv/www/testsite.local 
chown -R nginx:nginx /var/log/nginx 
7-2. 创建并配置nginx虚拟主机目录
[plain] 
mkdir /etc/nginx/sites-available 
mkdir /etc/nginx/sites-enabled 
打开 /etc/nginx/nginx.conf 文件,在include /etc/nginx/conf.d/*.conf”行后(在http block内)加入以下代码
[plain]
include /etc/nginx/sites-enabled/*; 
7-3. 为站点testsite.local配置nginx虚拟主机
在/etc/nginx/sites-available/目录下添加testsite.local文件,其内容如下。
[plain] 
server { 
    server_name testsite.local; 
    access_log /srv/www/testsite.local/logs/access.log; 
    error_log /srv/www/testsite.local/logs/error.log; 
    root /srv/www/testsite.local/public_html; 
  
    location / { 
        index index.html index.htm index.php; 
    } 
  
    location ~ \.php$ { 
        include /etc/nginx/fastcgi_params; 
        fastcgi_pass  127.0.0.1:9000; 
        fastcgi_index index.php; 
        fastcgi_param SCRIPT_FILENAME /srv/www/testsite.local/public_html$fastcgi_script_name; 
    } 

将testsite.local链接到/etc/nginx/sites-enabled下
[plain] 
cd /etc/nginx/sites-enabled/ 
ln -s /etc/nginx/sites-available/testsite.local 
service nginx restart 
把testsite.local这个"域名"加到/etc/hosts中
修改/etc/hosts文件
[plain] 
cd /etc/nginx/sites-enabled/ 
127.0.0.1               localhost.localdomain localhost testsite.local 

STEP8. 测试
在/srv/www/testsite.local/public_html/下创建index.php文件,其内容如下
[plain] 
cd /etc/nginx/sites-enabled/ 
    phpinfo(); 
?> 
打开你的浏览器,访问http://testsite.local/

 在CentOS/RHEL6.2/5.8,Fedora17/16上安装Nginx/PHP-FPM环境_PHP教程


STEP9. 防火墙iptables配置
为Nginx Web Server开放80端口,修改/etc/sysconfig/iptables文件,加入如下内容
[plain] 
cd /etc/nginx/sites-enabled/ 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
重启iptables防火墙
[plain] 
cd /etc/nginx/sites-enabled/ 
service iptables restart 
## OR ## 
/etc/init.d/iptables restart 
作者:uuleaf

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478098.htmlTechArticle什么是PHP-FPM PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的, PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
4 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

您如何在PHP中解析和处理HTML/XML? 您如何在PHP中解析和处理HTML/XML? Feb 07, 2025 am 11:57 AM

本教程演示了如何使用PHP有效地处理XML文档。 XML(可扩展的标记语言)是一种用于人类可读性和机器解析的多功能文本标记语言。它通常用于数据存储

php程序在字符串中计数元音 php程序在字符串中计数元音 Feb 07, 2025 pm 12:12 PM

字符串是由字符组成的序列,包括字母、数字和符号。本教程将学习如何使用不同的方法在PHP中计算给定字符串中元音的数量。英语中的元音是a、e、i、o、u,它们可以是大写或小写。 什么是元音? 元音是代表特定语音的字母字符。英语中共有五个元音,包括大写和小写: a, e, i, o, u 示例 1 输入:字符串 = "Tutorialspoint" 输出:6 解释 字符串 "Tutorialspoint" 中的元音是 u、o、i、a、o、i。总共有 6 个元

在PHP API中说明JSON Web令牌(JWT)及其用例。 在PHP API中说明JSON Web令牌(JWT)及其用例。 Apr 05, 2025 am 12:04 AM

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

解释PHP中的晚期静态绑定(静态::)。 解释PHP中的晚期静态绑定(静态::)。 Apr 03, 2025 am 12:04 AM

静态绑定(static::)在PHP中实现晚期静态绑定(LSB),允许在静态上下文中引用调用类而非定义类。1)解析过程在运行时进行,2)在继承关系中向上查找调用类,3)可能带来性能开销。

WordPress站点文件访问受限:为什么我的.txt文件无法通过域名访问? WordPress站点文件访问受限:为什么我的.txt文件无法通过域名访问? Apr 01, 2025 pm 03:00 PM

Wordpress站点文件访问受限:排查.txt文件无法访问的原因最近有用户在配置小程序业务域名时,遇到一个问题:�...

什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? 什么是PHP魔术方法(__ -construct,__destruct,__call,__get,__ set等)并提供用例? Apr 03, 2025 am 12:03 AM

PHP的魔法方法有哪些?PHP的魔法方法包括:1.\_\_construct,用于初始化对象;2.\_\_destruct,用于清理资源;3.\_\_call,处理不存在的方法调用;4.\_\_get,实现动态属性访问;5.\_\_set,实现动态属性设置。这些方法在特定情况下自动调用,提升代码的灵活性和效率。

如何在同一台服务器上通过Nginx配置让PHP5.6和PHP7共存? 如何在同一台服务器上通过Nginx配置让PHP5.6和PHP7共存? Apr 01, 2025 pm 03:15 PM

在同一系统中同时运行多个PHP版本是一个常见的需求,特别是当不同项目依赖于不同版本的PHP时。如何在同一台...

h5项目怎么运行 h5项目怎么运行 Apr 06, 2025 pm 12:21 PM

运行 H5 项目需要以下步骤:安装 Web 服务器、Node.js、开发工具等必要工具。搭建开发环境,创建项目文件夹、初始化项目、编写代码。启动开发服务器,使用命令行运行命令。在浏览器中预览项目,输入开发服务器 URL。发布项目,优化代码、部署项目、设置 Web 服务器配置。

See all articles