User Tools

Site Tools


ru:installation

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ru:installation [2018/03/16 17:03] adminru:installation [2023/08/25 10:23] (current) – [Installation] admin
Line 10: Line 10:
 PS да, два тире в конце обязательны  PS да, два тире в конце обязательны 
  
-так же можно указать все параметры прямо в коммандной строке+так же можно указать все параметры прямо в командной строке
  
 <code> <code>
 curl -sS http://smartcj.com/updates2/install | php -- mysql_host= mysql_user= mysql_pass= mysql_name= scj_folder= domain= admin_email= curl -sS http://smartcj.com/updates2/install | php -- mysql_host= mysql_user= mysql_pass= mysql_name= scj_folder= domain= admin_email=
 </code> </code>
 +
 +
 +Обратите внимание, что по дефолту скрипт что-то пишет только в свой каталог, поэтому надо скопировать index.php из scj/cgi на корень вашего сайта.
 +
 +
 +Если вы используете ротацию SmartCJ то надо прописать ПУТЬ (не УРЛ !) к scj/tube/index.php, например /home/user/domain.com/scj/tube/index.php, в Settings - CJ Pages.
 +
 + 
 +
 +====== Server Requirements ======
 +
 +
 +Для установки SmartCJ необходимо:
 +
 +  - Любая версия *NIX
 +  - SSH доступ 
 +  - Mysql DB 5.7+ (название, логин и пароль значения не имеют)
 +  - PHP 7+
 +  - IonCube (бесплатный плагин для PHP для ускорения работы)
  
  
Line 52: Line 71:
 RewriteRule ^search/([^/]+)/([^/]+)/$ /script_folder_name/tube/index.php?search=$1&page=$2&%{QUERY_STRING} RewriteRule ^search/([^/]+)/([^/]+)/$ /script_folder_name/tube/index.php?search=$1&page=$2&%{QUERY_STRING}
 RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/$ /script_folder_name/tube/index.php?search=$1&order=$2&page=$3&%{QUERY_STRING} RewriteRule ^search/([^/]+)/([^/]+)/([^/]+)/$ /script_folder_name/tube/index.php?search=$1&order=$2&page=$3&%{QUERY_STRING}
 +
 +RewriteRule ^report/([^/]+)/$ /script_folder_name/tube/index.php?gallery_id=$1&force_template=content_report&%{QUERY_STRING}
 +
  
 </code>  </code> 
Line 66: Line 88:
                  
                  
- location /scj/scj2.lic {+ location /script_folder_name/scj2.lic {
      return 404;      return 404;
  }  }
