Перейти к публикации
IPS Invision Community

Настройка IPS


ZizionarD
 Поделиться

Рекомендованные сообщения

Не знал как назвать, но переходим из этой темы сюда)

К вопросу о Хранении данных и Кэшировании, я так понял что лучше ставить Redis

Ссылка на комментарий
Поделиться на других сайтах

  

22.12.2019 в 11:55, sovushik сказал:

Очень долго подгружает форум, особенно публикация ответов - жду по 7-10 секунд О_о

Как я решал эту проблему:

Nginx+php-fpm думаю не нужно рассказывать как установить в интернете инструкций куча.

/etc/php/7.x/fpm/pool.d/ваш конфиг:

pm = static
pm.max_children = устанавливается экспериментально.
pm.max_requests = 1000

Метод хранения данных Redis

pm.max_children = 5 вполне хватит для сервера с 1 Гб оперативной памяти.

 

Ссылка на комментарий
Поделиться на других сайтах

@agamer Окей, это я подправил, я щас е...сь с тем, чтобы Redis работал. Я его установил, но сайт не видет

Ссылка на комментарий
Поделиться на других сайтах

4 часа назад, ZizionarD сказал:

я щас е...сь с тем, чтобы Redis работал. Я его установил, но сайт не видет

в дебиане и наверно ubuntu

apt install redis

apt install php7.x-redis

Скрытый текст

2013243197_.png.8ac3d76bf41f01670e5d75f45f97a86f.png

Все работает из коробки.

По умолчанию редису доступна вся память, не имеет пароля. Но самое главное закрыть порт 6379 для внешних подключений и открыть для внутренних.

Ссылка на комментарий
Поделиться на других сайтах

@ZizionarD  Ну как видно у него на скрине выше то включено :)

Ссылка на комментарий
Поделиться на других сайтах

И еще один немаловажный момент. Блокировка китайцев. Это чтобы избавиться от нескольких сотен гостей которые периодически посещают ваш сайт. Сразу скажу, от этих гостей один вред и никакой пользы. Посещалку они не повышают и не учитываются аналитиксом и метрикой.

Используем бесплатные средства geoip

Халявный geoip сейчас обитает тут https://dev.maxmind.com/geoip/geoip2/geolite2/

Там сейчас надо регистрироваться и получить ключи с помощью которых надо скачивать свежие базы. Думаю разберетесь. Сам я уже не помню что там и как, но вам надо своем профиле получить ссылку типа:

Цитата

и по этой ссылке вы всегда будете качать базы geoip без авторизации.

Бесплатная база обновляется по вторникам, поэтому в cron ставим задание по средам выполнять вот такой php-файл:
 

<?php

 copy ("https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=ВАШ_КЛЮЧ&suffix=zip" , "GeoLite2-Country-CSV.zip" );

После чего у вас появится файл GeoLite2-Country-CSV.zip.

 

Далее клонируем вот эту утилиту к себе на сервер https://github.com/makhomed/nginx-geo

cd /opt
git clone https://github.com/makhomed/nginx-geo.git nginx-geo

И ставим её в cron чтобы она выполнялась после предыдущего php-файла.

/opt/nginx-geo/nginx-geo --download --convert --exclude-ipv6 --reload-nginx --src "https://адрес_сайта_где лежит файл/GeoLite2-Country-CSV.zip"

После чего в главном конфиге nginx в секции http пишем

http {

	##
	# Basic Settings
	##
	geo $geo {
   	 	default XX;
    	include /etc/nginx/geo/geoip_country_code.conf;
	}
...
}

В секции server конфига сайта

server {
    listen 443 ssl;
    server_name  ....
	.....

	if ($geo = CN){
		return 502;
	}
	.....
}

С этого момента можете забыть про пару сотен периодически появляющихся гостей.

Примечание.

Утилита nginx-geo раньше сама качала базу напрямую с maxmind. Имя файла всегда было GeoLite2-Country-CSV.zip. Но сейчас сделали авторизацию и ссылку с ключом. И теперь имя скачиваемого файла стало динамическим. Типа GeoLite2-Country-CSV.zip?blablabla=blablabla. Из за чего утилита стала вспотыкаться.

Поэтому ей нужно подсовывать файл имеющий строгие имя и расширение без хвостиков. Раньше этой утилите не нужно было указывать файл.

 

 

  • Нравится 1
Ссылка на комментарий
Поделиться на других сайтах

@agamer Я понял спасибо)

А как проверить что Redis работает, точнее что в него уже сайт начал сохранять что-то?

Ссылка на комментарий
Поделиться на других сайтах

@agamer на будущие тут во всех темах изображения прячут в скрытый текст 1557890537_.png.7ff8ee2c4a945ea9d5747c13850d9ca6.png

Ссылка на комментарий
Поделиться на других сайтах

1 минуту назад, ZizionarD сказал:

А как проверить что Redis работает, точнее что в него уже сайт начал сохранять что-то?

В админке в поддержке в правой колонке

Ссылка на комментарий
Поделиться на других сайтах

@ZizionarD  порт 6379 не забудь закрыть на внешнем сетевом интерфейсе. Иначе тебе в него криптовалюту майнить будут все кому не лень.

Ссылка на комментарий
Поделиться на других сайтах

53 минуты назад, ZizionarD сказал:

а последняя версия Redis 3.0.6?

не знаю. Если устанавливал командой автоматически то надо смотреть версию в репозиториях.

Не заморачивайся.

Ссылка на комментарий
Поделиться на других сайтах

@agamer ну мне по сути поставить защиту от китайцев и все) Сайт прокачен 

Ссылка на комментарий
Поделиться на других сайтах

забыл описать про ngix-geo

1. Бан китайцев осуществляется только в nginx. И блочится абсолютно все и динамика и статика. HTML картинки js итп. Куда китаец не ткнется - везде будет 502. Это большой плюс, так как не надо притягивать различные скрипты из php.

2. В конфиге сайта где прописываются fastcgi

Цитата

    location ~* \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass ; # подключаем сокет php-fpm
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param COUNTRY $geo;
        include fastcgi_params;
        fastcgi_read_timeout 300;
    }

после чего в php появится новая переменная

$_SERVER['COUNTRY']

Думаю не нужно объяснять что это за переменная.

Но!!!!

Не стоит сразу кидаться показывать пользователю флажок его страны или прогноз погоды.

Законы некоторых стран запрещают таргетировать контент на основе геопозиции пользователей. А это значит нельзя показывать пользователям рекламу и прочую информацию на основе геопозиции его IP. И не дай бог вы будете показывать эту информацию другим пользователям, это будет засчитываться как слив.

В личном кабинете https://www.maxmind.com/ ищите меню "Do Not Sell My Personal Information Requests". Там подробно сказано кому и чего можно и нельзя. Советую не нарушать.

 

  • Нравится 1
Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

×
×
  • Создать...
Вверх
Вверх