<em id="1rarx"><ins id="1rarx"></ins></em><sup id="1rarx"></sup>

<progress id="1rarx"><tr id="1rarx"></tr></progress>
<sup id="1rarx"><menu id="1rarx"></menu></sup>
<menuitem id="1rarx"></menuitem><optgroup id="1rarx"><small id="1rarx"><sub id="1rarx"></sub></small></optgroup>

    <sup id="1rarx"><menu id="1rarx"></menu></sup>
    <div id="1rarx"></div><div id="1rarx"><tr id="1rarx"><object id="1rarx"></object></tr></div>
      <em id="1rarx"></em>

          首页 > nginx > nginx php-fpm安装配置

          nginx php-fpm安装配置

          2012年9月21日 发表评论 阅读评论

          nginx本身不能处理PHP,它只是个web服务器,当接收到请求后,如果是php请求,则发给php解释器处理,并把结果返回给客户端。

          nginx一般是把请求发fastcgi管理进程处理,fascgi管理进程选择cgi子进程处理结果并返回被nginx

          本文以php-fpm为例介绍如何使nginx支持PHP

          一、编译安装php-fpm

          什么是PHP-FPM

          PHP-FPM是一个PHP FastCGI管理器,是只用于PHP的,可以在 http://php-fpm.org/download下载得到.

          PHP-FPM其实是PHP源代码的一个补丁,旨在将FastCGI进程管理整合进PHP包中。必须将它patch到你的PHP源代码中,在编译安装PHP后才可以使用。

          新版PHP已经集成php-fpm了,不再是第三方的包了,推荐使用。PHP-FPM提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置,比spawn-fcgi具有更多优点,所以被PHP官方收录了。在./configure的时候带 –enable-fpm参数即可开启PHP-FPM,其它参数都是配置php的,具体选项含义可以查看这里

          安装前准备
          centos下执行

          新版php-fpm安装(推荐安装方式)

          旧版手动打补丁php-fpm安装(旧版程序已经没有了,大家新版的吧,这里做个展示)
          wget http://cn2.php.net/get/php-5.2.17.tar.gz
          wget http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
          tar zvxf php-5.2.17.tar.gz
          gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php-5.2.17 -p1
          cd php-5.2.17
          ./configure --prefix=/usr/local/php -with-config-file-path=/usr/local/php/etc
          -with-mysql=/usr/local/mysql
          -with-mysqli=/usr/local/mysql/bin/mysql_config -with-openssl -enable-fpm -enable-mbstring
          -with-freetype-dir -with-jpeg-dir -with-png-dir -with-zlib-dir -with-libxml-dir=/usr -enable-xml
          -with-mhash -with-mcrypt -enable-pcntl -enable-sockets ?-with-bz2 -with-curl -with-curlwrappers
          -enable-mbregex -with-gd -enable-gd-native-ttf -enable-zip -enable-soap -with-iconv -enable-bcmath
          -enable-shmop -enable-sysvsem -enable-inline-optimization -with-ldap -with-ldap-sasl -enable-pdo
          -with-pdo-mysql
          make all install

          以上两种方式都可以安装php-fpm,安装后内容放在/usr/local/php目录下

          以上就完成了php-fpm的安装。

          下面是对php-fpm运行用户进行设置

          修改
          user = www-data
          group = www-data

          如果www-data用户不存在,那么先添加www-data用户
          groupadd www-data
          useradd -g www-data www-data

          二、编译安装nginx

          然后按照http://www.4693749.com/install?安装nginx

          三、修改nginx配置文件以支持php-fpm

          nginx安装完成后,修改nginx配置文件为,nginx.conf

          其中server段增加如下配置,注意标红内容配置,否则会出现No input file specified.错误

          # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
          #
          location ~ .php$ {
          root html;
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
          }

          四、创建测试php文件

          创建php文件

          在/usr/local/nginx/html下创建index.php文件,输入如下内容

          五、启动服务

          启动php-fpm和nginx

          php-fpm关闭重启见文章结尾

          六、浏览器访问

          访问http://你的服务器ip/index.php,皆可以见到php信息了。

          安装php-fpm时可能遇到的错误:

          1. php configure时出错

          configure: error: XML configuration could not be found

          2. Please reinstall the BZip2 distribution

          3.?php的配置文件中有一行--with-mysql=/usr
          安装的时候提示:
          configure: error: Cannot find MySQL header files under yes.
          Note that the MySQL client library is not bundled anymore.

          这是由于安装mysql时没有安装mysql头文件,或者是路径指定不正确,php找不到mysql的头文件引起的错误提示。
          解决方法。
          (1.) 查看你的系统有没有安装mysql header
          find / -name mysql.h
          如果有。请指定--with-mysql=/跟你的正常路?#19969;?br /> 如果没有。请看下一步。
          (2.)redhat安装
          rpm -ivh MySQL-devel-4.1.12-1.i386.rpm
          (3.)ubuntu安装
          apt-get install libmysqlclient15-dev
          (4.)最后一步php的配置选项添加--with-mysql=/usr即可!

          4.No input file specified.

          location ~ .php$ {
          root html;
          fastcgi_pass 127.0.0.1:9000;
          fastcgi_index index.php;
          fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
          include fastcgi_params;
          }

          5.?如果php configure?#27604;?#24211;,可以先安装库(ubuntu下)

          sudo apt-get install make bison flex gcc patch autoconf subversion locate
          sudo apt-get install libxml2-dev libbz2-dev libpcre3-dev libssl-dev zlib1g-dev libmcrypt-dev libmhash-dev libmhash2 libcurl4-openssl-dev libpq-dev libpq5 libsyck0-dev

          6.?mcrypt.h not found. Please reinstall libmcrypt

          apt-get install libmcrypt-dev

          或者

          cd /usr/local/src
          wget http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz
          tar -zxvf libmcrypt-2.5.8.tar.gz
          cd /usr/local/src/libmcrypt-2.5.8
          ./configure --prefix=/usr/local
          make
          make install

          7. php-fpm 5.4.7 如何关闭 重启?

          php 5.4.7 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:

          master进程可以理解以下信号

          INT, TERM 立刻终止 QUIT 平滑终止 USR1 重新打开日志文件 USR2 平滑重载所有worker进程并重新载入配置和二进制模块

          示例:

          php-fpm 关闭:

          kill -INT cat /usr/local/php/var/run/php-fpm.pid

          php-fpm 重启:

          kill -USR2 cat /usr/local/php/var/run/php-fpm.pid

          查看php-fpm进程数:

          ps aux | grep -c php-fpm

          8.命令行下执行php,提示找不到命令

          -bash: /usr/bin/php: No such file or directory

          vi /etc/profile

          在文件底部增加一行配置
          export PATH=/usr/local/php/bin:$PATH

          保存退出

          source /etc/profile

          除非注明,本站文章均为: nginx.cn原创,转载请注明本文地址: http://www.4693749.com/231.html

          --完--

          分类: nginx 标签:
          1. gfdgdfgffsd
            2017年11月21日14:50 | #1

            防守打法的山东师范

          2. fsfsdfds
            2017年11月21日14:50 | #2

            用phpinfo函数看一下

          3. gdgdfgdf
            2017年11月21日14:49 | #3

            学习咯!

          4. gdgdfgdf
            2017年11月21日14:49 | #4

            简洁精辟

          5. 59d5a847a10edfe303bbedbfc94b8cc4
            2017年11月21日14:47 | #5

            好好玩!

          6. asdfasdfasdfasdfasdfasdfasdfasdf
            2017年11月21日14:46 | #6

            学习了!!!

          7. simuhunluo
            2017年11月15日00:06 | #7

            @寂寞侵蚀的岁月
            那是在开始配置./configure的时候没有引入fpm

          8. 西门吹牛
            2016年8月11日17:47 | #8

            centos7 安装好之后访问的时候页面不出来phpinfo页面,而是出现了index.php文件中的代码,经检查后发现,楼主代码为:
            &lt;?php
            echo phpinfo();
            ?&gt;
            将代码改为:
            <?php
            echo phpinfo();
            ?>
            问题解决。

          9. 2016年7月7日11:31 | #10

            7.0 的php安装后找不到fpm

          10. 2016年3月11日14:19 | #11

            ?#34892;?#27004;主

          11. 2016年3月4日23:44 | #12

            楼主你好,在phpinfo()中看到Configuration File (php.ini) Path指向/usr/local/php/lib 目录,但是在该目录下却没看到php.ini配置文件,且从根目录开始查找也没找到这个配置文件,这是为什么??

          12. 天边的乌云
            2015年12月2日17:14 | #15

            虽然我刚刚安装好了,博主说的问题都遇到了,确?#24403;?#36739;详细。

          13. 2015年5月9日16:57 | #16

            楼主,我想问下
            1、打开--enable-pcntl,不手动编译pcntl.so扩展,pcntl_fork函数是不支持的,为啥呢?
            2、打开pcntl后,php-fpm.conf进程管理是否可以配置为静态?
            望广大网友帮忙解惑。非常?#34892;弧?/p>

          14. 蒙太奇葩
            2015年4月13日18:12 | #17

            十?#25351;行唬?#25991;章简洁明了,一路很顺。

          15. 2015年2月23日20:17 | #18
          16. 2015年2月23日14:50 | #19

            lz用什么源?

          17. 2015年2月23日12:39 | #21

            新版php安装时出现make: *** No rule to make target `all'. Stop.如何解决?

            • 农民
              2015年4月11日22:14 | #22

              这个问题解决了吗?我也遇到了

          18. 山里的娃
            2014年12月28日18:07 | #23

            请问一下:我的nginx和php都安装好了,phpinfo的测试页面也能正常显示,但是为啥将WordPress的内容放到html目录下面,访问的时候就会返回500错误?

          19. 2014年5月18日23:19 | #25

            我安装好了mysql 并且mysql没报任何错误也能正常运行。在/usr/local/mysql/include/mysql/mysql.h 也是有的。但是在编译php的时候 总是报
            configure: error: Cannot find MySQL header files under /usr.
            Note that the MySQL client library is not bundled anymore!
            我php ./configure --with-mysql=/usr/local/mysql --with-mysql=/usr --with-mysql 这三个方式都试过还是不行
            请?#25910;?#20010;是怎么回事呢

            • 2014年5月18日23:30 | #26

              我自己在网上找的解决办法 yum install mysql-devel这样就完全通过了不知道为什么会差这个东西就不行。。

            • 海盗窝
              2015年3月19日09:09 | #27

              --with-mysql=mysqlnd --with-mysqli=mysqlnd 试下。

          20. 2014年5月12日09:58 | #28

            你的wp是用nginx搭建的吗?

          21. Victor
            2014年1月5日19:00 | #31

            make: *** No targets specified and no makefile found. Stop.

            安装前准备 都已经安装了 。这个问题这么解决呢??

          22. victor
            2014年1月5日18:27 | #32

            make: *** No targets specified and no makefile found. Stop.

            shi weishenme a ???

          23. 2013年12月29日23:28 | #34

            阿里云 CenterOS,前面的准备工作也作了,也按照“6. mcrypt.h not found. Please reinstall libmcrypt”的解决方案操作了,但执行编辑的时候仍然提示:configure: error: mcrypt.h not found. Please reinstall libmcrypt. 求解!

          24. CaenZhang
            2013年12月12日17:42 | #36

            [12-Dec-2013 16:57:29] ERROR: unable to bind listening socket for address '127.0.0.1:9000': Address already in use (98)
            ----这是什么情况啊?求解!!!

          25. 2013年11月11日10:17 | #41

            版主真心不错!愿意贡献知识!!!!

          26. ys165
            2013年10月8日00:47 | #42

            怎么优化呢?有没有优化方面的介绍?

            • 2013年10月10日14:08 | #43

              优化需要针对具体情况具体分析,可?#36816;鄧的?#30340;情况

          27. asdf
            2013年9月28日21:33 | #44

            博主,我按你的方法安装后发现freetype 和jpeg不能用。

            • 2013年9月29日09:04 | #45

              安装前的准备工作,你做了吗?

              • asdf
                2013年9月29日11:08 | #46

                前面的东西都安装了,但是freetype还是不能用,imagettftest还i是报错,phpinfo 查看gd里面没freetype

              • asdf
                2013年9月29日11:10 | #47

                尝试在安装php的时候加了选项 --with-freetype-dir=/usr/include/freetype2/freetype/ 没报错,但是还是不可用

              • asdf
                2013年9月29日11:29 | #48

                ./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --enable-gd-native-ttf --with-png-dir --with-freetype-dir=/usr/include/freetype2/freetype/ --with-jpeg-dir

                make clean
                make
                male install
                搞定了

          28. asdf
            2013年9月13日12:18 | #50

            安装完后如何添加mysqli扩展呢??

            • 2013年9月13日12:55 | #51

              重新编译一遍,configure是带上--with-mysqli参数。

              • asdf
                2013年9月13日15:16 | #52

                ?#34892;?#21338;主回复,文件解决了,但是我关闭php-fpm报错:
                -bash: kill: cat /usr/local/php/var/run/php-fpm.pid: arguments must be process or job IDs;
                发现/usr/local/php/var/run/php-fpm.pid这个文件不存在;

          29. 2013年8月30日14:14 | #54

            configure: WARNING: unrecognized options: --with-jpeg 应该是目录

          30. 2013年8月29日11:50 | #56

            我的php运行起来为什么找不到PID,写进系统程序时没法stop

          31. 无忌
            2013年8月13日19:40 | #59

            <? echo phpinfo(); ?> 请修改这行代码 <?php echo phpinfo(); ?>

            • mood
              2013年8月14日16:53 | #60

              谢谢,已更新

            • 2013年8月20日10:37 | #61

              这行代码无问题。

              • Filix
                2013年8月29日22:23 | #62

                是没问题,但是短标签是不建议的。
                有些情况会出现问题,比如把php文件当模版时输出XML。因为xml的申明就是<? XML .........
                另外phpinfo是没有返回值的,不需要echo

          32. 2013年8月7日14:57 | #63

            安装完成 php 怎么没有找到php.ini 文件啊

          33. 小飞
            2013年7月18日15:38 | #66

            这么好的文章,果断收藏了。

          34. 草泥马
            2013年7月16日08:21 | #67

            简洁精辟!

          35. 2013年5月18日14:14 | #68

            学习咯

          1. 2012年12月31日21:03 | #1
          2. 2013年6月5日16:16 | #2
          3. 2013年7月23日22:58 | #3
          4. 2013年8月1日13:14 | #4
          5. 2013年8月24日09:31 | #5
          6. 2013年10月30日00:37 | #6
          7. 2013年10月30日00:40 | #7
          8. 2013年12月1日11:00 | #8
          9. 2013年12月13日10:57 | #9
          10. 2014年1月30日20:22 | #10
          11. 2014年1月30日20:55 | #11
          12. 2014年5月25日19:10 | #12
          13. 2014年5月25日19:32 | #13
          14. 2014年6月9日13:44 | #14
          15. 2014年8月22日12:11 | #15
          16. 2014年11月20日22:18 | #16
          17. 2014年11月28日09:40 | #17
          18. 2014年12月24日16:47 | #18
          19. 2015年1月8日10:23 | #19
          20. 2015年6月17日17:19 | #20
          21. 2015年7月3日18:35 | #21
          22. 2015年7月5日16:22 | #22
          23. 2015年7月26日13:22 | #23
          24. 2015年7月30日21:48 | #24
          25. 2015年8月2日12:16 | #25
          26. 2015年9月2日22:10 | #26
          27. 2015年12月22日11:41 | #27
          28. 2016年1月13日16:58 | #28
          29. 2016年2月28日14:42 | #29
          30. 2016年3月23日23:28 | #30
          31. 2016年7月16日17:48 | #31
          32. 2016年7月17日06:49 | #32
          33. 2016年7月29日11:39 | #33
          34. 2016年7月29日15:33 | #34
          35. 2016年8月3日14:42 | #35
          36. 2016年12月13日16:30 | #36
          37. 2017年1月2日16:18 | #37
          38. 2017年1月22日15:20 | #38
          39. 2017年3月3日17:14 | #39
          40. 2017年5月8日18:24 | #40
          41. 2017年10月19日16:38 | #41
          42. 2017年11月1日11:13 | #42
          43. 2018年9月13日23:34 | #43

          印度快乐8官网
          <em id="1rarx"><ins id="1rarx"></ins></em><sup id="1rarx"></sup>

          <progress id="1rarx"><tr id="1rarx"></tr></progress>
          <sup id="1rarx"><menu id="1rarx"></menu></sup>
          <menuitem id="1rarx"></menuitem><optgroup id="1rarx"><small id="1rarx"><sub id="1rarx"></sub></small></optgroup>

            <sup id="1rarx"><menu id="1rarx"></menu></sup>
            <div id="1rarx"></div><div id="1rarx"><tr id="1rarx"><object id="1rarx"></object></tr></div>
              <em id="1rarx"></em>

                  <em id="1rarx"><ins id="1rarx"></ins></em><sup id="1rarx"></sup>

                  <progress id="1rarx"><tr id="1rarx"></tr></progress>
                  <sup id="1rarx"><menu id="1rarx"></menu></sup>
                  <menuitem id="1rarx"></menuitem><optgroup id="1rarx"><small id="1rarx"><sub id="1rarx"></sub></small></optgroup>

                    <sup id="1rarx"><menu id="1rarx"></menu></sup>
                    <div id="1rarx"></div><div id="1rarx"><tr id="1rarx"><object id="1rarx"></object></tr></div>
                      <em id="1rarx"></em>

                          哪个网站可以买北单 云南快乐10分开奖 4场进球彩18078期开奖 内蒙古时时彩销售排行 浙江十一选五开奖走势号码 秒速时时彩精准计划 快乐时时彩五星计划 北京多乐彩合法吗 内蒙古快三49期快赢网 青海快3走势图今天预测 排列三试机号 球探网足球即时比分 快乐十分任四高招 排列三带坐标走势 极速11选5单号不出最多多少期