Line 116: Line 138:
  
  
-===== Search ===== 
- 
-По дефолту для поиска используется конструкция примерно WHERE description LIKE '%search_term%'. В настройках ротации есть пункт  
- 
-Search fields 
-If you don't use Sphinx the script will use Mysql 
-built-in functionality. It's slower so we limit amount of fields 
-Please, read the last WIKI about the last option.  
- 
- 
-По дефолту скрипт ищет по в description, в этом пункте можно настроить поиск в Title (Alt), либо по обоим полям сразу, что конечно создает несколько больше нагрузки. 
- 
-Лучший вариант - это настройка Sphinx о чем рассказано ниже. 
- 
-Но есть компромисный вариант: FullText Search для Mysql (последний из пунктов опции Search fields). Его смысл в том, что Mysql так же умеет искать учитывая морфологию, однако до версии 5.6 он это делал только для таблиц MyISAM. 
- 
-Итого если вы хотите использовать этот вариант, который несоклько проще варианта Sphinx в настройке надо для таблиц rot_gallery_data* добавить индекс  
- 
-<code> 
-        ALTER TABLE `rot_gallery_data1` ADD FULLTEXT ( 
- `alt` , 
- `description` 
- ) 
-</code> 
- 
-И переключить в настройках опцию на поиск FullText. 
  
  
Line 222: Line 218:
  
  
- 
-===== Sphinx Delta Config ===== 
- 
-При создании индекса sphinx делает индекс текущего состояния базы и если после индексирования в базе были какие-либо изменения, то  sphinx не найдет новых данных, тк они были добавлены после индексирования. 
- 
-Логический вывод из этого: надо проводить реиндексацию после каждого изменения в базе, однако проблема в том, что  если база достаточно большая то индексация может занимать длительное время. И индексация это очень затратный по ресурсам процесс. 
- 
-Что бы решить эту проблему придумали delta index – это индекс в который попадут измения, которые произошли с момента полной индексации и до момента создания дельта индекса. При этом, поскольку индексируется малое кол-во данных, операция проходит очень быстро. 
- 
-При поиска sphinx будет искать и в основном индексе и в дельта индексе, и таким образом будет видеть все измения. Создание дельта индекса можно поставить как угодно часто. 
- 
- 
-Итого : 
- 
-в основную часть, которая у вас уже есть надо добавить после  
- 
-  sql_query_pre = SET NAMES utf8 
- 
-строку 
- 
-  sql_query_pre = UPDATE rot_settings SET value = (SELECT MAX(gallery_id) FROM rot_gallery_info) WHERE name = 'sphinx_max_gallery_id' 
- 
- 
-Теперь надо добавить создание дельта индекса 
- 
-<code> 
- 
-source delta : your_name_source 
-{ 
-    sql_query_pre = SET NAMES utf8 
- 
- sql_query = SELECT gi.gallery_id, UNIX_TIMESTAMP(gi.activation_date) as date, alt, description, gi.duration, sponsor_id, gs.total_ctr, gi.content_type, \ 
- (SELECT group_concat(tag_name) FROM rot_gal2tag g2t \ 
- LEFT JOIN rot_tags as t on t.tag_id = g2t.tag_id \ 
- WHERE g2t.gallery_id = gi.gallery_id) as tags, \ 
- (SELECT group_concat(tag_id) FROM rot_gal2tag g2t \ 
- WHERE g2t.gallery_id = gi.gallery_id) as tag_ids, \ 
- 
- (SELECT group_concat(name) FROM rot_groups  \ 
- WHERE rot_groups.id in (SELECT group_id FROM rot_gallery_stats1 WHERE rot_gallery_stats1.gallery_id = gi.gallery_id AND group_id != 0) ) as group_names, \ 
-                                                                  \ 
- 
- (SELECT group_concat(gss.group_id) FROM rot_gallery_stats1 as gss \ 
- WHERE gss.gallery_id = gi.gallery_id AND group_id != 0) as categories \ 
- FROM rot_gallery_info AS gi \ 
- JOIN rot_gallery_data1 AS gd ON gi.gallery_id = gd.gallery_id \ 
- JOIN rot_gallery_stats1 AS gs ON gs.gallery_id = gi.gallery_id \ 
- WHERE gi.gallery_id > ( SELECT value FROM rot_settings WHERE name = 'sphinx_max_gallery_id' ) \ 
- AND gallery_status = 'active' and gallery_type = 0 \ 
- and gs.best_thumb = 'yes' and gs.group_id = 0 
-     
-} 
- 
- 
-index delta : your_name_index 
-{ 
-    source = delta 
-    path = /your_full_path/data/delta 
-} 
- 
- 
-</code> 
- 
- 
-Как можно заметить запрос такой же, отличается только наличием в выборке по sphinx_max_gallery_id. 
- 
-После этого надо доабвить в крон индексацию новых записей так часто, как вам нравится строкой  
- 
-  indexer --rotate delta 
- 
-После создания индекса надо прописать delta в Sphinx Delta Index  настройках ротации. 
- 
-и раз в сутки например можно присоединять дельта индекс к основному 
- 
-  indexer --rotate --merge your_name_index delta 
- 
- 
-Все. 
  
  
ru/installation.1521219831.txt.gz · Last modified: (external edit)