Home >php教程 >php手册 >Linux下 nginx+php环境搭建

Linux下 nginx+php环境搭建

WBOY
WBOYOriginal
2016-06-06 19:53:42934browse

一、 安装nginx 1. 在/etc/yum.repos.d/ 目录下创建以文件nginx.repo vi /etc/yum.repos.d/nginx.repo 内容如下: [nginx]name=nginx repobaseurl=http://nginx.org/packages/rhel/6/$basearch/gpgcheck=0enabled=1 2. 安装nginx # yum install nginx 二、安

一、 安装nginx

1. 在/etc/yum.repos.d/ 目录下创建以文件nginx.repo

vi /etc/yum.repos.d/nginx.repo

内容如下:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/rhel/6/$basearch/
gpgcheck=0
enabled=1

2. 安装nginx

# yum install nginx

二、安装MySQL

   见 http://blog.sina.com.cn/s/blog_505bf9af01012kkh.html

三、安装php5.2.13和php-5.2.13-fpm-0.5.13

安装php需要安装其他依赖:libxml2和libxml2-devel包

yum installlibxml2

yum install libxml2-devel-y

1. 下载 php-5.2.13.tar.gz 和php-5.2.13-fpm-0.5.13.diff.gz

2. 安装

 # tar zxvfphp-5.2.13.tar.gz 

 gzip -cdphp-5.2.13-fpm-0.5.13.diff.gz | patch -d php-5.2.13 -p1

 # cd php-5.2.13

 # ./configure --prefix=/usr/local/php --enable-fastcgi --enable-fpm --with-mysql=/usr/local/mysql

 # make

 # make install

3. 配置php

cp php.ini-dist /usr/local/lib/php.ini 

4. 管理FastCGI进程

 /usr/local/php/bin/php-cgi--fpm   或者 /usr/local/php/sbin/php-fpm start

建议采用第二种方式启动FastCGI进程。

如果执行 /usr/local/php/sbin/php-fpm start 报错,一般是linux权限问题,请给/usr/local/php目录读写权限。

/usr/local/php/sbin/php-fpm还有其他参数,具体为start|stop|quit|restart|reload|logrotate。
每个启动参数的含义如下 start,启动PHP的FastCGI进程。 

  1. stop,强制终止PHP的FastCGI进程。
  2. quit,平滑终止PHP的FastCGI进程。
  3. restart,重启PHP的FastCGI进程。
  4. reload,重新加载PHP的php.ini。
  5. logrotate,重新启用log文件。

reload是个很重要的参数,它可以在PHP的FastCGI进程不中断的情况下重新加载改动过的php.ini,因此通过php-fpm可以平滑变更FastCGI模式下的PHP设置。

在FastCGI进程启动后,其监听的IP地址和端口也随即启动,可以通过ps和netstat查看相关信息。

 # netstat -antl|grep 9000

 # ps -ef|grep php-cgi 

四、配置Nginx来支持PHP

1.配置/etc/nginx/conf.d/default.conf

 server {
   listen      80;
   server_name  localhost;

    #charsetkoi8-r;
   #access_log /var/log/nginx/log/host.access.log  main;

    location/ {
       root   /etc/nginx/html;
       index  index.html index.htm index.php;
    }

   #error_page 404             /404.html;

    #redirect server error pages to the static page /50x.html
    #
   error_page   500 502 503504  /50x.html;
    location =/50x.html {
       root   /etc/nginx/html;
    }

    # passthe PHP scripts to FastCGI server listening on 127.0.0.1:9000

    location~ \.php$ {
       root          html;
       fastcgi_pass  127.0.0.1:9000;
       fastcgi_index  index.php;
       #fastcgi_param  SCRIPT_FILENAME /scripts$fastcgi_script_name;
       fastcgi_param  SCRIPT_FILENAME /etc/nginx/html$fastcgi_script_name;
       include       fastcgi_params;
    }
}

或者 在/etc/nginx/conf.d 创建一个配置文件testlink.conf,内容为:

server{
    listen 80;
    server_nametestlink.conversant.com.cn;

   location / {

       root  /opt/app/testlink;

       index index.php index.html index.htm;
    }
  # pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000

   location ~ \.php$ {

       root         html;

      fastcgi_pass   127.0.0.1:9000;

      fastcgi_index  index.php;

      #fastcgi_param  SCRIPT_FILENAME /scripts$fastcgi_script_name;

      fastcgi_param  SCRIPT_FILENAME /opt/app/testlink$fastcgi_script_name;

       include      fastcgi_params;
    }
}

2. 启动nginx

# nginx

3. 重新启动 php-fpm

 /usr/local/php/sbin/php-fpmrestart

五、测试Nginx对PHP的解析功能

这里在/etc/nginx/html目录下创建一个phpinfo.php文件,内容如下:

重新启动 php-fpm

/usr/local/php/sbin/php-fpmrestart
重启 nginx

# nginx -s reload

然后通过浏览器访问http://192.168.1.32/,默认会在浏览器显示“Welcometo Nginx!”表示Nginx正常运行。
接着在浏览器中访问http://192.168.1.32/phpinfo.php,如果PHP能够正常解析,会出现PHP安装配置以及功能列表统计信息。

 

至此安装配置nginxphp完成。

 

参考文章: http://ixdba.blog.51cto.com/2895551/806622

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn