linux下nginx整合php

在nginx中药使用php可不像apache那样,因为apache是把php当做自己的一个模块来启动的,

而我们的nginx是把http请求转发给php程序,也就是说,php和nginx是相互独立的的进程

php于nginx的通讯,我们称为fastcgi运行方式。

下面我们来说说nginx怎样整合php(nginx的安装可以看看我的文章“linux下编译安装nginx”)。

1、首先,我们应该要获取php的安装包。

去php官网下载:http://www.php.net/downloads.php

这里我选的是php5.6

linux下nginx整合php

linux下nginx整合php

将下载好的安装包放在linux目录下(我是放在/root目录下,大家可以随意放置,可以创建一个专门放置安装包的目录。)

2、解压安装包:tar zxvf php-5.6.39.tar.gz

进入到解压后的目录:cd php-5.6.39/

./configure配置: ./configure --prefix=/usr/local/fastphp --with-mysql=mysqlnd --enable-mysqlnd --with-gd --enable-gd-native-ttf --enable-gd-jis-conv --enable-fpm

  (如果在configure的过程中出现了报错,按照错误提示进行操作,一般是一些依赖软件没有安装,使用yum进行安装)

  make

  make install

3、配置一些配置文件。

进入php安装目录:cd /usr/local/fastphp/

  将php配置文件拷贝到 php安装目录中的lib目录下:cp /root/php-5.6.39/php.ini-development ./lib/php.ini

  cp ./etc/php-fpm.conf.default ./etc/php-fpm.conf

启动php:[root@VM_16_2_centos sbin]# ./php-fpm    //其中php-fpm在php安装目录的sbin目录下,直接执行就行了

4、配置nginx.conf文件。

  vi /usr/local/nginx/conf/nginx.conf

在nginx.conf文件中加入红色部分。

server {
listen 80;
server_name localhost;

#charset koi8-r;

#access_log logs/host.access.log main;

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

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

#error_page 404 /404.html;

5、重启nginx。

/usr/local/nginx/sbin/nginx -s reload

6、在nginx的安装目录下的html目录中写一个test.php程序文件。

  <?php

    phpinfo();

  ?>

7、访问。http://www.panchao.com/test.php(我用的是云服务器,有外网ip,在本地电脑配了hosts:111.231.226.228   www.panchao.com 所以能用www.panchao.com 这个域名来访问,如果大家是本地虚拟机的话可以用127.0.0.1/test.php来访问。)我们如果得到这样的结果,则表示我们nginx和php的整合成功了。

linux下nginx整合php

 

  

上一篇:Linux下如何查看定位当前正在运行的Nginx的配置文件


下一篇:字典的update方法