首先建立存放网页文件的目录,执行 mkdri /usr/local/server/www 
然后进入到该目录中 cd /usr/local/server/www
然后创建一个测试文件: phpinfo.php
 
然后,开始配置Nginx,进入 /usr/local/server/nginx/conf
将nginx.conf 复制一份命名为:nginx.conf.rxbak
 
然后修改
nginx.conf:
index  index.html index.htm;
改为:
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  /scripts$fastcgi_script_name;
        #    include       
fastcgi_params;
#}
改为:

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;
}

《2015年12月24日 修正》

安装完成后发现没有curl,参考 http://www.centoscn.com/image-text/config/2015/0521/5490.html

整理如下:

##源码编译安装curl:

安装cURL

wget http://curl.haxx.se/download/curl-7.42.1.tar.gz

tar -zxf curl-7.42.1.tar.gz

./configure --prefix=/usr/local/curl(可选,默认安装在/usr/local/bin目录下)

make & make install

解压PHP源码包,并进入到ext/curl目录
安装
 /usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-curl=DIR(默认路径时无需指定)
make&&make install
会在/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525生成curl.so文件

进入/usr/local/php,将源码包的php.ini-development 复制到/usr/local/php/php.ini
然后再php.ini 最后加入一行:extension=curl.so 就可以了。

接下来,安装memcache 和 memcached
本来要用编译安装的,但最后还是失败。幸运的是,我自己找出了一个很好的办法。如下:
可参考:http://www.111cn.net/sys/linux/64048.htm

安装memcache:
进入php安装好的目录bin下执行:
./pecl install memcache

