Перейти к содержимому


Фотография
- - - - -

Memcached - Joomla - JBZoo


Сообщений в теме: 42

#21 udjin

udjin

Отправлено 24 February 2016 - 19:04

 

 

nginx выполняет php код ровно столько же.

Вы очень сильно ошибаетесь. Очень сильно. Nginx - это вебсервер. Он общается с процессом пула пхп через сокет. Обработкой кода занимается непосредственно то, что и должно этим заниматься - слейв процесс интерпретатора пхп.

Я же выше конфиги кидал, там в файле виртуального хоста nginx директивы для взаимодействия с php (в конце файла). Вы внимательно посмотрите, погуглите директивы и всё поймёте сразу.


Сообщение отредактировал udjin: 24 February 2016 - 19:12

  • 1

#22 SmetDenis

SmetDenis

Отправлено 24 February 2016 - 20:05

Если интерпретатор выполняет скрипт за 100ms то не особо важно кто его запускает сверху, который добавляет лишь оверхед тем или иным способом.
Можно считать, что 100ms это нижняя грань с точки зрения nginx/apache/консоли/того кто висит на сокете... Можно снизить только конфигами самого интерпретатора или оптимизацией кода, кешерами, php7. Но явно не за счет того кто и как запустил этот скрипт.

Уж поверьте, я прекрасно знаю как это все работает и много всякого настраивал как руками, так и автоматом. И через сокеты (у меня так сейчас несколько демонов работают с http на разных портах, один на жаве, другой на питоне, и кажется третий на перле) и модулям настраивал, и cgi и через mpm worker в апаче (все три пробовал)... И даже иногда собирал это добро из исходников для фана в генте =) Хорошо представляю, что именно вы сделали в конфигах и что это значит в практическом плане ;)

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

Вот если б весь сайт на php можно было бы запустить как приложение один раз и слушать события на входе, как это делается в той же ноде, то скорость была бы нереально быстрой. Вместо сотен миллисекунд мы бы получили единицы и десятки, это бы практически полностью ликвидировало проблему с I/O, которую решают все эти опкод-кешеры. Получили бы асинхронность как в js))))

Думаю, вы все равно будете считать что nginx ускоряет сам php, а не его пуск. Ну ладно, дело хозяйское =)
  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#23 udjin

udjin

Отправлено 25 February 2016 - 10:09

 

 

Думаю, вы все равно будете считать что nginx ускоряет сам php, а не его пуск. Ну ладно, дело хозяйское =) 

таки я ничего вам и не доказываю) И я не говорил что вебсервер как-то ускоряет отдельно стоящий в системе интрепретатор, вы что так меня оскорблять)  Просто вы показали забитый топ, я посоветовал сменить связку и проверить эффект.
 

 

 

Вот если б весь сайт на php можно было бы запустить как приложение

Ну, тут уже надо Yii или Lavarel  вроде. 
Щитаю, норм пофлудили в топике)


Сообщение отредактировал udjin: 25 February 2016 - 10:11

  • 1

#24 SmetDenis

SmetDenis

Отправлено 25 February 2016 - 10:12

Ну, тут уже надо Yii или Lavarel надо ж вроде

PHP работает чтобы умирать.
Асинхронные решения в популярных фреймах, тот же reactphp - это лишь костыли в красивой упаковке.
  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#25 udjin

udjin

Отправлено 25 February 2016 - 11:18

PHP работает чтобы умирать.

Именно поэтому я пишу на руби)


  • 1

#26 Iv_Le

Iv_Le

Отправлено 12 April 2016 - 00:35

Охрипеть... это вы на каком тут языке разговариваете? Ничерта не понял.

 

:))  :))  :))


  • 2

#27 udjin

udjin

Отправлено 12 April 2016 - 08:52

У нас тут своя атмосфера  :)


  • 1

#28 fiction13

fiction13

Отправлено 12 August 2016 - 08:15

Простите, что поднимаю старую тему.

 

