Skip to content

server {
listen   80; ## listen for ipv4
listen   [::]:80 default ipv6only=on; ## listen for ipv6

server_name   _;
server_name_in_redirect off;

charset  Windows-1251; ##Это поправит глюки с Ajax

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

##Этот блок отвечает за вывод главной страницы
location = / {
root   /var/www;
index  index.php index.html;
}

##А вот здесь обрабатываются остальные запросы
location / {
root   /var/www;
index  index.php index.html;

if (!-e $request_filename) {
rewrite ^/load/url=(.+)$ /index.php?uri=files&do=download&fileurl=$1 last;
rewrite ^/go/url=(.+)$ /index.php?uri=files&do=redirect&url=$1 last;
rewrite ^/(.*)$ /index.php?uri=$1 last;
##Хоть и написано в инструкции так не делать, но работает именно так. Ошибок вроде нет...
}
}

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log        off;
expires           30d;
root /var/www;
}

location ~ \.php$ {
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME  /var/www$fastcgi_script_name;
include fastcgi_params;
}

location ~ /\.ht {
deny  all;
}
}
 

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_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
#fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  DOCUMENT_ROOT      /var/www; #Вот этот фикс
fastcgi_param  SERVER_PROTOCOL    $server_protocol;

fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;

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;

fastcgi_param  REDIRECT_STATUS    200;

Взял отсюда - http://www.instantcms.ru/blogs/tehnoblog/nastroika-nginx-dlja-instantcms.html

http://www.mysql.ru/docs/man/DNS.html

Когда к mysqld подключается новый клиент, mysqld выделяет новый поток для обработки данного запроса. Этот поток вначале проверяет, имеется ли в кэше имен хостов имя требуемого хоста. Если нет, то поток вызовет функции gethostbyaddr_r() и gethostbyname_r(), чтобы определить имя хоста.
Если операционная система не обеспечивает вышеописанные вызовы с поддержкой потоков, то данный поток заблокирует флаг и вызовет вместо этого функции gethostbyaddr() и gethostbyname(). Следует учитывать, что в таком случае никакой другой поток не сможет определять имена других хостов, отсутствующих в кэше имен хостов, пока первый поток не будет готов.
Можно заблокировать поиск DNS хоста, запустив mysqld с параметром --skip-name-resolve. В этом случае, однако, в таблицах привилегий MySQL можно использовать только IP-адреса.
Если процесс установления DNS очень медленный и хостов очень много, то можно получить более высокую производительность либо путем блокировки поиска DNS при помощи --skip-name-resolve, либо увеличив размер определения HOST_CACHE_SIZE (по умолчанию: 128) и перекомпилировав mysqld.
Заблокировать кэш имен хостов можно с помощью --skip-host-cache. Можно также очистить этот кэш с помощью команды FLUSH HOSTS или mysqladmin flush-hosts.
Можно запретить соединения по протоколу TCP/IP, запустив mysqld с опцией --skip-networking.

IF заббикс-агент не хочет запускаться, а в логах:

zabbix_agentd [22502]: Can't recreate Zabbix semaphores for IPC key 0x7a182ba8 Semaphore ID 589825. Operation not permitted.

THEN

I got rid of it by manually removing the left-over semaphores.
Check the command "ipcs -a" for sempahoreId in use by the zabbix user
and the do a "ipcrm -s semaphoreId"

ELSEАаааааааааааааааааааааааа !!111 =)


Кстати такая же беда с семафорами бывает и у апача вроде.
Семафор - это специальный объект ядра предназначенный для взаимодействия процессов в системе. В системе создается именованное множество семафоров(содержащее минимум 1 семафор), каждый семафор содержит некое количество ресурсов выраженное целым числом. Поток может запрашивать ресурсы у семафора и естественно должен отдавать их обратно когда они более не нужны. В случае если запрошенное количество ресурсов недоступно, но меньше максимального имеющегося количества - поток ожидает освобождения(в случае если не установлена опция - без ожидания)- иначе возвращается ошибка.

Скрипт AI-Bolit умеет делать следующее:

  • искать вредоносные и хакерские скрипты на хостинге: шеллы по сигнатурам, шеллы на основе несложной эвристики
  • искать редиректы в .htaccess на вредоносные сайты
  • искать код sape/trustlink/linkfeed в .php файлах
  • определять дорвеи
  • показывать директории, открытые на запись
  • искать пустые ссылки (невидимые ссылки) в шаблонах
  • отсылать отчет по email или сохранять в файл

http://www.revisium.com/ai/

Ниже приведен пример как можно сделать рекурсивный chmod в каталоге с большой вложенностью.

Так, чтобы для папок ставились одни права, а для для файлов другие.

1. Переходим в нужный каталог.
2. И выполняем следующую команду для установки прав на файлы (вместо 644 – разумеется нужные права).

find . -type f -exec chmod 644 {} \;

 
3. Затем следующую команду для установки прав на каталоги (где вместо 755 опять таки нужные права доступа).

find . -type d -exec chmod 755 {} \;

 

π