可能会出错:
Cannot find autoconf. Please check your
autoconf installation and the
$PHP_AUTOCONF environment variable. Then, rerun this script.
ERROR: `phpize' failed
解决办法:sudo apt-get install autoconf

然后再执行刚才的命令:

输入
yes

这里提示要在 php.ini 添加 extension=memcache.so

注意:此时需要知道php.ini 应该在什么位置,在phpinfo中可以查看到:

php.ini-development和php.ini-production是系统推荐的php.ini设置参数,前者是为开发环境推荐的,允许调试、少占资源的原则,后者是为实际上线后的产品环境推荐的,禁止报错、提高性能的原则。

在之前编译的源码包中,找到 php.ini-production

复制到
/usr/local/server/php

如果有问题,试试: 复制 /etc/php5/cli/php.ini 到
/usr/local/server/php/php.ini

现在开始给php.ini 最后添加
extension=memcache.so
保存退出。
然后重启 php-fpm 和 nginx

查看
phpinfo

接下来,同样的,很简单,安装 memcached:
进入php安装好的目录bin下执行:
./pecl install memcached
之后一系列出错,可上次明明成功。哎,无语!

最后没办法,编译安装吧!
先把下面这些乱七八糟的先安装了再说:
apt-get install -y build-essential gcc g++ make m4 libpcre3 libpcre3-dev
libcurl4-gnutls-dev libjpeg62-dev libpng12-dev libmemcached-dev
sudo apt-get install libevent-dev
sudo apt-get install libsasl2-dev
sudo apt-get install m4
 
① 安装 libevent
tar zxvf libevent-2.0.20-stable.tar.gz
cd libevent-2.0.20-stable/
sudo ./configure --prefix=/usr/local/libevent
make
make install

② 安装 libmemcached
tar zxvf libmemcached-0.42.tar.gz
cd libmemcached-0.42/
./configure --prefix=/usr/local/libmemcached --with-memcached --enable-sasl
make
make install

③ 安装 memcached
tar zxvf memcached-2.2.0.tgz
cd memcached-2.2.0/
/usr/local/php/bin/phpize
./configure --enable-memcached --with-php-config=/usr/local/php/bin/php-config
--with-libmemcached-dir=/usr/local/libmemcached --enable-memcached-sasl
make
make install

安装完成:

有的说是,在php.ini 后面添加上面截图的。但是我加了  extension=memcached.so ,也成功了!真的很无语!!!

配置nginx
支持 ThinkPHP
在 nginx 下面用 ThinkPHP 做开发,每次输入
类似 /test/tp/index.php/Index/index 的
URI , 提示没有找到该页
在网上搜了一下,原来 nginx 原来不支持 pathinfo
模式,需要自己配置
在配置文件的 server 块中,加入以下内容:

# ThinkPHP 的 pathinfo 支持 -------------- BEGIN
location /qgzs_apiv2/app/ {
index index.php;
if (!-e $request_filename) {
rewrite ^/qgzs_apiv2/app/(.*)$/qgzs_apiv2/app/index.php/$ last;
break;
}
}
location ~ .+\.php($|/) {
set $script $uri;
set $path_info "/";
if ($uri ~ "^(.+\.php)(/.+)") {
set $script $;
set $path_info $;
} fastcgi_pass 127.0.0.1:;
fastcgi_index index.php?IF_REWRITE=;
include fastcgi_params;
fastcgi_param PATH_INFO $path_info;
fastcgi_param SCRIPT_FILENAME $document_root/$script;
fastcgi_param SCRIPT_NAME $script;
}
# ThinkPHP 的 pathinfo 支持 -------------- END

其中 /qgzs_apiv2/app/ 是我项目的路径
保存配置之后,重启 nginx ,配置成功
直接支持类似于 /Index.html 这样的伪静态模式

LNMP搭建04 -- 配置Nginx支持PHP的更多相关文章

  1. Ubuntu下安装LNMP之php7的安装并配置Nginx支持php及卸载php

    据了解,php7是比之前的版本性能快很多的.http://php.net/get/php-7.2.2.tar.gz/from/a/mirror 安装前也可提前将相关依赖库安装好,或者在安装php时若安 ...

  2. Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

    Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --- ...

  3. centos下配置nginx支持php

    添加nginx 默认主页index.php vim .../etc/nginx/conf.d/default.conf location / { root   /usr/share/nginx/htm ...

  4. 配置nginx支持Https

    配置nginx支持Https一定要先使用stop停止nginx然后重新代开不能使用reload 一:安装letsencrypt 1.从git上克隆下来git clone https://github. ...

  5. Linux - 配置php-fpm 以及 配置nginx支持php

    配置php-fpm [root@localhost php7]# which php-fpm /usr/local/php7/sbin/php-fpm [root@localhost php7]# p ...

  6. ubantu18.04 配置nginx与uwsgi(前后端分离)

    ubantu18.04 配置nginx与uwsgi   一.首先先安装nginx静态服务 先更新 sudo apt-get update 1.安装gcc g++的依赖库 sudo apt-get in ...

  7. 配置Nginx支持SSL SNI(一个IP绑定多个证书) 以及Haproxy实现多域名证书

    概述 传统的每个SSL证书签发,每个证书都需要独立ip,假如你编译openssl和nginx时候开启TLS SNI (Server Name Identification) 支持,这样你可以安装多个S ...

  8. CentOS 下用的是lnmp 的包配置Nginx 下的CI伪静态(搞爽了)

    server { listen ; server_name cy.com; index index.html index.htm index.php default.html default.htm ...

  9. 配置nginx,支持php的pathinfo路径模式

    nginx模式默认是不支持pathinfo模式的,类似index.php/index形式的url会被提示找不到页面.下面的通过正则找出实际文件路径和pathinfo部分的方法,让nginx支持path ...

随机推荐

  1. 利用PHPExcel导出Excel并设置Excel格式以及数据源

    浏览:23969 发布日期:2013/07/24 分类:技术分享 代码有点长,读起来有点累.先来个截图 导出的Excel太宽了,所以将后面的列宽重新调整了再截的图 功能包括: 1.设置单元格格式,包括 ...

  2. 如何完成域名和ip地址的绑定

    首先,我们要知道什么是域名绑定,所谓域名绑定就是是指已选定的域名与服务器主机的空间绑定,实在是在域名注册查询上设置或者WEB服务器上设置,使一个域名被指导向一特定空间,从而使访问者访问你的域名的时候就 ...

  3. 手把手教你搭建 vue 环境

    第一步 node环境安装 1.1 如果本机没有安装node运行环境,请下载node 安装包进行安装1.2 如果本机已经安装node的运行换,请更新至最新的node 版本下载地址:https://nod ...

  4. Shell常用命令整理

    http://blog.csdn.net/junmail/article/details/4602745 1.   ls: 类似于dos下的dir命令 ls最常用的参数有三个: -a -l -F. l ...

  5. MyBatis之基于XML的动态SQL

    先说下我的梦想,大学的时候一直想着是能开店卖胡辣汤,到目前依然还是我的梦想,上周一家出版社联系我问我有没有时间可以合作出书,这也是我的梦想之一,想了想还是放弃了,至少觉得目前不行,毕竟工作还不到五年, ...

  6. 使用wrk进行性能测试

    1 wrk介绍 wrk是一款现代化的HTTP性能测试工具,即使运行在单核CPU上也能产生显著的压力.它融合了一种多线程设计,并使用了一些可扩展事件通知机制,例如epoll and kqueue. 一个 ...

  7. libpng+VS2012(VS2015)的使用

    OpenCV保存PNG图像底层调用的就是libpng库,简要说一下libPNG库的单独使用. 1.首先需要下载两个库,一个是libpng,一个是zlib libpng库下载地址:http://www. ...

  8. 深入理解final关键字以及一些建议

    引子:一说到final关键字,相信大家都会立刻想起一些基本的作用,那么我们先稍微用寥寥数行来回顾一下. 一.final关键字的含义 final是Java中的一个保留关键字,它可以标记在成员变量.方法. ...

  9. 安装新的int 9中断例程

    body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

  10. I like NetWorld

    liangfengbo.com ibobobo.com https.net.cn bobobo.com.cn scode.net scode.cc liangbolin.com linhe.cc li ...