FXP (англ. File eXchange Protocol — протокол обмена файлами) — способ передачи файлов между двумя FTP-серверами напрямую, не закачивая их на свой компьютер. При FXP-сессии клиент открывает два FTP-соединения к двум разным серверам, запрашивая файл на первом сервере, указывая в команде PORT IP-адрес второго сервера.
Категорія: WWW
Сборка модуля php pdo_mysql
Представим себе ситуацию: mysql у вас стоит на одной машине, а php – на другой. И вам нужно добавить поддержку pdo_mysql в php. Тянуть mysql на машину с php не надо, достаточно лишь создать каталог /usr/mysql и в нём такие каталоги:
lib/mysql – сюда скопировать либы libmysqlclient.so и libmysqlclient_r.so
bin – сюда скопировать mysql_config
include – сюда скопировать заголовочные файлы
Этого достаточно, что бы собрать pdo_mysql.
Тестовый стенд: Solaris 11, php-5.4.3 (php установлен в /usr/php54)
nginx(frontend)+apache(backend)
Рассмотрим довольно популярную связку Apache+Nginx для снижения нагрузки на сервер. Так же, хочу заметить, что данная статья учитывает virtual hosts, а не отдельно хостящийся сайт (для такого сайта статья тоже подойдёт)
[nginx] Ошибки nginx’a
[error] upstream timed out (Operation timed out) while reading response header from upstream
Эта ошибка появляется тогда, когда страница генерируется больше времени, чем установленный timeout front-end’a. Обычно она возникает когда nginx отправляет запросы дальше (на apache, на php-fpm, …) По умолчанию эти таймауты – 60 секунд. Поставим 180 (эти параметры прописываются в location):
proxy_send_timeout 180s;
proxy_read_timeout 180s;
Хочу заметить, что буква ‘s’ – обязательна. Без неё ошибок не будет, но и значения не будут учитываться.
[nginx] Рекомендации по защите
В статье будем рассмотрены варианты защиты nginx от разного рода нападений, атак, а так же улучшений
1) Запрет доступа по IP
Разрешим доступ только через доменное имя:
if ($host !~ ^(host.com|www.host.com)$ ) {
return 444;
}
Если вы видите такую ошибку, она может означать одно: есть проблемы с модулем httpready. Но решение проблемы делиться на 2 случая:
1) Модули не подгружены.
Проверить загрузку модулей можно так:
$/sbin/kldstat -v | grep accf_http
$/sbin/kldstat -v | grep accf_data
Представим ситуацию: нужно добавить модуль, без пересборки всего php (так называемый shared модуль). То есть по сути, мы скомпиллируем *.so и просто подгрузим его через php extensions.
Что бы добавить работы взломщикам 🙂 уберём из заголовков (запрос get HEAD / HTTP/1.0) информацию о версии нашего web-сервера. Естественно, что информацию о самом web-сервере таким образом убрать не удастся (зато можно изменить или убрать, поправив исходники).
Защита файлов inc
Многие web-разработчики используют файлы inc для хранения переменных, в том числе и паролей. При пренебрегательном отношении к безопасности, содержимое файлов может вывестись простым запросом искомой страницы. Вот, какие методы помогут избежать этого:
В статье будет рассмотрено кратко популярные бенчмарки. Так же рекомендую прочесть стать о то, как правильно тестировать нагрузку.
ab (http://httpd.apache.org/docs/2.4/programs/ab.html) – это утилита для тестирования производительности вашего веб-сервера Apache. Она создана для того, чтобы вы могли определить производительность вашей текущей настройки Apache. В первую очередь, AB показывает сколько запросов в секунду ваш Apache способен обслужить.