zoukankan      html  css  js  c++  java
  • centos下安装nginx和php-fpm

      安装这两个花了大约七个小时,简直呵呵,安装nginx就是直接 yum install nginx ,但发现一打开php文件就是直接下载该php文件,也就是不能识别php文件,解决这个花了好久,但其实看到别人写的正确的文章,其实加起来的时间就是十几分钟就可以了,网上好多文章可能是系统不同,部分文件也会不同,然后花了好久渐渐弄明白。本篇文章大部分引用seanchan 的 这篇博客 ,但是有部分链接失效,并且文件有些不同,我只是在该文章进行完善。

      进入正文

      开始安装Nginx和PHP-FPM之前,你必须卸载系统中以前安装的Apache和PHP。用root登录输入下面的命令:

    # yum remove httpd* php*

    增加额外资源库

        默认情况下,CentOS的官方资源是没有php-fpm的, 但我们可以从Remi的RPM资源中获得,它依赖于EPEL资源。我们可以这样增加两个资源库:

    # yum install yum-priorities -y  
    # rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    # yum install http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

    注意  rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 是下载EPEL资源,原文中的 epel-release-6-7.noarch.rpm ,但是评论中有人指出6-7已经不能用了,改成 epel-release-6-8 就能用,如果我给的6-8版本不能用,大家可尝试改成6-8以上的版本试试。

      http://rpms.famillecollet.com/enterprise/remi-release-6.rpm 是下载Remi资源,原文中的链接也不能用了,我用的是从 这篇博客中 中获取的。

    EPEL成功样例

    Retrieving http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
    warning: /var/tmp/rpm-tmp.vfNOg4: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
    Preparing...                ########################################### [100%]
       1:epel-release           ########################################### [100%]

    Remi下载成功样例(我只选取最后的部分,出现了Complete!即表示成功了)

    Installed:
      remi-release.noarch 0:6.6-1.el6.remi                                          
    
    Complete!

    安装Nginx

    输入下列命令

    # yum install nginx

    这个一般不会有什么问题,就不取安装成功的注释了。

    如果你想在系统启动时自动运行nginx,输入下列命令:

    # chkconfig --level 345 nginx on  

    第一次启动nginx,输入下列命令:

    # /etc/init.d/nginx start 

    我个人比较喜欢  service nginx start 

    安装PHP-FPM

    输入下列命令:

    # yum --enablerepo=remi install php php-fpm 

    安装过程中选择yes|no的情况下,一律选yes

    安装成功样例

    Installed:
      php.i686 0:5.4.45-1.el6.remi         php-fpm.i686 0:5.4.45-1.el6.remi        
    
    Dependency Installed:
      httpd.i686 0:2.2.15-47.el6.centos   httpd-tools.i686 0:2.2.15-47.el6.centos  
      php-cli.i686 0:5.4.45-1.el6.remi    php-common.i686 0:5.4.45-1.el6.remi      
    
    Complete!

    如果你想在系统启动时自动运行php-fpm,输入下列命令:

    # chkconfig --level 345 php-fpm on

    PHP仅安装了核心模块,你很可能需要安装其他的模块,比如MySQL、 XML、 GD等等,你可以输入下列命令:

    # yum --enablerepo=remi install php-gd php-mysql php-mbstring php-xml php-mcrypt

    第一次启动php-fpm,输入下列命令:

    # /etc/init.d/php-fpm restart 

    输出样例

    Starting php-fpm:                                          [ OK ]  

    配置PHP-FPM和Nginx,让他们一起工作

    nginx的配置文件在/etc/nginx/nginx.conf,输入下列命令编辑这个文件:
    # vi /etc/nginx/nginx.conf 

    注意,一般这个文件内不会把文件全部写在里面,打开该文件可以看到在倒处第二行写了 include /etc/nginx/conf.d/*.conf; ,那我们就去 nginx/conf.d 里面看看有什么文件,发现有 default.conf   example_ssl.conf 这两个文件,就是 default.conf ,如果是其它的系统,文件的地址可能不一样,但大部分都是 default.conf ,打开该文件进行配置

    像下面这样编辑取消注释:

    ...
        location / {
                root   /usr/share/nginx/html;
                index  index.html index.htm index.php;
            }
            ...
        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;
            }
            ...

      /usr/share/nginx/html; 是你安装nginx时默认的代码文件根目录

     index index.html index.htm index.php; 相比源文件中加入乱 index.php 

     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 相比源文件是把 $script 换成了 $document_root 

    重启Nginx会重新读取配置文件,输入

     # /etc/init.d/nginx reload  

    现在在document root目录下建立下列PHP文件

     # vi /usr/share/nginx/html/info.php  

    文件内容如下:

    <?php
    phpinfo();
    ?>

    这时在浏览器中输入

    localhost/info.php

    如果出现 file not found 

    那就回到 /etc/nginx/conf.d/default.conf 中把我们原先设定的 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 中的 $document_root 换成 /usr/share/nginx/html ,也就是可能程序没有读取到nginx根目录的文件,这时,你就把全路径写上,然后在重新加载nginx 

     # /etc/init.d/nginx reload 

    这时再刷新 localhost/info.php ,就会出现下面的页面:

    好了。安装成功!

    最后再瞎扯一句,这个下午我看了好多文档,发现很多都是错误了,配置别人看不见你是怎么 配置的,下载不知道你是去哪下载的,就是贴一堆的代码上去,我知道你是自己看得懂就好,可是过几个月呢,你还是回会忘掉是吧。以前我也有这毛病,我觉得必须要改改了。这次我把详细的过程都写了,可能还是有不足的地方,但我尽量写的让开始配置的人懂得怎样修改,怎样配置。

    ################################################

    2015/11/1 更新,知道我看到了 这篇文章(CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)) < ps: 我会把该文章做个备份>,哭的心都有-_-|||,七八个小时其实只要差不多半小时就足矣,今晚按照该文章的centos系统版本为6.7 64bit。

    ################################################

    最后在附上锤子科技 UI 设计总监方迟,视觉设计总监罗子雄说的话

     

  • 相关阅读:
    easyexcel快速入门
    9个Vue.js库
    9个你应该知道的顶级JavaScript库
    7个使用JavaScript构建数据可视化的实用工具库
    html 无缝轮播图完整代码
    JavaScript编程语言基础语法总结
    html布局 百分比自适应框架网页模板
    js、jQuery实现文字上下无缝轮播、滚动效果
    React中实现条件渲染的方法
    使用JavaScript / jQuery为网站创夜间/高亮模式
  • 原文地址:https://www.cnblogs.com/jacson/p/4805681.html
Copyright © 2011-2022 走看看