• linux 配置nginx+php-cgi


    一.准备工作

    nginx源码包: http://www.nginx.org/download/nginx-0.7.65.tar.gz

    php源码包:http://ah.down.chinaz.com/201302/php-5.3.22.tar.gz

    安装一些必要的系统软件包

    yum install pcre-devel.i386
    yum install openssl-devel.i386
    yum install libxml2-devel.i386

    要区分64位机跟32位机,

    我的linux 内核是:2.6.32-279.el6.x86_64

    二.安装nginx
    解压nginx
    tar zxvf nginx-0.7.65.tar.gz

    进入nginx源码目录
    cd nginx-0.7.65

    配置nginx编译文件
    ./configure --prefix=/usr/local/nginx

    编译并安装nginx
    make && make install
    nginx的安装目录被设置在 =/usr/local/nginx

    运行nginx
    /usr/local/nginx/sbin/nginx
    nginx 安装初步完成,此时可以用 ip 访问到欢迎界面。(http://IP(linux)).

    安装过程遇到的问题:

    1.pcre包没有安装 执行:yum install pcre-devel.x86_64

    2../configure: error: the HTTP cache module requires md5 functions

    原因是需要OpenSSL library
    解决办法:yum -y install openssl openssl-devel

    三.安装php

    在开始编译前,安装一些php基本的软件包,直接yum安装。
    yum -y install gd curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql mysql-devel
    准备好后,进行php目录进行编译

    1.解压php软件包

    2. ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --enable-debug --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --enable-mbstring --with-curl --with-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config

    如果没有mysql,可以去掉最后两个选项

    3.make && make install

    cp php.ini-development /usr/local/php/lib/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    安装完成后即可启动php了
    /usr/local/php/sbin/php-fpm
    运行后,未提示错误,启动成功。
     

    安装过程中遇到的问题:

    1.configure: error: xml2-config not found. Please check your libxml2 installation.

    解决办法:

    1.yum install libxml2

    2.yum install libxml2-devel -y

    php安装成功

    三.修改配置

    编辑 /usr/local/nginx/conf/nginx.conf
    1.找到 server 片段
    server {
    ......
    }

    2.server_name 的参数修改成自己的域名
    server_name  www.elepin.com;  

    3.root 改成自己要绑定的目录,index指明哪些文件作为首页
    location / {
    root /usr/www;
    index index.html index.htm index.php;
    }

    下面是php-cgi的连接配置,root跟上面的一样, fastcgi_pass,fastcgi_index,include 都默

    认,要改的是 fastcgi_param,参照下面
    location ~ .php$ {
    root /usr/www;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
    include fastcgi_params;
    }

    打开nginx配置文件找到下面这段配置
    vi /usr/local/nginx/conf/nginx.conf
            # location ~ .php$ {
            #    root           html;
            #    fastcgi_pass   127.0.0.1:9000;
            #    fastcgi_index  index.php;
            #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            #    include        fastcgi_param;
            # }
    将这段配置的注释去掉,并将include fastcgi_param改为include fastcgi.conf
    保存重启nginx
    /usr/local/nginx/sbin/nginx -s reload
    默认web目录是html文件夹,在下面新建一个测试文件
    touch /usr/local/nginx/html/test.php
    vi /usr/local/nginx/html/test.php
    写入<?php phpinfo();?>
    保存后,在浏览器中访问该页,如显示php配置信息,则大功告成。

    重启nginx
    killall nginx
    /usr/local/nginx/sbin/nginx

  • 相关阅读:
    find命令排除某些目录或文件
    推荐一个变量调试神器:gospew
    C语言编写Linux终端环境下无缓冲键盘输入 ,并识别上下左右光标键
    .gitignore文件的使用方法(学习总结版)
    为什么考试时不要作弊
    空调除湿和制冷有什么区别
    Git 使用中的一些例子
    强身健体对中国男性来说越发的重要——男性的身体素质依然是国家实力的一种体现
    Git 学习笔记——git checkout
    .gitignore文件的使用方法(学习总结版)—— .gitignore 文件的配合用法
  • 原文地址:https://www.cnblogs.com/moon-in-sky/p/3183977.html
Copyright © 2020-2023  润新知