Site Tools


nginx

Проверка конфига

nginx -t

Перезапуск

SomeError

method POST is not allowed

При переходе на страницу сайта:

The requested method POST is not allowed for the URL /fb/swatch/index.html

Соответственно, Nginx обрабатывает .html и в нем не может быть php кода а следоватьльно и POST запросов.

Other

Конвертер .htaccess → nginx.conf http://www.anilcetin.com/convert-apache-htaccess-to-nginx/

  • -c </path/to/config> Specify which configuration file Nginx should use instead of the default.
  • -g Set global directives. (version >=0.7.4)
  • -t Don't run, just test the configuration file. nginx checks configuration for correct syntax and then try to open files referred in configuration.
  • -s signal Send signal to a master process: stop, quit, reopen, reload. (version >= 0.7.53)
  • -v Print version.
  • -V Print nginx version, compiler version and configure parameters.
  • -p prefix Set prefix path (default: /usr/local/nginx/). (version >= 0.7.53)
  • -h,-? Print help.

Передача реального IP для Apache

FreeBSD

Apache по умолчанию получает как удаленный IP, IP nginx.

cd /usr/ports/
make search name=mod_rpaf
cd /usr/ports/www/mod_rpaf2/
make configure
make install
make clean

Разкоментируем в httpd.conf → LoadModule rpaf_module
Добавляем в него же:

RPAFproxy_ips 127.0.0.1 78.108.88.73
RPAFEnable On
RPAFheader X-Forwarded-For

12

CentOS
rpm -ihv http://centos.alt.ru/repository/centos/5/i386/centalt-release-5-3.noarch.rpm #86
rpm -ihv http://centos.alt.ru/repository/centos/5/x86_64/centalt-release-5-3.noarch.rpm #64
vi /etc/yum.repos.d/centalt.repo
enabled=0
yum -y --enablerepo=CentALT install mod_rpaf
vi /etc/httpd/conf.d/rpaf.conf
LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 xx.xx.xx.xx yy.yy.yy.yy

1

Логи

http://nginx.org/en/docs/http/ngx_http_core_module.html#variables – Переменные для логов

  log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for" $host';
  access_log  /var/log/nginx/access.log  main;
  • $host - Хост к которому идет обращение.

Nginx redirect

без www на www
server {
      listen 81.222.215.43;
      server_name site.ru www.site.ru;
      if ($host = 'site.ru' ) {
              rewrite ^/(.*)$ http://www.site.ru/$1 permanent;
      }
}

или

server {
  listen       80;
  return       301 http://www.example.org$request_uri;
  server_name  example.org;www.tmcomazo.ru
}

Discussion

Constantin Conovaloff, 2016/04/07 12:50

скрипты для парсинга логов

http://www.inmotionhosting.com/support/website/server-usage/view-level-of-traffic-with-apache-access-log

Посмотреть количество обращений по часам

grep "23/Jan" file.log.access | cut -d[ -f2 | cut -d] -f1 | awk -F: '{print $2":00"}' | sort -n | uniq -c

Посмотреть поминутное количество обращений

grep "23/Jan/2013:06" file.log.access | cut -d[ -f2 | cut -d] -f1 | awk -F: '{print $2":"$3}' | sort -nk1 -nk2 | uniq -c | awk '{ if ($1 > 10) print $0}'
You could leave a comment if you were logged in.
nginx.txt · Last modified: 2016/06/02 17:21 by conovaloff

Page Tools