Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ FreeBSD and Nix ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

SQL\T-SQL

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Серия по nginx статья 1


Серия по nginx статья 1

Краткая серия статей по фнукционалу сервера Nginx

Никакой воды, сделано на простых примерах

Установите Nginx в своей ОС и работайте с примерами

 

Главный конфигурационный файл

Подключим подпапку для отдельных конфигураций:

/etc/nginx/nginx.conf
...
http {
    ...
    include /etc/nginx/conf.d/*.conf;
    ...
}

Задача, сделать элементарные конфигурации

  • Должны слушать 80 порт
  • Определенное доменное имя в каждой конфигурации
  • Что-то "говорить в ответ" и выдавать успешный код ответа 200
  • b.test.conf должен обрабатывать приходящие запросы на несуществующие домены
  • c.test.conf должен убирать www из запроса, вносить результат в переменную и выводить ответом

Отдельные конфигурации для теста:

/etc/nginx/conf.d/a.test.conf
server {
    listen 80;
    server_name a.test;
    return 200 "a.test - hello!\n";
}

/etc/nginx/conf.d/b.test.conf
server {
    listen 80 default_server;
    server_name b.test;
    return 200 "b.test - hello!\n";
}

/etc/nginx/conf.d/c.test.conf
server {
    listen 80;
    server_name www.c.test c.test;
    if ($host ~* ^www\.(.*)) {
        set $host_without_www $1;
        return 200 "$host_without_www - hello without www!\n";
    }
    return 200 "c.test - hello!\n";
}

Для локальных запроссов из консоли делаем ассоциации:
cat /etc/hosts | grep -v "#"
127.0.0.1               a.test
127.0.0.1               b.test
127.0.0.1               c.test www.c.test
127.0.0.1               d.test

Делаем запросы и смотрим ответы:
curl http://a.test
curl http://b.test
curl http://d.test
curl http://c.test
curl http://www.c.test

Более подробные выводы:
curl -v http://www.c.test
curl -D - http://www.c.test

Запросы с помощью telnet

Версия 1.1 не закрывает сразу соединение после запроса

Можно делать множественные синхронные запросы

telnet a.test 80
GET /index.html HTTP/1.0
(ENTER)

telnet c.test 80
GET /index.html HTTP/1.1
Host: www.c.test
(ENTER)
(ENTER)

GET /index.html HTTP/1.1
Host: www.a.test
(ENTER)

 


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект