Не совсем понял, вы хотите разрешить или же блокировать доступ к сайту по IP, если проверка по user agent пройдена?
Помимо $remote_addr можно использовать стандартные директивы deny и allow, в которых можно указать целую подсеть.
deny 192.168.0.0/24;
http://nginx.org/ru/docs/http/ngx_http_access_module.html
А кто вам запрещает это сделать rewrite'ом?
И насколько я знаю, простыми средствами сервера такое не провернуть.
Хм, тут надо глядеть каким образом вы пробрасывали порты, но раз говорите 22 работает, то даже и не знаю...
Если не критично, попробуйте переключить карту в режим моста и подключатся напрямую по адресу виртуальной машины (лично у меня так настроено) и не мучайтесь.
/var/log/mysql директорию создайте, ну или же храните его там, где вам удобно. Путь тут не имеет значения. Ну и естественно перегрузите mysql
http://linux-bash.ru/menusistem/79-htop.html
Вполне, mysql выполняет какие-то действия, например запросы обрабатывает.
long_query_time = 5 (лучше меньше, 2-3)
log_slow_queries = /var/log/mysql/mysql-slow.log
Всё это в секции [mysqld]
Смотрите результат команд top, htop. Там вы увидите какой процесс (процессы) грузят вам систему,
далее нужно разбиратся почему они это делают. Возможно вас "парсят", а возможно на вас идёт
небольшая DDoS атака. Также возможны проблемы с диском и ещё куча разных вариантов.
Под проверкой своих сайтов "извне" вы что понимаете? Мониторинг доступности?
Если да, то есть множество замечательных сервисов, лично я пользуюсь monitorus .
наверно запретить через disable_functions....
хотя вывод то через echo, а не shell_exec, хм.... Действительно, что с этим делать?
Я так полагаю, что следы за собой можно и подчистить... Хостер этим врядли заниматся будет.
На сколько я знаю, то в подобной конфигурации (nginx+php-fpm) не как. nginx не хочет такое делать. Хотя может я и не прав.