Сравнение nginx и apache
От: r0nd  
Дата: 29.12.23 14:44
Оценка: 20 (2) :)
Расскажу историю, может кому-то поможет,

Настраивал намедни SSL-сертификаты (регламентная работа), и в «пылу борьбы» с ошибками DNS, port-forwarding и NAT, чего-то решил переделать свой reverse-proxy сервер с apache2(Apache/2.4.29) на nginx (nginx/1.14.0).

Э-м-м… Я честно говоря охренел. Результат — почти по всем серверным продуктам прирост +60–70% к производительности. Нет, я слышал что nginx шустрее apache, но что даже в режиме прокси на одном и том же железе такой прирост — не верилось. Самый большой прирост производительности был у confluence: почти +170%. Гиморрой мелкий с админской частью только доставила archiva и все.

Сейчас сижу и думаю, нафига я на этом апаче сидел столько лет?
...<< Dementor 1.5.3 ✪ Lets Play a Game ⚀⚂⚅⚅⚅>>
Re: Сравнение nginx и apache
От: Pzz Россия https://github.com/alexpevzner
Дата: 29.12.23 14:57
Оценка: 1 (1)
Здравствуйте, r0nd, Вы писали:

R>Сейчас сижу и думаю, нафига я на этом апаче сидел столько лет?


У Апача куча фич, ныне в основном устарелых. Но скорость — не его стезя. Это известно.

Собственно, когда nginx делался, предполагалось, что "умная" часть сайта будет жить на Апаче, а всякие там картинки и прочий статический контент быстро отдаваться nginx-ом. Ну а сейчас постепенно стало так, что сайт примерно целиком состоит из статического контента и JS API к бакенду.
Re: Сравнение nginx и apache
От: velkin Удмуртия http://blogs.rsdn.org/effective/
Дата: 30.12.23 00:14
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Сейчас сижу и думаю, нафига я на этом апаче сидел столько лет?


Потому что в nginx модули в частности веб-скриптов появились позже, как собственно и сам nginx по сравнению с apache. Потому давным давно была такая тема использовать nginx для ускорения в сочетании с apache. Но это уже очень давно не так, кроме nginx больше ничего не надо.

В принципе отстал и отстал, я тоже часто сижу на старых менее эффективных технологиях. Чтобы всё пробовать нужно быть заинтересованным. Да и даже если попробуешь не факт, что сразу перейдёшь. Некоторые вон до сих пор думают, что в серверах современный амуде говно, а интел (инсайд, идиот аутсайд) круто. Пускай думают, думать им никто не мешает.
Re: Сравнение nginx и apache
От: Слава  
Дата: 30.12.23 00:55
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Сейчас сижу и думаю, нафига я на этом апаче сидел столько лет?


haproxy поставьте, ещё быстрее будет
Re: Сравнение nginx и apache
От: aik Австралия  
Дата: 16.01.24 08:08
Оценка:
Здравствуйте, r0nd, Вы писали:

R>Сейчас сижу и думаю, нафига я на этом апаче сидел столько лет?


О, спец по реверспрокси, есть вопрос. Есть конфиг (ниже). В браузере набираю https://home.blabla.com и получаю домашний сервер, хожу по страничкам — домен остаётся внешним, внутренние пути работают.
Добавляю такую прокси к вебморде модема Huawei (раньше делал редирект на тасмоту). Скопировал конфиг с 2 изменениями:
home.blabla.com на modem.blabla.com
http://hass:8123/ на http://192.168.8.1:80/.
Сертификаты в порядке. Но внезапно nginx при доступе по https://modem.blabla.com редиректит на http://192.168.8.1, который снаружи не открывается, но с home.blabla.com то он так не делает.
Гуглю проблему уже полчаса и не врубаюсь. Браузер или редиректит, или страница в цикле грузит все ссылки, никогда не заканчивая. Ничего из того, что отдаёт модем, не содержит адресов. Т.е. наверное это кривой модем генерит кривые странички, но блин как?

server {
    server_name home.blabla.com;
    listen 443; 
    ssl_certificate /etc/letsencrypt/live/home.blabla.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/home.blabla.com/privkey.pem;
    ssl_dhparam /etc/nginx/ssl/dhparams.pem;
    add_header Strict-Transport-Security "max-age=31536000; includeSubdomains";
    ssl on; # Uncomment if you are using nginx < 1.15.0
    ssl_protocols TLSv1.2;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    proxy_buffering off; 

    location / {
        proxy_pass http://hass:8123/;
        proxy_set_header Host $host;
        proxy_redirect http:// https://;
        proxy_http_version 1.1;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}
Re[2]: Сравнение nginx и apache
От: · Великобритания  
Дата: 16.01.24 11:46
Оценка:
Здравствуйте, aik, Вы писали:

aik>О, спец по реверспрокси, есть вопрос. Есть конфиг (ниже). В браузере набираю https://home.blabla.com и получаю домашний сервер, хожу по страничкам — домен остаётся внешним, внутренние пути работают.

aik>Добавляю такую прокси к вебморде модема Huawei (раньше делал редирект на тасмоту). Скопировал конфиг с 2 изменениями:
aik>home.blabla.com на modem.blabla.com
aik>http://hass:8123/ на http://192.168.8.1:80/.
aik>Сертификаты в порядке. Но внезапно nginx при доступе по https://modem.blabla.com редиректит на http://192.168.8.1, который снаружи не открывается, но с home.blabla.com то он так не делает.
aik>Гуглю проблему уже полчаса и не врубаюсь. Браузер или редиректит, или страница в цикле грузит все ссылки, никогда не заканчивая. Ничего из того, что отдаёт модем, не содержит адресов. Т.е. наверное это кривой модем генерит кривые странички, но блин как?
Я не настоящий сварщик, но думаю это сам модем мудрит, определяет, что ты соединяешься по "не правильному" адресу и шлёт redirect (через http заголовок Location или вообще яваскриптом). Попробуй проанализировать http трафик каким-нибудь curl-ом.
Наверное тебе нужно настроить реверспрокси, чтобы он подменял заголовки в запросе, я полагаю модем проверяет "Host".
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.