nginx + php 安装与整合

环境:

Linux moban 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

1、我们这里使用的php是5.3.27版本,在企业中一般是5.2.17这个比较经典的版本。
2、安装之前我们要确认mysql和nginx已经安装,运行时没有问题的,最好检查一遍。

3、检查相关的包是否安装:
    rpm -qa zlib libxml libjpeg freetype libpng gd  curl
libiconv  zlib-devel libxml2-devel     libjpeg-devel freetype-devel
libpng-devel gd-devel curl-devel
    不装不影响安装,但是将来网站使用的时候会出现问题
    yum
install zlib libxml libjpeg freetype libpng gd  curl libiconv 
zlib-devel         libxml2-devel libjpeg-devel freetype-devel libpng-devel
gd-devel curl-devel -y

4、安装字符集转换库相关,是一个命令; 注:必须存在devel
    tar zxf libiconv-1.14.tar.gz
    cd libiconv-1.14
    ./configure --prefix=/usr/local/libiconv
    make
    make install
    cd ../

5、添加一个加密相关的库
    wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-    2.5.8.tar.gz?modtime=1171868460&big_mirror=0"
    tar zxf libmcrypt-2.5.8.tar.gz
    cd libmcrypt-2.5.8
    ./configure
    make
    make install
    sleep 2
    /sbin/ldconfig
    cd libltdl/
    ./configure --enable-ltdl-install
    make
    make install
    cd ../../

6、安装mhash加密扩展库

wget "http://downloads.sourceforge.net/mhash/mhash-0.9.9.9.tar.gz?modtime=1175740843&big_mirror=0"
    tar zxf mhash-0.9.9.9.tar.gz
    cd mhash-0.9.9.9/
    ./configure
    make
    make install
    sleep 2
    cd ../

rm -f /usr/lib64/libmcrypt.*
    rm -f /usr/lib64/libmhash*
    ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
    ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
    ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
    ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
    ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
    ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
    ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
    ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
    ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
    ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config

7、另一个加密库
    wget "http://downloads.sourceforge.net/mcrypt/mcrypt-2.6.8.tar.gz?modtime=1194463373&   big_mirror=0"
    tar zxf mcrypt-2.6.8.tar.gz
    cd mcrypt-2.6.8/
    /sbin/ldconfig
    ./configure LD_LIBRARY_PATH=/usr/local/lib
    make
    make install
    cd ../
    sleep 2

8、yum install libxslt* -y

----------------------------------------上述准备完成后-------------------------------

9、解压php : tar xf php-5.3.27.tar.gz
            pwd
            /root/php-5.3.27
   配合nginx编译:./configure \
                --prefix=/application/php5.3.27 \
                --with-mysql=/application/mysql \
                --with-iconv-dir=/usr/local/libiconv \
                --with-freetype-dir \
                --with-jpeg-dir \
                --with-png-dir \
                --with-zlib \
                --with-libxml-dir=/usr \
                --enable-xml \
                --disable-rpath \
                --enable-safe-mode \
                --enable-bcmath \
                --enable-shmop \
                --enable-sysvsem \
                --enable-inline-optimization \
                --with-curl \
                --with-curlwrappers \
                --enable-mbregex \
                --enable-fpm \
                --enable-mbstring \
                --with-mcrypt \
                --with-gd \
                --enable-gd-native-ttf \
                --with-openssl \
                --with-mhash \
                --enable-pcntl \
                --enable-sockets \
                --with-xmlrpc \
                --enable-zip \
                --enable-soap \
                --enable-short-tags \
                --enable-zend-multibyte \
                --enable-static \
                --with-xsl \
                --with-fpm-user=nginx \
                --with-fpm-group=nginx \
                --enable-ftp

关注:Thank you for using PHP.表示没有问题。

继续:make && make install

报错: libmysqlclient.so.18: cannot open shared object file: No such file or directory
           make: *** [ext/phar/phar.php] Error 127

解决:  find / -name "libmysqlclient.so.18"
            /home/oldboy/tools/mysql-5.5.32-linux2.6-x86_64/lib/libmysqlclient.so.18
            /application/mysql-5.5.32-linux2.6-x86_64/lib/libmysqlclient.so.18

把路径/home/oldboy/tools/mysql-5.5.32-linux2.6-x86_64/lib/ 、/application/mysql-5.5.32-linux2.6-x86_64/lib/追加到/etc/ld.so.conf里用ldconfig生效。

报错:Generating phar.phar
            chmod: 无法访问"ext/phar/phar.phar":

解决:mkdir ext/phar/phar.phar -p

如:echo $?返回为0 即编译成功。

10、创建软链接:ln -s /application/php5.3.27/ /application/php

11、拷贝配置文件:cp php.ini-production  /application/php/lib/php.ini

12、启动文件重命名:mv /application/php/etc/php-fpm.conf.defult  php-fpm.conf

13、启动php:/application/php/sbin/php-fpm
             (-t 检查语法)

14、查看php的9000端口是否成功: netstat -lntup|grep php-fpm

-----------------------------------整合nginx------------------------------------

编辑nginx的配置文件:

vi ../nginx-1.6.2/conf/extra/blog.conf

server {
        listen       8000;
        server_name  blog.etiantian.org;
            root   html/blog;
            index  index.php index.html index.htm;
            access_log  logs/blog_access.log;
    location ~ .*\.(php|php5)?$
    {
     fastcgi_pass  127.0.0.1:9000;
     fastcgi_index index.php;
     include fastcgi.conf;

    }
    }

vi nginx.conf

server {
            listen       80;
            server_name  blog.etiantian.org;
            root   html/blog;
            index  index.php index.html index.htm;
            access_log  logs/blog_access.log;
        location ~ .*\.(php|php5)?$
        {
         fastcgi_pass  127.0.0.1:9000;
         fastcgi_index index.php;
         include fastcgi.conf;
        }
        }

创建index.php文件。

<?php
    phpinfo ();
    ?>

检查语法重启nginx服务。

访问即可。~

时间: 2024-11-01 11:04:06

nginx + php 安装与整合的相关文章

CentOS单机安装FastDFS&amp;整合Nginx

单机安装 一 准备工作 准备linux服务器或虚拟机,这里是虚拟机,操作系统CentOS 6.4 Tracker 和 Storage 安装在一台机器上 FastDFS 5.08版本 1,准备软件 软件下载:http://sourceforge.net/projects/fastdfs/files/               文中用到的 https://pan.baidu.com/s/1IeZqzt6Gc5Yc34RMwew3nQ     提取码:7dvf  2,安装gcc FastDFS是C语

Nginx与php的整合

"Nginx与php的整合"与"apache与php的整合"有所不同,apache是把php当作自己的一个模块进行启动:而nginx是把http请求变量(如get,usr_agent等)和请求的上下位原模原样的转发给php进程,即php是独立的进程,同时保持与nginx进行通信,这样的工作方式叫fastcgi.php进程的端口是9000. 所以说,apache的php不能用于nginx. 准备工作 1.首先请到php的官方网站里下载php.(注意!截止本文的时候,请

Nginx编译安装,启动,停止,升级。

1.简单介绍下Nginx Nginx是一款轻量级的web服务器和反向代理服务器,它使用了epoll的I/O模型,也就是事件触发I/O模型,减少了进程的生成切换所消耗的系统资源(CPU的压力减少,内存的占用也会减少),可以达到很高的并发请求.它是一款开源软件,企业成本降低,它的使用配置也比较简单,同时支持Rewrite,作为反向代理的时候可以检查后端的Web服务器的健康状况,能够支持热部署. 2.Nginx安装,重启,升级,停止. 环境是Centos系统,通过www.nginx.org下载需要的源

linux下nginx的安装

以Red Hat Enterprise Linux 5为例进行讲解. 相关系列: linux下jdk的安装 linux下ant的安装 linux下redis的安装 linux下svn的安装 linux下nginx的安装 linux下graphviz的安装 linux下doxygen的安装 安装nginx版本为0.8.36 一.下载nginx 下载地址:http://www.nginx.org/ 选择nginx-0.8.36 将该下载包拷贝到/usr/local/下(随意了,找个地方就好) 二.安

深刻理解Nginx之Nginx完整安装

1.   Nginx安装 1.1预先准备 CentOS系统下,安装Nginx的库包依赖.安装命令如下: sudo yum groupinstall "DevelopmentTools" sudo yum install pcre pcre-devel sudo yum install zlib zlib-devel yum install perl-ExtUtils-Embed sudo yum install openssl openssl-devel 1.2 安装 最重要的特性和基

nginx的安装

nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:yum install gcc-c++ n  PCRE PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装

nginx 的安装

一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.openssl-devel.pcre-devel和zlib-devel 所以执行如下命令安装 [html] view plaincopy $   yum install gcc-c++ $   yum install pcre pcre-devel $   yum install zlib zlib-devel $   yum install openss

Nginx基础学习(一)&mdash;Nginx的安装

一.Nginx介绍 1.什么是Nginx?      Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu.内存等资源消耗却非常低,运行非常稳定.   2.Nginx的应用场景 (1)HTTP服务器      Nginx是一个http服务可以独立提供http服务.可以做网页静态服务器.   (2)虚拟主机      可以实现在一台服务器虚拟出多个网

Ubuntu中Nginx的安装与配置

Ubuntu中Nginx的安装与配置 1.Nginx介绍 Nginx是一个非常轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器. 2.对PHP支持 目前各种web 服务器对PHP的支持一共有三种: (1)通过web 服务器内置的模块来实现,例如Apache的mod_php5,类似的Apache内置的mod_perl 可以对perl支持. (2)通过CGI来实现,这个就好比之前per