Как я диагностирую проблему сохранения сессии о своем Храме Медиа CentOS VPS?

Причина состоит в том, что в режиме NAT VirtualBox эффективно обеспечивает маршрутизацию Интернет-трафика к и от виртуальной машины, тогда как в режиме моста необходимо сделать это сами. Другими словами, необходимо настроить главный компьютер как интернет-шлюз (с передачей и SNAT или подменой). В режиме моста ведет себя Ваш гость, как будто это был абсолютно отдельный компьютер на LAN позади брандмауэра (или абсолютно отдельный компьютер в Интернете, но это потребует отдельного статического IP-адреса), который является видом смысла выполнения виртуальной машины.

Так как у Вас, вероятно, только есть один статический общедоступный IP-адрес, необходимо связать другой (внутренний) IP-адрес с хостом ОС, или в том же интерфейсе или в другом, и затем или позволить гостю получать IP-адрес в той же внутренней подсети с сервера DHCP или настраивать его статически тот путь. Затем Вы настраиваете iptables на хосте, чтобы сделать передачу от внешнего IP до внутренней LAN плюс соответствующие правила для SNAT/MASQUERADE, и все должны быть в порядке.

0
задан 23 May 2017 в 15:41
1 ответ

Я вижу, что вы используете nginx и порт 7080 для apache.

Если ваша архитектура когда-либо включает несколько серверов apache и какую-то балансировку нагрузки, то вы должны что-то сделать для совместного использования сеансов через несколько серверов apache (memcached, умная балансировка нагрузки, nfs, mysql, ...).

Edit # 1

IMHO, поскольку у вас только один веб-сервер, сейчас нет причин пытаться использовать memcached для хранения сеансы.

В какой-то момент вам удалось настроить php для использования файлов для хранения сеансов, но файлы сеансов не были эффективно записаны / var / lib / php / session

Вот почему вы теряете сеанс при переходе с одной страницы к другому.

/ var / lib / php / session permissions обычно в порядке, и сеансы работают нормально в большинстве дистрибутивов linux и bsd.

Чтобы проверить, что разрешения в порядке, выполните следующие действия:

Шаг 1: Убедитесь, что php настроен для записи в / var / lib / php / session, используя ваш URL-адрес, который вызывает phpinfo (). Вы должны получить что-то вроде:

Registered save handlers => files user
session.save_path => /var/lib/php/session

шаг 2: Проверьте, под каким пользователем запущен apache, с помощью ps и просмотрев файлы конфигурации.

Вы должны получить apache, www, www-data или http.

шаг 3:

Убедитесь, что пользователь apache имеет право записи в путь сеанса. Это можно сделать, набрав ls -ld / var; ls -ld / var / lib; ls -ld / var / php; ls -ld var / lib / php / session

или эффективно создав файл с пользователем apache

su - www -s / bin / bash или su -m www

затем

touch / var / lib / php / session / test

Если разрешение не является проблемой, мы можем попробовать прочее

0
ответ дан 24 November 2019 в 11:33

Теги

Похожие вопросы