当前位置:  技术问答>linux和unix

安装Nginx并在其下安装PHP

    来源: 互联网  发布时间:2016-08-05

    本文导语:  原地址:http://doc.zenw.org/linux/ch02s02.html 文中应用了网络上的部分文章内容,如果有不正确的地方请指出,谢谢 Nginx  安装Nginx  首先要编译安装PHP和PHP-FPM,具体方法在下面,见:编译安装PHP(建议在安装Nginx前进...

原地址:http://doc.zenw.org/linux/ch02s02.html



文中应用了网络上的部分文章内容,如果有不正确的地方请指出,谢谢


Nginx 
安装Nginx 

首先要编译安装PHP和PHP-FPM,具体方法在下面,见:编译安装PHP(建议在安装Nginx前进行)

tar zxvf nginx-0.8.15.tar.gz
cd nginx-0.8.15/
./configure --user=www --group=www --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install


在/usr/local/nginx/conf/目录中创建nginx.conf文件

#备份原来有的配置文件
mv /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.BAK
vi /usr/local/nginx/conf/nginx.conf

内容如下

user  www www;

worker_processes 8;

error_log  /usr/local/nginx/logs/nginx_error.log  crit;

pid        /usr/local/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;

events
{
  use epoll;
  worker_connections 65535;
}

http
{
  include       mime.types;
  default_type  application/octet-stream;

  #charset  gb2312;
      
  server_names_hash_bucket_size 128;
  client_header_buffer_size 32k;
  large_client_header_buffers 4 32k;
  client_max_body_size 8m;
      
  sendfile on;
  tcp_nopush     on;

  keepalive_timeout 60;

  tcp_nodelay on;

  fastcgi_connect_timeout 300;
  fastcgi_send_timeout 300;
  fastcgi_read_timeout 300;
  fastcgi_buffer_size 64k;
  fastcgi_buffers 4 64k;
  fastcgi_busy_buffers_size 128k;
  fastcgi_temp_file_write_size 128k;

  gzip on;
  gzip_min_length  1k;
  gzip_buffers     4 16k;
  gzip_http_version 1.0;
  gzip_comp_level 2;
  gzip_types       text/plain application/x-javascript text/css application/xml;
  gzip_vary on;

  #limit_zone  crawler  $binary_remote_addr  10m;

  server
  {
    listen       80;
    server_name  wiki.zenw.org;
    index index.html index.htm index.php;
    root  /web/htdocs/www;

    #limit_conn   crawler  20;    
                            
    location ~ .*.(php|php5)?$
    {      
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }
    
    location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
    {
      expires      30d;
    }

    location ~ .*.(js|css)?$
    {
      expires      1h;
    }    

    log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
              '$status $body_bytes_sent "$http_referer" '
              '"$http_user_agent" $http_x_forwarded_for';
    access_log  /usr/local/nginx/logs/access.log  access;
      }

  server
  {
    listen       80;
    server_name  www.zenw.org;
    index index.html index.htm index.php;
    root  /web/htdocs/www;

    location ~ .*.(php|php5)?$
    {      
      #fastcgi_pass  unix:/tmp/php-cgi.sock;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      include fcgi.conf;
    }

    log_format  wwwlogs  '$remote_addr - $remote_user [$time_local] "$request" '
               '$status $body_bytes_sent "$http_referer" '
               '"$http_user_agent" $http_x_forwarded_for';
    access_log  /usr/local/nginx/logs/wwwlogs.log  wwwlogs;
  }

  server
  {
    listen  80;
    server_name  blog.zenw.org;

    location / {
    stub_status on;
    access_log   off;
    }
  }
}



在/usr/local/nginx/conf/目录中创建fcgi.conf文件:

内容如下

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx;

fastcgi_param  QUERY_STRING       $query_string;
fastcgi_param  REQUEST_METHOD     $request_method;
fastcgi_param  CONTENT_TYPE       $content_type;
fastcgi_param  CONTENT_LENGTH     $content_length;

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;

# PHP only, required if PHP was built with --enable-force-cgi-redirect
fastcgi_param  REDIRECT_STATUS    200;

启动Nginx

ulimit -SHn 65535
/usr/local/nginx/sbin/nginx


配置开机自动启动Nginx + PHP

vi /etc/rc.local

在末尾增加以下内容:

ulimit -SHn 65535
/usr/local/webserver/php/sbin/php-fpm start
/usr/local/webserver/nginx/sbin/nginx

当然,你也可以使用lighttpd的spawn-fcgi来管理php-cgi(FastCGI) 


编译安装PHP 

(建议在安装Nginx前进行)

注:php-fpm可以在 http://php-fpm.org/download 下载


tar zxvf php-5.2.10.tar.gz

gzip -cd php-5.2.10-fpm-0.5.11.diff.gz | patch -d php-5.2.10 -p1

cd php-5.2.10/

./configure --prefix=/usr/local/webserver/php 
--with-config-file-path=/usr/local/webserver/php/etc 
--with-mysql=/usr/local/webserver/mysql 
--with-mysqli=/usr/local/webserver/mysql/bin/mysql_config 
--with-iconv-dir=/usr/local 
--with-freetype-dir 
--with-jpeg-dir 
--with-png-dir 
--with-zlib 
--with-libxml-dir=/usr 
--enable-xml 
--disable-rpath 
--enable-discard-path 
--enable-safe-mode 
--enable-bcmath 
--enable-shmop 
--enable-sysvsem 
--enable-inline-optimization 
--with-curl 
--with-curlwrappers 
--enable-mbregex 
--enable-fastcgi 
--enable-fpm 
--enable-force-cgi-redirect 
--enable-mbstring 
--with-mcrypt 
--with-gd 
--enable-gd-native-ttf 
--with-openssl 
--with-mhash 
--enable-pcntl 
--enable-sockets 
--with-ldap 
--with-ldap-sasl 
--with-xmlrpc 
--enable-zip 
--enable-soap 
--without-pear

make ZEND_EXTRA_LIBS='-liconv'
make install

cp php.ini-dist /usr/local/webserver/php/etc/php.ini
cd ../

curl http://pear.php.net/go-pear | /usr/local/webserver/php/bin/php



更多内容可访问: 
http://www.zenw.org 
http://doc.zenw.org 
http://doc.zenw.org/linux 
http://doc.zenw.org/mysql 
http://doc.zenw.org/developer 

|
LZ,好强悍。

不得不顶。


|

我看你的站点 还真看不出来为什么被驳回。要求真严。
你现在申请的哪儿的投放 是baidu的吗

|
来支持一个!多次想装引擎X。都没装,一直用着CentOS自带的apache,看了很多关于NX的介绍,都说比apache要强悍。嘿嘿,不知道用起来实际效果如何?好像现在163,tencent都用这个。学习一下,回头装一个看看效果。有没有centos安装的教程啊?

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Docker支持的安装方式
  • linux安装nagios,安装nrpe时候,先安装了openssl再从安装nrpe出错。
  • Centos6下安装Shell下文件上传下载rz,sz命令
  • 我已经用源代码方式安装了apache,如何让它支持php和mysql(php没有安装,mysql安装的是rpm包),要不要重新安装apache?如何删除已有的ap
  • CentOS下PHP安装完成后继续安装GD扩展库
  • 请教IBM服务器安装AIX的安装资料(教程或者资料,最好有安装步骤)
  • win7, win8安装docker需要了解的概念
  • 为什么安装redhat 7.1的时候没有让我配置lilo的安装而是系统默认的给我安装了--那位哥们安装过redhat7.1还望赐教
  • windows下tinyxml.dll下载安装使用(c++解析XML库)
  • 我安装的是Red Flag版本的linux,汉字输入法还没有安装,请问怎么安装?
  • tcmalloc内存泄露优化c++开源库下载,安装及使用介绍
  • 关于X库安装问题:我怎么查看我已经安装了哪些X库,并且哪些知道安装的版本号?
  • win7,win8安装Docker具体过程
  • android自动安装apk代码实例(不使用apk安装器安装)
  • php安装完成后如何添加mysql扩展
  • ubuntu 安装失败后,xp也无法进入;连xp安装盘也无法安装
  • 红帽RHEL下安装docker依赖性检查
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • ubuntu系统中软件安装、卸载以及查询是否已经安装某个软件包的方法
  • 在已经安装了windows2000server的机器上安装红旗linux时,如何配置引导记录安装位置?急
  • MemCached介绍及最新稳定版memcached-1.4.20.tar.gz下载和安装
  • ubuntu10.04下安装openvz,openvz下安装ubuntu10.04,然后安装ipvsadm问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3