安装高性能的nginx

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
回复
头像
ssjjxx000
帖子: 201
注册时间: 2006-01-09 9:41
来自: 湖南邵东

安装高性能的nginx

#1

帖子 ssjjxx000 » 2009-06-04 22:44

1,安装nginx,执行以下命令,很快完成,不过目前apg-get方式安装默认是0.5.33的版本

sudo apt-get install nginx

配置文件默认安装位置:

  
conf: /etc/nginx/nginx.conf

  bin:/usr/sbin/nginx

  vhost: /etc/nginx/sites-enable/default

  cgi-params: /etc/nginx/fastcgi-params
  建一个虚拟Server

  server {

  listen 80;

  server_name www.23day.com;

  access_log /var/log/nginx/home.ucenter.access.log;

  location / {

  root /var/www/23day.com;

  index index.php;

  location ~ .php$ {

  fastcgi_pass 127.0.0.1:9000;

  fastcgi_index index.php;

  fastcgi_param SCRIPT_FILENAME /var/www/23day.com$fastcgi_script_name;

  include /etc/nginx/fastcgi_params;

  }

  }

  2,安装php-cgi模块执行sudo apt-get install php5-cgi 配置文件默认安装位置:

  php-cgi: /usr/bin/php-cgi

  php5-cgi: /usr/bin/php5-cgi

  cgi config: /usr/bin/cgi/php.ini [/quote]

修改php.ini文件的cgi.fix_pathinfo数据为1,默认为0 cgi.fix_pathinfo=1; 这样php-cgi方能正常使用SCRIPT_FILENAME这个变量.

  3,安装spawn-fcgi spawn-fcgi是lighttpd的一个用来控制php-cgi的工具.

如果系统没有安装GCC编译环境,刚需要在安装lighttpd之前要安装build-essential工具包,执行以下命令

  sudo apt-get install build-essential

  wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz

  tar -xvf lighttpd-1.4.19.tar.gz

  cd lighttpd-1.4.19/

  sudo apt-get install libpcre3-dev

  ./configure –without-zlib –without-bzip2

  make

  sudo cp src/spawn-fcgi /usr/local/bin/spawn-fcgi

这样cgi控制器就安装完成.

  4.启动测试系统.启动fast_cgi:

  spawn-fcgi -a 127.0.0.1 -p 9000 -C 5 -u www-data -g www-data -f /usr/bin/php-cgi

  注意:ip,端口与nginx服务器中的cgi-pass要对应. -C表示打开几个cgi进程

  启动nginx

  sudo /etc/init.d/nginx start

  好了,如果没有出错信息,则说明配置成功了,现在写个phpinfo测试下吧!

  最后,附上我的/etc/nginx/sites-enable/default的配置文件,此配置文件启用了rewrite功能

  server {

  listen 80;

  server_name localhost;

  access_log /var/log/nginx/localhost.access.log;

  location / {

  root /var/www/nginx-default;

  index index.php;

  if (-f $request_filename/index.html){

  rewrite (.*) /index.html break;

  }

  if (-f $request_filename/index.php){

  rewrite (.*) /index.php;

  }

  if (!-f $request_filename){

  rewrite (.*) /index.php;

  }

  }

  #error_page 404 /404.html;

  # redirect server error pages to the static page /50x.html

  #

  error_page 500 502 503 504 /50x.html;

  location = /50x.html {

  root /var/www/nginx-default;

  }

  # proxy the PHP scripts to Apache listening on 127.0.0.1:80

  #

  #location ~ .php$ {

  #proxy_pass http://127.0.0.1;

  #}

  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

  #

  location ~ .php$ {

  fastcgi_pass 127.0.0.1:9000;

  fastcgi_index index.php;

  fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;

  include /etc/nginx/fastcgi_params;

  }

  # deny access to .htaccess files, if Apache’s document root

  # concurs with nginx’s one

  #

  #location ~ /.ht {

  #deny all;

  #}

  }

  # another virtual host using mix of IP-, name-, and port-based configuration

  #

  #server {

  #listen 8000;

  #listen somename:8080;

  #server_name somename alias another.alias;

  #location / {

  #root html;

  #index index.html index.htm;

  #}

  #}

  # HTTPS server

  #

  #server {

  #listen 443;

  #server_name localhost;

  #ssl on;

  #ssl_certificate cert.pem;

  #ssl_certificate_key cert.key;

  #ssl_session_timeout 5m;

  #ssl_protocols SSLv2 SSLv3 TLSv1;

  #ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;

  #ssl_prefer_server_ciphers on;

  #location / {

  #root html;

  #index index.html index.htm;

  #}

  #}
回复