Nginx фронтендом от апача

+5
2.02K
Передомной вставала задача поставить instantcms через frontend, я бы и не стал этого делать еслиб не было необходимости запуска апача на 8080 порту, а nginx на 80. (зачем уточнять не буду).

Тут нашел инструкцию по запуска без фронд-енда. НО она меня не устраила в силу упертости… В общем делается все легко

Настраиваем полностью apache2, ставить nginx, обязательно ставим Mod_rpaf иначе у всех пользователей ип будет определятся или как ип сервера или 127.0.0.1. Ну представим что вы уже все поставили осталось настроить nginx,

Пожалуйста если вы не знаете что такое frondend, зачем это нужно и у вас нет проблем с нагрузкой не эксперементируйте..

  1. user nginx;
  2. worker_processes 1; ## Лучше всего ставить под количество процессоров. если уж очень сильная нагрузка можно под количество жестких дисков.
  3.  
  4. pid /var/run/nginx.pid; ## Это директиву придется менять на ваш путь, при запуске выдаст ошибку.
  5.  
  6. worker_rlimit_nofile 10240;
  7. worker_rlimit_sigpending 32768;
  8.  
  9. events {
  10. worker_connections 1024;
  11. use epoll;
  12. }
  13.  
  14. http {
  15.  
  16. include /etc/nginx/mime.types; ## В зависимости от операционки этот путь так же возможно придется менять
  17. default_type text/html;
  18.  
  19. log_format main '$remote_addr - $remote_user [$time_local - $upstream_response_time] $status '
  20. '"$request" $body_bytes_sent "$http_referer" '
  21. '"$http_user_agent" "$http_x_forwarded_for"';
  22.  
  23. client_header_timeout 90;
  24. client_body_timeout 90;
  25. send_timeout 120;
  26.  
  27. proxy_read_timeout 300;
  28. proxy_connect_timeout 180;
  29. proxy_send_timeout 300;
  30.  
  31. proxy_buffer_size 256k;
  32. proxy_buffers 64 512k;
  33. proxy_busy_buffers_size 1024k;
  34. proxy_temp_file_write_size 1024k;
  35.  
  36. ## Это нужно для определение реального IP, без следующих строк вы получите 127.0.0.1 у всех пользоваетелей.
  37. proxy_set_header Host $host;
  38. proxy_set_header X-Real-IP $remote_addr;
  39. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  40.  
  41. gzip on;
  42. gzip_min_length 4096;
  43. gzip_buffers 32 64k;
  44. gzip_types application/x-javascript text/css text/xml text/plain;
  45.  
  46. client_header_buffer_size 4k;
  47. client_max_body_size 20480000;
  48. large_client_header_buffers 16 8k;
  49.  
  50. sendfile on;
  51. tcp_nopush on;
  52. tcp_nodelay on;
  53.  
  54. output_buffers 32 64k;
  55. postpone_output 1460;
  56.  
  57. lingering_time 30;
  58. lingering_timeout 10;
  59. reset_timedout_connection on;
  60.  
  61. keepalive_timeout 20;
  62. server_name_in_redirect on;
  63.  
  64.  
  65. server {
  66. ## Данные вашего сервера
  67. listen 78.46.144.34:80 default backlog=1536 rcvbuf=65536 sndbuf=65536 deferred;
  68. server_name site.citytula.ru www.site.citytula.ru;
  69. charset Windows-1251;
  70. access_log /var/www/logs/site_access.nginx.log main; ## Придется менять
  71. error_log /var/www/logs/site_error.nginx.log; ## Придется менять
  72.  
  73. location / {
  74. proxy_pass http://127.0.0.1:8080; ## Порт с которого идет проксирование.( бек -енд апач)
  75.  
  76. }
  77.  
  78. ## Статика, которая читается напрямую с nginx, html не прописывать - получите не рабочие ссылки с ЧПУ.
  79. ## Путь не забудьте поменять
  80. location ~* .+\.(jpg|gif|png|bmp|js|jpeg|exe|rar|zip|swf|htm|ico|txt|doc|avi|mp3|mpeg|wav|mid|reg|cdr|dat|mpg)$ {
  81. root /var/www/site/;
  82. expires 15d;
  83. }
  84.  
  85. ## закрываем .htaccess
  86. location ~ /\.ht {
  87. deny all;
  88. }
  89.  
  90. }
  91.  
  92.  
  93. }
  94.  
