Nginx

Главные вкладки

Аватар пользователя EliteMonk EliteMonk 11 апреля 2011 в 22:57

Оглавление

Смотрим установлен ли апач

dpkg -l | grep apache

Если установлен, то удаляем примерно так (будет зависеть от установленных пакетов):

sudo apt-get --purge remove apache2 apache2.2-bin apache2.2-common apache2-mpm-prefork apache2-utils apache2-doc

Устанавливаем nginx

sudo apt-get install nginx

Запускаем

sudo /etc/init.d/nginx start

Далее в браузере вводим IP своего VDS и видим надпись

Welcome to nginx!

* Если появилась ошибка 403, то на этом этапе не страшно, в одной из версий неправильный конфиг дефолтовый, что исправиться при установке PHP

Меняем дефолтовый конфиг

sudo vim /etc/nginx/sites-available/default

Заменяем содержимое файла на следующее

server {
  listen 80;
  server_name localhost;
  access_log /var/log/nginx/localhost.access.log;

  ## Default location
  location / {
    root /var/www;
    index index.php;
  }

  ## Images and static content is treated different
  location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
    access_log off;
    expires 30d;
    root /var/www;
  }

  ## Parse all .php file in the /var/www directory
  location ~ \.php$ {
    fastcgi_split_path_info ^(.+\.php)(.*)$;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
    include fastcgi_params;
    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_intercept_errors on;
    fastcgi_ignore_client_abort off;
    fastcgi_connect_timeout 60;
    fastcgi_send_timeout 180;
    fastcgi_read_timeout 180;
    fastcgi_buffer_size 128k;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
  }

  ## Disable viewing .htaccess & .htpassword
  location ~ /\.ht {
    deny all;
  }
}

Чтобы можно было добавлять много server_name в разных конфигах нужно добавить директиву server_names_hash_bucket_size в конфиге nginx в http блок

sudo vim /etc/nginx/nginx.conf
server_names_hash_bucket_size 512;

Комментарии

Аватар пользователя EliteMonk EliteMonk 7 июля 2011 в 11:53

Для 11.04 в /etc/nginx/sites-available/default нужно сделать мелкие правки

server {
  listen 80;
 
  index index.php index.html index.htm;
 
  ## Parse all .php file in the www directory
  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/www$fastcgi_script_name;
    include fastcgi_params;
  }
 
  ## Disable viewing .htaccess & .htpassword
  location ~ /\.ht {
    deny all;
  }
}