Показать сообщение отдельно
  #2  
Старый 01.10.2018, 00:02
Alexey Vissarionov
Guest
 
Сообщений: n/a
По умолчанию поиграемся

Alexey Vissarionov написал(а) к Vadim Makarov в Sep 18 22:44:44 по местному времени:

Доброго времени суток, Vadim!
30 Sep 2018 20:34:38, ты -> All:

VM> Решил я таки веб-сервер, а во вторую очередь и джабер поставить дома.
VM> Разжился провайдером с внешним айпишником и ноутбуком с сентосью.
VM> Вот смотрю на это всё, как баран на новые ворота.
VM> Апач говорят - древнее говно древнего мамонта.

Вот только реальных альтернатив егойному suexec как-то не наблюдается.

VM> А что вместо него?

Для скриптов? Да в общем-то ничего...

VM> По-проще что-то есть?

Есть nginx, но с ним есть риск свалиться в другую крайность (во всяком случае, абсолютное большинство читателей мудацких мануалов делают именно это).

В целом картина такая: есть Apache foundation, которые настолько гордятся своим уеб-сервером httpd, что даже высовывают его непосредственно (без кеширующего прокси aka уеб-фронтенда) во внешний мир, где он аж трещит от нагрузки, и есть Nginx software, которые сделали отличный уеб-фронтенд (тот самый кеширующий прокси), но упорно продвигают его в качестве уеб-сервера.

И у тех, и у других есть свои апологеты.
И те, и другие апологеты пишут мануалы "для чайников".
И те, и другие апологеты в массе своей никогда не имели дела с действительно критичными высоконагруженными сервисами.

А те, кто поддерживает критичные высоконагруженные сервисы, мануалы не пишут - им формально некогда, а реально попросу в падлу.

VM> От веба хочу там буквально несколько страничек, да их можно и вручную
VM> нарисовать.

Статика. Хорошо.

VM> С чего начать то?

Начни с настройки nginx. Когда понадобятся скрипты, научишь его обращаться к апачевскому httpd - они, вопреки визгам религиозных фанатиков, лучше всего работают именно в связке.

Вот тебе простой конфиг, с которого можно начать. Комментарии по-русски были добавлены сейчас, а по-английски оставлены как в реальном конфиге.

# /etc/nginx/nginx.conf

# непривилегированный пользователь, под которым работает сам демон
user nginx;
worker_processes 2;
error_log /var/log/nginx/error.log;

events
{
worker_connections 1024;
}

http
{
# у меня /tmp живет в tmpfs и пропадает после перезагрузки,
# поэтому я добавил в /etc/sysconfig/nginx пару строчек:
# mkdir -p /tmp/nginx/{cache,proxy}
# chown -R nginx: /tmp/nginx
proxytemppath /tmp/nginx/proxy;

include /etc/nginx/mime.types;
default_type text/plain;

# мой любимый формат лога
logformat myfavorite
'[$timelocal] $remote_addr - $remoteuser "$request" '
'(http://$host$request_uri) '
'$status $bodybytes_sent ref: "$httpreferer" '
'uag: "$httpuser_agent" for: "$http_x_forwardedfor" '
'"acclang: $httpacceptlanguage"';
accesslog /var/log/nginx/access.log myfavorite;

sendfile on;
server_tokens off;
keepalive_timeout 15;
gzip on;
proxyhttpversion 1.1;
proxycachepath
/tmp/nginx/cache
levels=1:2
keyszone=localcache:1024m;
proxycache_key "$host$requesturi";
proxycachemethods GET;

# 2 minutes for НTTP code 200 (OK)
proxycachevalid 200 2m;
# 5 minutes for НTTP codes 301 and 302 (Moved)
proxycachevalid 301 302 5m;
# 30 minutes for НTTP code 304 (Not modified)
proxycachevalid 304 30m;

proxycache_usestale
error timeout updating
http500 http_502 http_503 http504;

# Use this cache for everything
proxycache localcache;

# это контейнеры с Apache НTTPD, между которыми происходит
# простейшая балансировка нагрузки
upstream figvam
{
ip_hash;
server 10.0.0.100:8000;
server 10.0.0.101:8000;
server 10.0.0.102:8000;
server 10.0.0.103:8000;
# ...
}

# статическое содержимое (картинки итд) nginx раздает самостоятельно...
server
{
listen 0.0.0.0:80 default_server;
listen [::]:80 ipv6only=on;
listen 0.0.0.0:443 ssl;
listen [::]:443 ipv6only=on ssl;

ssl_certificate /etc/nginx/cert/local.crt;
sslcertificatekey /etc/nginx/cert/local.key;

server_name "static.example.net";
root "/home/example/www";
location /
{
autoindex off;
}
}

# ... а за динамическим контентом (т.е. за результатами работы скриптов)
# ходит к индейцам
server
{
listen 0.0.0.0:80;
listen [::]:80 ipv6only=on;
listen 0.0.0.0:443 ssl;
listen [::]:443 ipv6only=on ssl;

ssl_certificate /etc/nginx/cert/local.crt;
sslcertificatekey /etc/nginx/cert/local.key;

server_name "example.net";
location /
{
clientmax_bodysize 16M;
proxysetheader Нost $host;
proxyset_header X-Real-IP $remoteaddr;
proxy_pass http://figvam;
}
}

}



--
Alexey V. Vissarionov aka Gremlin from Kremlin
gremlin ПРИ gremlin ТЧК ru; +vii-cmiii-ccxxix-lxxix-xlii

... Пропала собака? Спросите у Пака!
--- /bin/vi
Ответить с цитированием