+2
Эдька Эдька 13 лет назад #
+
+4
qwest qwest 13 лет назад #
Вот такие отличные, информативные и содержательные посты меня всегда умиляют.
"Я делал вот так почему лучше не спрашивайте и у меня сработало, а если у вас не получается то лучше не эксперементируйте."
+1
picaboo picaboo 13 лет назад #
а просто он не понимает о чем пишет, в прочем в который уже раз :)
0
Nerix Nerix 13 лет назад #
Точно подмечено.
0
Михаил Михаил 13 лет назад #
Действительно пост слишком унылый .... Если вы уж сели описывать подобного рода операции то описывайте их нормально, а не как "школьник" у которого получилось это установить и он этому очень рад ....
+1
NickSolver NickSolver 13 лет назад #
Я описал это для тех кому нужно, а не для тех кто лазиет по блогу с мыслью лишь бы что нибудь закинуть на свой сайт ибо у меня будет много разных классных фишечек и у меня будет больше посещаемость. Действия приведенные выше нужны для разгрузки вебсервера. Подробнее об этом можно почитать в интернете.
+1
Михаил Михаил 13 лет назад #
Я администрирую добрый десяток вебсерверов и поверьте, ваша статья это лишь очередной копипаст существующего в сети .... каким образом это разгрузит сервер? nginx лишь хорошо работает с статикой, нежели апач и является более отказоустойким .... если уж речь зашла за оптимизацию ресурсов нужно было приводить в эту связку такие вещи как eaccelerator/memcache или прочие.
-5
NickSolver NickSolver 13 лет назад #
Ну если вы обратите внимание то
1. Статья называется как настроить front-end,
2. Цели могут быть у всех разные. У меня изначальная цель была проксировать демон чата
3. Статика обрабатывается через nginx.

Я еще раз повторяю я не буду ничего делать для массы, я уже раз написал статью которую раскритиковали люди которые нечего не смыслят в этому. По этому теперь все что я буду сюда выкладывать будет иметь вид для того чтоб информация была интересна ТОЛЬКО тем кому это нужно.
0
picaboo picaboo 13 лет назад #
А конкретно кому она может быть интересна?

Допустим наш читатель лох и денег на админа нет, но зачем то у него сайт висит на впс. Ему бедному надо накурить магов как поставить nginx, затем он будет пытаться потавить mod_praf. И тут о чудо, все заработает на дефолтном конфиге. Но как же, он же помнит про этот великолепный пост, скопирует конфиг отсюда и будет рвать волосы на спине, так как все перестанет работать.

Цель такая ?
+3
ssh2k ssh2k 13 лет назад #
...я уже раз написал статью которую раскритиковали люди которые нечего не смыслят в этому.

Ну..ну..грамотный вы наш...
+2
Alexneva Alexneva 13 лет назад #
Я еще раз повторяю я не буду ничего делать для массы, я уже раз написал статью которую раскритиковали люди которые нечего не смыслят в этому. По этому теперь все что я буду сюда выкладывать будет иметь вид для того чтоб информация была интересна ТОЛЬКО тем кому это нужно.

Спасибо...как будто в рожу плюнули (((
-3
Protomoto Protomoto 13 лет назад #
NickSolver
Я еще раз повторяю я не буду ничего делать для массы, я уже раз написал статью которую раскритиковали люди которые нечего не смыслят в этому. По этому теперь все что я буду сюда выкладывать будет иметь вид для того чтоб информация была интересна ТОЛЬКО тем кому это нужно.
Солидарен, +
-1
Михаил Михаил 13 лет назад #
Зачем тогда вообще писали? Непонятно .... Поверьте, те кто смогут поставить тот же nginx/apache/etc с примочками в виде mod_rpaf даже с дефолтных apt/yum вполне и сами смогут настроить nginx на оптимальную работу ....
-1
picaboo picaboo 13 лет назад #
я бы уточнил. те кто сможет сам поставить, тому первые пару месяцев скачка производительности будет хватать с запасом. потом уже будет и тюнинг nginx по конкретный конфиг сервера и тюнинг глубокий мускула, ибо не только статикой жив сайт, тормоза базы nginx не излечит. и тд. и тп. а пока все и так будет работать на ура. а вот тем кто юзает панельки, может прийти пичалько. такой конфиг может перекособочить ispmanager, у него несколько другая логика и конфиг он генерирует свой и в него он потом по своему шаблону прописывает сайты, и при неправильной разметке он его портит.

Еще от автора

Яндекс каталог - практические советы
На форуме была поднята тема про подачу сайта в Яндекс Каталог.
CSS3-генераторы
Данный пост был взял в habrahabr, многие не читают этот замечательный ресурс, по этому я считаю своим долгом сделать перепост, если что не так извиняй
С чего начать работу с ссылками - Часть 1
Для начала данная информация опирается на Яндекс, так как большая часть рынка принадлежит ему.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.