season22 发表于 2018-11-16 06:06:42

nginx和FastCGI整合

  nginx+fastcgi安装
  nginx安装:
  # nginx-1.4.2.tar.gz
  # libevent-1.4.13-stable.tar.gz
  yum installpcre-developenssl-devel
  cd /usr/local/src
  tarzxvfnginx-1.4.2.tar.gz
  cdnginx-1.4.2
  ./configure --prefix=/usr/local/nginx--sbin-path=/usr/sbin/nginx--conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log--http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid--user=nginx--group=nginx--with-http_ssl_module--with-http_flv_module--with-http_gzip_static_module--with-http_stub_status_module    --with-http_gunzip_module--with-http_perl_module   --http-client-body-temp-path=/var/tmp/nginx/client/--http-proxy-temp-path=/var/tmp/nginx/proxy/--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi--http-scgi-temp-path=/var/tmp/nginx/scgi--with-pcre
  make
  make install
  #####################################################################
  FastCGI的安装
  yum installlibxml2-developenssl-devel bzip2-devel
  cd /usr/local/src
  tarzxvfphp-5.4.13.tar.gz
  cd /usr/local/src/ php-5.4.13
  ./configure --prefix=/usr/local/php--enable-fpm--with-openssl    --enable-mbstring--enable-sysvshm--with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl   --enable-sockets--with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml
  --with-mysql --with-mysqli
  make
  make test
  make install
  #为php提供配置文件:
  # cp php.ini-production /etc/php.ini
  #为php-fpm提供Sysv init脚本,并将其添加至服务列表:
  # cp sapi/fpm/init.d.php-fpm/etc/rc.d/init.d/php-fpm
  # chmod +x /etc/rc.d/init.d/php-fpm
  # chkconfig --add php-fpm
  # chkconfig php-fpm on
  为php-fpm提供配置文件:
  # cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
  编辑php-fpm的配置文件:
  # vim /usr/local/php/etc/php-fpm.conf
  配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
  pm.max_children = 150
  pm.start_servers = 8
  pm.min_spare_servers = 5
  pm.max_spare_servers = 10
  pid = /usr/local/php/var/run/php-fpm.pid
  接下来就可以启动php-fpm了:
  # service php-fpm start
  使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
  # ps aux | grep php-fpm
  ######################################################
  nginx和php-fpm配置
  php的配置:
  1. viphp-fpm.conf
  listen_address 192.168.2.22:9000;
  usernobody; 去掉注释
  group nobody; 去掉注释
  2.allow_clients 192.168.2.22
  3.request_terminate_timeout = 0去掉注释
  nginx的配置:
  原样:#location ~ \.php$ {
  #         root         html;
  #         fastcgi_pass   127.0.0.1:9000;
  #         fastcgi_indexindex.php;
  #         fastcgi_paramSCRIPT_FILENAME/scripts$fastcgi_script_name;
  #         include      fastcgi_params;
  #   }
  改为:
  fastcgi_pass   192.168.2.22:9000;
  fastcgi_paramCRIPT_FILENAME$document_root$fastcgi_script_name;
  总结:listen_address 192.168.2.22:9000; | 127.0.0.1:9000
  allow_clients 192.168.2.22;      | 127.0.0.1
  fastcgi_pass   192.168.2.22:9000; | 127.0.0.1:9000
  这三个参数的值必须保持相同

页: [1]
查看完整版本: nginx和FastCGI整合