Доброго дня. phpMyAdmin-4.9.5 http://joxi.ru/8AnxDybIzMbpBm phpMyAdmin-5.0.2 приблизительно также. Это может быть связанно с настройками apache2 ?,- просто на энгинс всё было корректно.
у меня связка nginx для статистического контента апаче для динамического , можно энгинс настроить для связи с PMA через " location" типо- #phpmyadmin location /phpmyadmin { root /usr/share/; index index.php; try_files $uri $uri/ =404; location ~ ^/phpmyadmin/(doc|sql|setup)/ { deny all; } location ~ /phpmyadmin/(.+\.php)$ { fastcgi_pass unix:/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; #include snippets/fastcgi-php.conf; include fastcgi_params; } } но тогда как быть с апачем не пойму он будет работать по прежнему с динам..конт.., или есть оптимальнее решение?
Одно другому вообще не мешает. Принял нгинкс запрос, статику отдал сам, динамику реверс-проксировал другому. В конфиге выше - это пхп-фпм. Для апача будет скорее всего не fastcgi_pass а proxy_pass. И надо смотреть как именно проксируется в сторону апача и потом ещё изучить виртуальный хост апача который должен этот проксированный запрос обработать. Конфиги в студию.
Всё конфиги в точности по этому руководству с нашего сайта. https://php.ru/forum/threads/ustanovka-nginx-apache-na-ubuntu-16-04.62676/ только у меня Деба 9, но это почти очень похоже. --- Добавлено --- Только вот в чём не понятно,- он говорит что по адресу - sudo nano /etc/apache2/apache2.conf надо делать == ServerName 127.0.1.1 разве не ServerName 127.0.0.1 ,? --- Добавлено --- Как это решать,?
на локальной петле несколько миллионов адресов - вся подсеть 127.0.0.0/8. В дебе обычно локалхост .0.1 а имя машины - .1.1 - см /etc/hosts у себя. Автор статьи не пояснил многих моментов предложив просто скопипастить готовый конфиг, который у него вполне может прекрасно работать из-за других особенностей настройки системы. Полагаю что лучше там оставить .0.1 и идти дальше внимательно настраивать виртуальный хост.
Да автора я прекрасно понимаю, спасибо за то что он уже поделился опытом.! Были добавлены те настройки для PMA в конфиг энгинса без результатно, тэстил на пхп 5.6 и 7.2.. Думаю что и апаче всё норм вот конфиги... ServerName 127.0.0.1 Mutex file:${APACHE_LOCK_DIR} default PidFile ${APACHE_PID_FILE} Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 5 User ${APACHE_RUN_USER} Group ${APACHE_RUN_GROUP} HostnameLookups Off ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn IncludeOptional mods-enabled/*.load IncludeOptional mods-enabled/*.conf Include ports.conf <Directory /> Options FollowSymLinks AllowOverride None Require all denied </Directory> <Directory /usr/share> AllowOverride None Require all granted </Directory> <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> #<Directory /srv/> # Options Indexes FollowSymLinks # AllowOverride None # Require all granted #</Directory> AccessFileName .htaccess <FilesMatch "^\.ht"> Require all denied </FilesMatch> LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %O" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent IncludeOptional conf-enabled/*.conf IncludeOptional sites-enabled/*.conf ////////////////// <VirtualHost 127.0.0.1:81> ServerAdmin webmaster@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/example.com/basic/web # <Directory /var/www/example.com/> # Options Indexes FollowSymLinks # AllowOverride All # Require all granted # </Directory> LogLevel warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined #Include conf-available/serve-cgi-bin.conf # Если есть ошибка 404, то выводим свою страницу данной ошибки ErrorDocument 404 /er404.html </VirtualHost> Может дело в самом PMA - нужно какой-то другой ,?
с пма всё отлично, если он с оф.сайта загружен где пма лежит? что в журналах ошибок обоих веб-серверов? конфиг нгинкса какой?
PMA = /usr/share/phpmyadmin user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # разрешаем загружать указанный максимальный объем файла; влияет на заливку дампа БД на сервер client_max_body_size 10m; # скрываем версию сервера nginx server_tokens off; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; gzip_vary on; # Разрешить выдавать в ответе строку заголовка "Vary: Accept-Encoding" gzip_proxied any; # Разрешить сжатие для всех проксированных запросов gzip_comp_level 6; # Степень сжатия (от 1 до 9 цифра больше увеличивает степень сжатия и увеличивает нагрузку на ЦПУ) gzip_buffers 16 8k; # Размер буферов, в которые будет сжиматься ответ gzip_http_version 1.1; # Устанавливает минимальную HTTP-версию запроса для сжатия ответа gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; #include /etc/nginx/conf.d/*.conf; # Если папка conf.d пустая, то можно закомментировать include /etc/nginx/sites-enabled/*; } =============================== server{ listen 80; root /var/www/sitetest/site; index index.html index.php index.htm; server_name sitetest.ru www.sitetest.ru; # xrennaideshmyphpmyadmin - это ваш секретный путь к phpMyadmin, таким образом всё # что касается phpMyadmin, будет отдавать Apacheи страница будет корректно отображаться. # Картинки и прочее отдаёт Nginx location ~*^(?!/xrennaideshmyphpmyadmin/).+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|b)$ { access_log off; expires 30d; } # запрет на доступ к .htaccess location ~/\.ht { deny all; } # Если есть ошибка 404, то выводим свою страницу данной ошибки. error_page 404 /er404.html; # передача запроса апачу location /{ proxy_pass http://127.0.0.1:81/; # Порт на котором висит Apache proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; proxy_set_header Host $host; proxy_connect_timeout 300; proxy_send_timeout 300; proxy_read_timeout 300; proxy_redirect off; proxy_set_header Connection close; proxy_pass_header Content-Type; proxy_pass_header Content-Disposition; proxy_pass_header Content-Length; } }
в нгинксе прописан хост sitetest.ru с рутом /var/www/sitetest/site локация мпа судя по комментарию /var/www/sitetest/site/xrennaideshmyphpmyadmin апачи не отрабатывает такую локацию ни дефолтом ни виртуальным хостом апачи не отрабатывает такой хост виртуальным хостом поэтому будет пытаться фолбэком использовать дефолтный который тоже не сможет ничем помочь ибо документ_руты разные чтоб схема работала надо чтоб апачи отвечал на запрос хоста sitetest.ru (и судя по 81 порту в конфиге прокси удобно протестировать работоспособность можно открывая в браузере http://sitetest.ru:81) с документ_рутом /var/www/sitetest/site и чтоб пма лежал в подкаталоге /var/www/sitetest/site/xrennaideshmyphpmyadmin
Cпасибо . Заработало вот так. http://localhost:81/phpmyadmin/index.php А вот чтобы убедится что оба сервера правельно работают,как вывести на странице ошибки какой именно сервер,- обрабaтыват несуществующий запрос? http://localhost/notsite.php должен apache http://localhost/notsite.должен nginx Эти две команды одно и тоже показывают код вьюшки - curl 127.0.0.1:81 curl 127.0.0.1:80
Чтоб понять какой именно сервер отработал запрос надо журналу ошибок нжинкса добавить флаг debug, сделать запрос к ресурсу и пойти почитать в логе ошибок логику разрешения запроса - там будут сотни строк для каждого запроса но по этому избыточному дампу будет ясно каким образом и почему нгинкс решил обработать запрос этого ресурса именно так. Потом флаг убрать чтоб не загадить диск, но всегда помнить что у всех адекватных инструментов есть возможность простой отладки. Ну а быстрее всего если это пхп - конечно же поглядеть PHP_SAPI или phpinfo() внимательно почитать.
понятно,ну ещё вопрос- сайт открывается нормально,но по http://localhost/user/login выдаёт 404 , пришлось закоментить настройки ЧПУ ,так работает , http://localhost/index.php?r=user/security/login это только .htaccess создовать сервер не причём?