Nginx и Apache в FreeBSD

29.06.2009, рубрики: FreeBSD | Теги: , , | 30 комментариев »

Установка Apache и Nginx:

Ставим Apache:

1
2
3
cd /usr/ports/www/apache2
make config
make install clean

Ставим Nginx:

1
2
3
cd /usr/ports/www/nginx
make config
make install clean

Настройка Nginx

Отредактируем файл /usr/local/etc/nginx/nginx.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# пользователь и группа от которого запускается процесс
user  www www;

# 3 рабочих процесса
worker_processes  3;

# Лог для ошибок
error_log  logs/error.log;

events {

# максимум рабочих соединений
worker_connections  1024;

# Метод обработки соединений
# kqueue — эффективный метод, используемый во FreeBSD
# Подробнее http://sysoev.ru/nginx/docs/events.html
use kqueue;
}

http {

# Подключаем таблицу mime
include       mime.types;

# mime-тип по умолчанию
default_type  application/octet-stream;

# Формат лог файла
#log_format  main  '$remote_addr - $remote_user [$time_local] $request '
#                  '"$status" $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';

# Лог доступа всего веб-сервера
#access_log  logs/access.log  main;

# Директива задаёт таймаут при чтении заголовка запроса клиента
client_header_timeout  3m;

# Директива задаёт таймаут при чтении тела запроса клиента
client_body_timeout    3m;

# Директива задаёт таймаут при передаче ответа клиенту
send_timeout           3m;

# Директива задаёт таймаут, в течение которого keep-alive соединение с клиентом не будет закрыто со стороны сервера
keepalive_timeout      2m;

# Директива разрешает или запрещает использовать sendfile()
sendfile        on;

# Директива разрешает или запрещает использовать опции TCP_NOPUSH во FreeBSD
# Подробнее http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#keepalive_timeout
#tcp_nopush     on;

# Директива задаёт размер буфера для чтения заголовка запроса клиента
#client_header_buffer_size    1k;

# Директива задаёт максимальное число и размер буферов для чтения большого заголовка запроса клиента
#large_client_header_buffers  4 4k;

# Модуль позволяет описывать группы серверов, которые могут использоваться
# в директивах proxy_pass и fastcgi_pass.
upstream backend {
# Директива задаёт имя и параметры сервера. Обратите внимание, мы будем
# использовать имя "backend" в директиве proxy_pass
server 127.0.0.1:88;
}

server {

# Слушать 80 порт
listen       80;

# Использовать следующие хосты
server_name  free-pc-help.ru www.free-pc-help.ru;

# Кодировка
#charset koi8-r;

# Лог доступа для конкретного виртуального хоста
#access_log  logs/host.access.log  main;

# Максимальный размер тела запроса клиента
client_max_body_size 101M;

# Разруливаем статику и динамку

location ~* \.(jpg|jpeg|gif|png|ico|css|bmp|swf|js)$ {
root /home/free-pc-help/free-pc-help.ru;
}

location ~ /\.ht {
deny  all;
}

location / {
proxy_pass http://backend/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;

proxy_connect_timeout 120;
proxy_send_timeout    120;
proxy_read_timeout    180;
}

# Адрес страницы 404-ой ошибки, далее все ошибки по аналогии
#error_page  404              /404.html;

# Аналогично 404, только при этом назначается псевдоним 50x.html для всех
# 50x-тых ошибок и далее перенаправляется все на "root"
error_page   500 502 503 504  /50x.html;
location = /50x.html {
# корневая директория
root   /usr/local/www/nginx-dist;
}
}
}

После конфигурации необходимо перезагрузить Nginx

1
/usr/local/etc/rc.d/nginx restart

Настройка Apache

Редактируем файл /usr/local/etc/apache2/httpd.conf

1
2
# Меняем порт с 80 на 88
Listen 88

Тоже самое делаем и в httpd-vhosts.conf для ваших хостов.

Если у вас появляется следующая ошибка:

1
2
[warn] (2) No such file or directory:
Failed to enable the ‘httpready’ Accept Filter

то вам следует подгрузить модуль

1
# kldload accf_http

Чтобы этот модуль грузился автоматически, следует добавить в

/boot/loader.conf

строчку:

1
accf_http_load=”YES”

Установка и настройка RPAF или даешь верный REMOTE_ADDR!

Так как у нас появился в цепи дополнительный элемент в виде фронтенд-сервера, то теперь в REMOTE_ADDR у нас не пользовательский IP, а IP-адрес фронтенд-сервера (на котором расположен Nginx). Поэтому на помощь приходит RPAF, он берет тело заголовка X-Forwarded-For, присланного от фронтенда и формирует на бекенде из него REMOTE_ADDR.

Таким образом заголовок REMOTE_ADDR снова имеет пользовательский IP!

Устанавливаем модуль RPAF

1
2
cd /usr/ports/www/mod_rpaf2
make install clean

mod_rpaf2 — для apache2, а для первого нужно mod_rpaf

Настраиваем RPAF, редактируем /usr/local/etc/apache2/httpd.conf, добавляем в конец файла:

1
2
3
4
5
6
7
8
# Включаем модуль
RPAFenable On
# Доводит до ума X-Host
RPAFsethostname On
# Адрес фронтенда (nginx)
RPAFproxy_ips 127.0.0.1
# Имя отправляемого заголовка
RPAFheader X-Forwarded-For

После конфигурации необходимо перезагрузить Apache

1
apachectl restart

