За последние 24 часа нас посетили 17926 программистов и 1608 роботов. Сейчас ищут 1393 программиста ...

nginx или куда написать это не знаю просто...

Тема в разделе "PHP для новичков", создана пользователем askanim, 15 июл 2016.

  1. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Мои попытки подружить nginx и phpmyadmin не как не могут увеньчатся успехом, уже сижу часов 10 бьюсь и не могу добиться результата чего только не делал, не фига не работает, кто это делал кто может помочь, только реально прошу помощи, у меня вообще phpmyadmin отказывается открываться прямо жесть какая то... :(
     
    #1 askanim, 15 июл 2016
    Последнее редактирование: 15 июл 2016
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    На русском пиши, пожалуйста. Очень сложно читать постоянные грамматические ошибки. Школу вроде бы должен был уже окончить.

    По теме: показывай как делаешь и какой результат получаешь.
     
    askanim нравится это.
  3. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Логи чего говорят? Какая ошибка? Как ставишь?
     
    askanim нравится это.
  4. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    В общем. смотрим сделал вот такой файл под конфигурацию nginx

    для своего же статического айпишника.

    Код (Text):
    1. server{
    2.     #имя сервера:
    3.     server_name localhost;
    4.  
    5.     #логи
    6.     access_log /var/log/nginx/localhost.access.log;
    7.     error_log  /var/log/nginx/localhost.error.log;
    8.  
    9.     # корневая директория
    10.     root /var/www/html;
    11.  
    12.     location ~ \.php$ {
    13.         try_files $uri = 404;
    14.         include fastcgi_params;
    15.         fastcgi_pass  unix:/var/run/php/php7.0-fpm.sock;
    16.         fastcgi_index index.php;
    17.  
    18.         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    19.     }
    20.  
    21.     # порядок индексов
    22.     location /
    23.     {
    24.         index  index.php index.html index.htm;
    25.     }
    26.  
    27.     #кастомная страница 404
    28.     location /errors {
    29.          alias /var/www/html/error ;
    30.     }
    31.     error_page 404 /errors/404.html;
    32. }

    Так php у меня заработало. Всё круто создал директорию в html - phpmyadmin

    На неё поставил вот такую вещь. Что делает ссылку на файл с phpmyadmin

    Код (Text):
    1. sudo ln -s /usr/share/phpmyadmin /usr/share/nginx/html
    Что в результате я вижу теперь вот такую вещь переходя по своему адресу

    можете кстати посмотреть

    http://212.16.195.4/phpmyadmin
    --- Добавлено ---
    По логам вот что видно

    2016/07/15 17:42:47 [error] 28879#28879: *192 FastCGI sent in stderr:
    "PHP message: PHP Fatal error: require_once():
    Failed opening required '/usr/share/php/php-gettext/gettext.inc' (include_path='.:/usr/share/php') in /usr/share/phpmyadmin/libraries/select_lang.lib.php on line 477" while reading response header from upstream, client: 95.154.83.146,
    server: localhost, request: "GET /phpmyadmin/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "212.16.195.4"
    --- Добавлено ---
    честно не понимаю что не так сделал при установке...
     
  5. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Смотри ещё логи ошибок PHP
     
    askanim нравится это.
  6. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    @denis01 php мб я не установил что нибудь, что-то нужно для работы может чего не хватает, я ставил php-fpm
     
  7. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Чуть чуть конфиг не дописал

    Код (Text):
    1. server{
    2.    
    3.     # порядок индексов
    4.     location /
    5.     {
    6.         index  index.php index.html index.htm;
    7.         try_files $uri $uri/ /index.php?$args;
    8.     }
    9.    
    10. }
    Попробуй, если будет что не так кидай логи
     
    askanim нравится это.
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @askanim в php.ini можно настроить error_log чтобы писался в файл и указать название файла, он появиться в той же папке, где лежит срипт который был запущен и в нём были ошибки.
     
    askanim нравится это.
  9. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Это пишет Nginx, в его примере пишет сюда /var/log/nginx/localhost.error.log
     
  10. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    вот какая ошибка сейчас

    2016/07/15 18:19:13 [error] 29199#29199: *258 FastCGI sent in stderr: "PHP message: PHP Fatal error: require_once(): Failed opening required '/usr/share/php/php-gettext/gettext.inc' (include_path='.:/usr/share/php') in /usr/share/phpmyadmin/libraries/select_lang.lib.php on line 477" while reading response header from upstream, client: 95.154.83.146, server: localhost, request: "GET /phpmyadmin/ HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "212.16.195.4"
     
  11. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Советую Nginx сделать frontend к Apach, сделать конфиг с настройками виртуальных хостов

    Пример конфига
    Код (Text):
    1. user  nginx;
    2. worker_processes  1;
    3.  
    4. error_log  /var/log/nginx/error.log warn;
    5. pid        /var/run/nginx.pid;
    6.  
    7.  
    8. events {
    9.     worker_connections  1024;
    10. }
    11.  
    12.  
    13. http {
    14.     include       /etc/nginx/mime.types;
    15.     default_type  application/octet-stream;
    16.  
    17.     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    18.                       '$status $body_bytes_sent "$http_referer" '
    19.                       '"$http_user_agent" "$http_x_forwarded_for"';
    20.  
    21.     access_log  /var/log/nginx/access.log  main;
    22.  
    23.     sendfile        on;
    24.     #tcp_nopush     on;
    25.  
    26.     keepalive_timeout  65;
    27.     client_max_body_size 100m;
    28.  
    29.     gzip  on;
    30.         gzip_min_length 500;
    31.         gzip_proxied     any;
    32.         gzip_types text/xml application/xml application/x javascript text/javas$
    33.         gzip_disable     "msie6";
    34.         gzip_comp_level  4;
    35.  
    36.     include /etc/nginx/conf.d/*.conf;
    37.     /include /etc/nginx/sites-enabled/*.conf; // Эта строчка подключает все файлы в директории /etc/nginx/sites-enabled
    38. }
    Дальше создаешь 2 директории
    1) sites-enabled 2) sites-available
    Для создания домена создаешь файл в директории sites-available "мой_сайт.ру.conf"

    Код (Text):
    1. server {
    2. listen   80;
    3.  
    4.     access_log  /путь к логу/nginx-access.log; # Лучше туда же где сайт
    5.     error_log   /путь к логу/nginx-error.log;
    6.  
    7.     server_name мой_сайт.ру *.мой_сайт.ру;
    8.     root /корневая сайта/$subdomain;
    9.  
    10.     set $subdomain "";
    11.     if ($host ~* ^([a-z0-9-\.]+)\.мой_сайт.ру$) {
    12.         set $subdomain $1;
    13.     }
    14.     if ($host ~* ^www.мой_сайт.ру$) {
    15.         set $subdomain "";
    16.     }
    17.     if ($host ~* ^мой_сайт.ру$) {
    18.         rewrite ^ http://www.мой_сайт.ру$request_uri? permanent;
    19.     }
    20.  
    21.     location / {
    22.     index index.php index.aspx index.html index.htm;
    23.         try_files $uri $uri/ /index.php?$args;
    24.     }
    25.  
    26.     location ~ \.php$ {
    27.     fastcgi_split_path_info ^(.+\.php)(/.+)$;
    28.         fastcgi_pass   unix:/tmp/php-fpm.sock;
    29.         fastcgi_index index.php;
    30.         include fastcgi_params;
    31.         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    32.     }
    33.  
    34. }
    Оставишь только блок location ~ \.php$ как у тебя там настроено
    Таким образом для создания субдомена надо будет просто создать директорию в корне сайта например "субдомен" чтобы заработал субдомен.мой_сайт.ру
    Еще одно, при наборе адреса мой_сайт.ру будет редирект на www.мой_сайт.ру что хорошо для поиска, меньше дублей

    И не забывай делать линк на конфиг

    ln -s /etc/nginx/sites-available/мой_сайт.ру.conf /etc/nginx/sites-enabled/мой_сайт.ру.conf

    Рестартуешь nginx и радуешься автоматизированным решением
     
    askanim нравится это.
  12. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Ну пхп ругается на геттекст. Ты продолжаешь не уметь читать? Или ты думать не умеешь? Пакет ставил?
     
    askanim нравится это.
  13. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4

    "fastcgi://unix:/var/run/php/php7.0-fpm.sock:" строка говорит о том что нет доступа к папке /var/run/php. Внимательно проверь ее существование, затем того пользователя от которого стартует nginx и php-fpm. Что nginx что php-fpm должны работать от одного пользователя. Если опять не получится кидай конфиги nginx и php-fpm. Вечером зайду гляну
     
  14. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Sanchis ууууууууууууу. Помолчи.
     
    askanim и mr.akv нравится это.
  15. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    В Nginx немного мудрено все ))) Поэтому использование чистого Nginx это извращение. В нем нет PHP совсем а php-fpm настроить первый раз не сразу человек понимает. Хотя там да настройки берутся из php.ini тоже, некоторые.
     
    askanim нравится это.
  16. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Sanchis первый фейл твоего высера это сама трактовка ошибки. Тебе говорят мол не могу найтить требуемый геттекстинк в такой-то директории вызванный а таком-то месте такого-то файла. Сия хренота случилась при общении с таким-то апстримом. Твоя версия: не могу прочитать апстрим. Отлично ваще да?
    второй фейл твоего высера это про обязательность работы nginx и fpm от одного пользователя. Для зачем? Сокет фпм должен быть с такими уидами-гуидами чтоб нгинкс мог в него писать-читать. А работать пхп машина должна от своего юзера. Для изоляции.

    В общем всё про тебя понятно. Лучше реально молчи чем вот так на людях демонстрировать свои нулевые знания.
     
    askanim и mr.akv нравится это.
  17. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Это ты мне говоришь? Тому кто не одну машину с nginx администрирует? ))) Ну даешь, сам то сталкивался когда нибудь с конфигурированием таких серверов?
     
  18. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    АХАХХАХА.
    @Ganzal, в общем я говнокодер, а ты, видимо, говноадмин. бгг
     
    askanim нравится это.
  19. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Блин читай лог, /usr/share/php/php-gettext/gettext.inc говорит что не может получить доступ к /usr/share/php
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    а как надо пользоваться?
    а ты хотел мод-пхп для нгинкса?
    ахаха,что ты делаешь, прекрати...
    да, тебе. Уволить тебя за такие знания. Представляю что ты там наадминил.
    не, впервые слышу. Ну это если ты в термин "таких" вкладываешь такие же рукожопые решения какие ты админишь. А так у меня свой хостинг. Ой.
     
  21. askanim

    askanim Старожил

    С нами с:
    7 апр 2016
    Сообщения:
    2.201
    Симпатии:
    166
    Адрес:
    GABRIEL
    Так ладно давайте продолжим срач позже, смотрите наковырялся сделал вот такое вот дело.... добавил в конфиг своего сайта такие вот дела
    ....

    Код (Text):
    1. location /phpmyadmin/ {
    2.         alias /usr/share/phpmyadmin/;
    3.         location ~ \.php$ {
    4.                 fastcgi_pass unix:/var/run/php-pool-name.sock;
    5.                 fastcgi_index index.php;
    6.                 include fastcgi_params;
    7.                 fastcgi_param SCRIPT_FILENAME $request_filename;
    8.                 fastcgi_ignore_client_abort off;
    9.                 fastcgi_param PHP_ADMIN_VALUE "open_basedir=/usr/share/phpmyadmin:/usr/share/php/php-gettext";
    10.     }
    11.     location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
    12.         access_log    off;
    13.         log_not_found    off;
    14.         expires 1M;
    15.     }
    16.   }
    Так понимаю нужно было дать разрешение какое то php я дал, но блин теперь ошибка 403 (простите
    403 Forbidden
    )
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    покажи мне ГДЕ КОНКРЕТНО ГОВОРИТСЯ ОБ КАТАЛОГЕ
    я вижу фатальную ошибку при попытке подключения файла геттекст-инк. Дело в том что инклюд допускает отсутствие файла и выбрасывает ворнинг, а реквайр не допускает и ложит машину фаталом. Что мы и наблюдаем. Не надо тут ничего придумывать.
     
  23. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Я с вас поражаюсь, вместо того чтобы людям помочь вы бардак устраиваете. Что за люди то такие?
    --- Добавлено ---
    Прям тут Failed opening required '/usr/share/php/php-gettext/gettext.inc' (include_path='.:/usr/share/php') in /usr/share/phpmyadmin/libraries/select_lang.lib.php on line 477"
     
  24. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    @Sanchis поражайся дальше. В отличие от тебя мы можем помочь. А ты не можешь, потому что у тебя на очевидную формулировку пхп-машины нашлась собственная трактовка. И ты еще будешь рассказывать что админишь веб-сервера. Печаль за тех кто тебе доверил сию ответственную миссию.
     
  25. Sanchis

    Sanchis Новичок

    С нами с:
    14 мар 2016
    Сообщения:
    38
    Симпатии:
    4
    Доступ запрещен, постоянно смотри логи