码迷,mamicode.com
首页 > Web开发 > 详细

一、linux下nginx1.7.8+php5.6.3的环境配置

时间:2015-07-07 18:24:38      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:

部分参考:http://www.cnblogs.com/simpman/p/4151662.html

1、利用linux系统自带的yum命令安装、升级所需的程序库(这一步最好执行一下,反正也没有什么大碍,执行一边就行)

    sudo -s
    LANG=C
    yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers

2、安装nginx1.7.8

  1)首先安装nginx依赖的一下模块

       gzip模块需要zlib库

       rewrite模块需要pcre库(必须)

       ssl功能需要openssl库

       (1)安装pcre库

           方法一:

    获取pcre编译安装包,在http://www.pcre.org/上可以获取相应的版本。然后拷贝到/usr/local/src/目录下
    $ cd /usr/local/
    $ tar -zxvf  pcre2-10.00.tar.gz
    $ cd pcre2-10.00
    $ ./configure
    $ make
    $ make install

            方法二:

    $ cd /usr/local/
    $ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre2-10.20.tar.gz
    $ tar -zxvf  pcre2-10.00.tar.gz
    $ cd pcre2-10.00
    $ ./configure
    $ make
    $ make install

        (2)安装openssl库

             下载地址http://www.openssl.org/source/,方法和上面一样。

        (3)安装zlib库

              下载地址http://www.zlib.net/,方法和上面一样。

   2)安装nginx

       Nginx一般有两个版本,分别为稳定版和开发版,根据需求选择。

       Nginx的安装非常简单。在默认情况下,经过编译安装的Nginx包含了大部分可用模块。可以通过“./configure  --help”选项设置各个模块的使用情况,例如对不需要的http_ssi模块,可通过“--without-http_ssi_module”方式关 闭此模块;同理,如果需要“http_perl”模块,那么可以通过“--with-http_perl_module”方式安装此模块。 “http_perl”模块可以用来启用 Nginx 的 NginxStatus 功能,以监控 Nginx 的当前状态。一下是安装过程:

    $ wget http://nginx.org/download/nginx-1.7.8.tar.gz
    $ tar zxvf nginx-1.7.8.tar.gz 
    $ cd nginx-1.7.8
    $ ./configure --with-http_stub_status_module --prefix=/usr/local/nginx
    $ make
    $ make install

      注意:如果安装时找不到上述依赖模块,使用--with-openssl=<openssl_dir>、--with-pcre=<pcre_dir>、--with-zlib=<zlib_dir>指定依赖的模块目录。

      》》》》》》》》》到此,Nginx完成安装。

      查看管理Nginx的帮助。

    $ /usr/local/nginx/sbin/nginx -h

      我们可以在浏览器中输入http://192.168.1.204:80查看nginx是否正常运行,默认为80端口

      或

      执行命令:$ ps -A|grep nginx     #如果有返回结果,说明nginx在运行,服务已经启动

           $ /usr/local/nginx/sbin/nginx  #启动nginx(方法一)

      或

      执行命令$ netstat -ano|grep 80   #查看80端口占用状态判断nginx是否启动,前提是

           80端口只被nginx使用

  3)配置文件

     (1)nginx.conf文件(主配置文件)

         配置文件在/nginx/conf/目录下面,其中nginx.conf为主配置文件。

         vi nginx.conf 

         nginx.conf中,

         最上面,user www www   #设置nginx运行的用户和组

         #全局错误日志及PID文件###

         pid logs/nginx.pid

         error_log logs/error.log

         ##########################

         worker_process表示工作进程的数量,一般设置为cpu的核数

         worker_connections表示每个工作进程的最大连接数

         server{}块定义了虚拟主机

              listener 监听端口

              server_name 监听域名

              location{}是用来为匹配的URI进行配置,location / {}匹配任何查询,所以请求都以/开头

                     root指定对应uri的资源查找路径,这里html为相对路径,完整的为/usr/local/nginx/html/

                     Index指定首页index文件的名称,可以配置多个,以空格分开。按顺序查

              **根路径为/nginx/html/,该目录下:

              50x.html为服务器错误重定向

     (2)mime.types文件

         文件扩展名与文件类型映射表,nginx根据映射关系,设置http请求响应头的

         Content-Type值。当在映射表中找不到时,使用nginx.conf文件中default-type指定的默认值。

         eg,在nginx.conf文件中,

               include mime.types;

               default_type application/octet-stream

     (3)fastcgi_params文件

         Nginx配置Fastcgi解析时会调用fastcgi_params配置文件来传递服务器变量,这样

         CGI中可以获取到这些变量的值

     (4)fastcgi.conf文件

         相对fastcgi_param文件,只多出了一行:

         fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

         这样做是为了避免许多人在定义SCRIPT_FILENAME时使用硬编码的方式

     (5)uwsgi_params文件

         与fastcgi_params一样,只不过前缀使用uwsgi_param

     (6)scgi_params文件

         与fastcgi_params一样,只不过前缀使用scgi_param

     (7)koi-utf文件、koi-win文件、win-utf文件

         这三个文件都是与编码转换映射文件,用于在输出内容到客户端时,将一种编码转

         换到另一种编码

         Koi-win: charset_map koi8-r <-->windows-1251

         Koi-utf : charset_map koi8-r <-->utf-8

         Win-utf: charset_map windows-1251 <-->utf-8

3、安装PHP

    1)安装

      因为在php5.3.3以后php-fpm已经加入到php内核中。老版本中php-fpm是以patch的方式安装。我们安装php-5.6.3版本。

    $ wget http://cn2.php.net/get/php-5.6.3.tar.gz/from/this/mirror
    $ tar zxvf php-5.6.3.tar.gz 
    $ cd php-5.6.3
    $ ./configure --enable-fpm  --with-mysql=/usr/local/mysql --prefix=/usr/local/php-5.6.3 --without-pear

      这里最好加上 --without-pear  ,防止下面操作报错。

    $ make

      如果执行 make 操作时最后报 make: ***[sapi|cli|php] Error 1  的错误,那就执行 make ZEND_EXTRA_LIBS=‘-liconv‘命令。

    $ make install

      执行上面命令如果报 make: ***[ext|phar|phar.php] Error 127 的错误,那就执行一下操作:

$ vi /etc/ld.so.conf    ##在该文件中加入一行:/usr/local/lib
    然后运行:
    $ /sbin/ldconfig

      最后,

$ cp php.ini-development  /usr/local/php-5.6.3/php.ini
    $ cp /usr/local/php-5.6.3/etc/php-fpm.conf.default  /usr/local/php-5.6.3/etc/php-fpm.conf

     》》》》》》至此,PHP5.6.3安装完成!

    2)配置    

    如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。
    将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为 0
    $ vim /usr/local/php/php.ini
    $ cgi.fix_pathinfo=0

        启动php-fpm:

    $ /usr/local/bin/php-fpm
    查看php-fpm支持的启动选项
    $ /usr/local/bin/php-fpm -h

        让Nginx支持php:

        修改nginx.conf, vim /usr/local/nginx/conf/nginx.conf

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

location ~* \.php$ {
    fastcgi_index   index.php;
    fastcgi_pass    127.0.0.1:9000;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME              $document_root$fastcgi_script_name;
    fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
}

          其中红色为修改部分。

          如果修改的不对,会报404错误。

 重新启动Nginx,就可以使用了。技术分享

一、linux下nginx1.7.8+php5.6.3的环境配置

标签:

原文地址:http://www.cnblogs.com/yxpblog/p/4627509.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!