30 комментариев на запись “Nginx и Apache в FreeBSD”

  1. 1 Имя сказала в 12:56, 03.09.2010:

    тра та та

  2. 2 storm сказала в 22:02, 30.12.2011:

    Спасибо за трансфер REMOTE_ADDR.

    Из-за того что не настроил у себя — похерилась статистика...

  3. 3 Unikest сказала в 22:10, 13.05.2021:

    dapoxetine trial pack

  4. 4 Griency сказала в 20:23, 10.06.2021:

    cialis tablets for sale

  5. 5 Griency сказала в 6:00, 15.06.2021:

    clomid for men for sale

  6. 6 Griency сказала в 14:47, 22.07.2021:

    buy generic cialis

  7. 7 Nearneday сказала в 15:19, 18.08.2021:

    generic name for cialis

  8. 8 Stromectol сказала в 10:46, 30.08.2021:

    Where Can I Buy Thyroxine In N.Z

  9. 9 estuaph сказала в 15:34, 06.09.2021:

    free online viagra

  10. 10 Sheankkef сказала в 8:03, 11.09.2021:

    generic cialis online europe

  11. 11 does propecia regrow hair сказала в 10:12, 11.09.2021:

    Cialis Funciona Con Alcohol

  12. 12 Appersorb сказала в 2:19, 12.09.2021:

    buystromectolon.com — ivermectine msd

  13. 13 Nobenfop сказала в 1:08, 23.09.2021:

    how can i check my health insurance affectiveness date ivermectin ivermectin tablets ivermectin tablets for sale walmart

  14. 14 luncabs сказала в 8:32, 23.09.2021:

    ivermectin human dosage

  15. 15 WhedeDued сказала в 21:05, 24.09.2021:

    Plaquenil

  16. 16 buy azithromycin in usa сказала в 5:33, 26.09.2021:

    tadalafil lowest price

  17. 17 Hyworia сказала в 6:03, 08.10.2021:

    precio cialis

  18. 18 oral steroid сказала в 10:37, 11.10.2021:

    Purchase Female Viagraachat De Viagra

  19. 19 buy stromectol 12mg сказала в 9:09, 31.10.2021:

    Viagra E Nitroderivati

  20. 20 elatemo сказала в 18:27, 31.10.2021:

    Propecia

  21. 21 fruffem сказала в 19:47, 31.10.2021:

    Priligy

  22. 22 Blirway сказала в 18:12, 04.11.2021:

    Viagra

  23. 23 pitlebict сказала в 12:33, 07.11.2021:

    Viagra

  24. 24 Viagra сказала в 20:51, 08.11.2021:

    cialis generique comparer prix

  25. 25 uk generic propecia 5 mg сказала в 12:29, 09.11.2021:

    Topical Propecia Risks

  26. 26 DrypesDes сказала в 12:14, 10.11.2021:

    Prednisone

  27. 27 Stype сказала в 15:11, 13.11.2021:

    Hello and welcome to New No Deposit Casino Bonus, if you’re new here perhaps we should explain what we do, we gather the best bonuses from the world’s greatest online casino sites and bring them to you daily. Today we have for you an incredible new player bonus from Jonny Jackpot Casino. Register today and make a first deposit to enjoy a massive free spins bonus! bestcryptocasinossouthafr...spins-no-deposit The legal status of cryptocurrencies varies substantially from country to country and is still undefined or changing in many of them. While some countries have explicitly allowed their use and trade, others have banned or restricted it. Likewise, various government agencies, departments, and courts have classified bitcoins differently. Some countries have gone so far as banning the handling of bitcoins by financial institutions. In Russia, though cryptocurrencies are legal, it is illegal to actually purchase goods with any currency other than the Russian ruble.

  28. 28 priligy equivalent сказала в 23:50, 15.11.2021:

    Avis Propecia Generique

  29. 29 Stype сказала в 21:38, 24.11.2021:

    So, Ole Gunnar Solskjaer limps on at Manchester United, seemingly now operating on a game-by-game basis while the club’s hierarchy weighs up whether he is still the right manager for England’s biggest team. As a result, Solskjaer somehow survived the Liverpool humiliation, and was given three games to save his job. He won the first, against Tottenham, but now facing a daunting trip to Atalanta in the Champions League before Manchester City arrive at Old Trafford hoping to put the final nail in the coffin. Three games into the season, Tottenham were top of the league and everything was rosy. Two months later and after losing four of the last six league games, coach Nuno Espirito Santo has a mini crisis on his hands. Kane, denied a move to champions Manchester City in the transfer window, has only managed one Premier League goal so far this campaign after winning his third Golden Boot last season. www.turnkeylinux.org/user/1625692 The Premier League clash between Manchester United vs Tottenham Hotspur will be played on Sunday, October 4, 2020. Published: 07:27 EST, 7 November 2021 | Updated: 07:56 EST, 7 November 2021 73' — Free kick for Tottenham from the right side of the City box, near the corner flag. Other competitions : His decision to leave the starting line-up from the club’s previous Premier League match at home effectively created a two-tier system within his squad. We're underway at the Tottenham Hotspur Stadium for the London derby between Spurs and Chelsea. Tottenham earned north London derby bragging rights to return to the top of the Premier League with a 2-0 victory over Arsenal. 22 Pierluigi Gollini Electronic Leagues And for Tottenham: 1.Loris, 2.Walker, 4. Alderweireld, 5. Vertonghen, 33. Davies, 19. Debembele, 15. Dier, 11. Lamela, 20. Alli, 23. Eriksen, 10. Kane. Subs: 13.Vorm, 27.Wimmer, 6.Bentaleb, 22.Chadli, 28.Carroll, 29.Winks, 7.Son.

  30. 30 tiniate сказала в 16:28, 27.11.2021:

    ivermectin parasite kills list stromectol 3mg tablets price


Оставить комментарий


  • два × = шесть