Ubuntu 安装 PHP5.4 和 Nginx 并以PHP fast cgi模式启动

阅读更多
编译安装PHP 所需的支持库
注:php在5.3.3以后的版本都已经集成了php-fpm

tar zxvf libiconv-1.11.tar.gz
cd libiconv-1.11/
./configure --prefix=/usr/local
make
make install
cd ../

tar zxvf freetype-2.3.5.tar.gz
cd freetype-2.3.5/
./configure
make
make install
cd ../

tar zxvf libpng-1.2.20.tar.gz
cd libpng-1.2.20/
./configure
make
make install
cd ../

tar zxvf jpegsrc.v6b.tar.gz
cd jpeg-6b/
./configure
make
make install
make install-lib
cd ../

#----If your system was install libxml2, you do not need to install it.----
#tar zxvf libxml2-2.6.30.tar.gz
#cd libxml2-2.6.30/
#./configure
#make
#install
#cd ../

tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure
make
make install
/sbin/ldconfig
cd libltdl/
./configure --enable-ltdl-install
make
make install
cd ../../

tar zxvf mhash-0.9.9.tar.gz
cd mhash-0.9.9/
./configure
make
make install
cd ../

cp /usr/local/lib/libmcrypt.* /usr/lib
ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2

tar zxvf mcrypt-2.6.6.tar.gz
cd mcrypt-2.6.6/
./configure
make
make install
cd ../

apt-get install libcurl4-gnutls-dev
apt-get install libjpeg-dev
apt-get install libpng-dev


配置,编译,安装 PHP

./configure --prefix=/usr/local/server/php --with-config-file-path=/usr/local/server/php/etc --with-mysql=/opt/mariadb/ --with-mysqli=/opt/mariadb/bin/mysql_config --with-iconv-dir=/usr/local --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath  --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex  --enable-fpm  --enable-mbstring --with-mcrypt --with-gd --with-freetype-dir --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear

ln -s /opt/mariadb/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18

make && make install


安装 Nginx

从nginx.org下载nginx源码包


./configure

apt-get install libpcre3-dev

make && make install


配置 nginx

       # 编辑nginx的配置文件nginx.conf

       vim /usr/local/nginx/conf/nginx.conf
       root   "/home/bob/php/workspace/";      #指定PHP文件目录
       index index.html index.htm index.php;

       # location / {
       #     root   html;
       #     index  index.html index.htm;
       # }

       location ~ .*\.(php|php5)?$   # URI参数可使用正则表达式,前面这句话代表,匹配所有包涵php的请求
           {
                 #fastcgi_pass  unix:/tmp/php-cgi.sock;
                  fastcgi_pass  127.0.0.1:9000;
                  fastcgi_index index.php;
                  include fastcgi.conf;
           }


配置 PHP fast cgi模式

cp /usr/local/server/php/etc php-fpm.conf.default php-fpm.conf


start nginx
./usr/local/nginx/sbin/nginx


start php
./usr/local/server/php/sbin/php-fpm


验证PHP和Nginx是否正确启动

# netstat -ntlp
激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      6624/nginx      
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      1485/dnsmasq    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      5048/sshd       
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1236/cupsd      
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      6689/php-fpm.conf)
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10960/mysqld    
tcp6       0      0 :::22                   :::*                    LISTEN      5048/sshd       
tcp6       0      0 ::1:631                 :::*                    LISTEN      1236/cupsd 


在 /home/bob/php/workspace/ 路径下创建一个index.php,内容如下:



在本机浏览器上输入:http://localhost

浏览器将显示 PHP fast cgi finished!

你可能感兴趣的:(php,ubuntu,nginx,cgi)