Пробую nginx+php-fpm, поднимаю бэкап Joomla, главная и админка - нормально, остальные страницы получаю 404.

 

Неправильно настроены редиректы в nginx?


  • 0

#29 SmetDenis

SmetDenis

Отправлено 12 August 2016 - 09:04

Неправильно настроены редиректы в nginx?

Покажите настройки nginx для сайта.
Т.к. нет apache то все правила в файле .htaccees не работают. А там есть важное правило для SEF - перенаправление всех запросов на index.php
  • 1
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#30 fiction13

fiction13

Отправлено 12 August 2016 - 09:28

Покажите настройки nginx для сайта.

 

Вообще я использовал конфиги с первой страницы, немного их модифицировав. И скорее всего сделал что-то не так (скорее всего), так как в этом пока понимаю мало.

 

Буду благодарен, если Вы меня хотя бы направите в нужном направлении, чтобы покурить гугл.
 
Спасибо за помощь.
 

server {
  listen 178.57.222.113:80 default_server;
  server_name  _;
  disable_symlinks if_not_owner;

  access_log /var/log/nginx/default_server.access.log;
  
    charset utf-8;
    source_charset utf-8;

    ####LOCATIONS####
    
    location /administrator {
        root /var/www/domain/site;
        index index.php;
        auth_basic "Please, enter your password";
        auth_basic_user_file /var/.htpasswd;
    }


    location = /favicon.ico {
        log_not_found off;
        access_log off;
    }
    
    location = /robots.txt {
        allow all;
        log_not_found off;
        access_log off;
    }

    ####SECURE####
    
    set $common_exploit 0;
    if ($query_string ~ "proc/self/environ") {
        set $common_exploit 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $common_exploit 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $common_exploit 1;
    }
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $common_exploit 1;
    }
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $common_exploit 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $common_exploit 1;
    }
    if ($common_exploit = 1) {
        return 444;
    }

    ####SPAM####
    
    set $looks_like_spam 0;
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $looks_like_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $looks_like_spam 1;
    }
    if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $looks_like_spam 1;
    }
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $looks_like_spam 1;
    }
    if ($looks_like_spam = 1) {
        return 444;
    }

    ####SQL####
    
    set $sql_injection 0;
    if ($query_string ~ "concat.*\(") {
        set $sql_injection 1;
    }
    if ($query_string ~ "union.*select.*\(") {
        set $sql_injection 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $sql_injection 1;
    }
    if ($sql_injection = 1) {
        return 444;
    }

    #####USER-AGENTS#####

    if ( $http_user_agent ~* (nmap|nikto|wikto|sf|sqlmap|bsqlbf|w3af|acunetix|havij|appscan|IndyLibrary|wget|libwww-perl|DownloadDemon|GetRight|GetWeb|Go!Zilla|Go-Ahead-Got-It|GrabNet|TurnitinBot|HTTrack) ) {
        return 444;
    }

    #####REQUEST#####
    
    if ($request_method !~ ^(GET|HEAD|POST)$ ) {
        return 444;
    }

    #####HOTLINKING#####
    
    location / {
        try_files $uri $uri/ /index.php?q=$request_uri;
        if (!-e $request_filename) {
        	rewrite ^(.*)$ /index.php;
        }
    }

    #####DENY EXEC IN WRITIBLE#####

    location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
        return 444;
    }

    #####DENY EXEC TO HIDDEN#####
    
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    #####CACHE#####

    location ~* \.(ico|pdf|flv)$ {
        expires 1y;
        log_not_found off;
        access_log off;
    }

    location ~* ^.+\.(ogg|css|js|html|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|ppt|tar|mid|midi|wav|bmp|rtf)$ {
        expires 1m;
        log_not_found off;
        access_log off;
    }


    location ~ \.php$ {
    	try_files $uri =404;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_buffers 16 16k;
        fastcgi_buffer_size 32k;
        fastcgi_pass unix:/var/run/php-fpm.apache.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
  
  include /etc/nginx/vhosts-includes/*.conf;
} 

  • 0




Click to return to top of page in style!