Jump to content

Diman88

Members
  • Content Count

    88
  • Joined

  • Last visited

Reputation Activity

  1. Like
    Diman88 got a reaction from zaren in АП 8 сентября 2015 [4:25 RU+EN]   
    траф просел, если честно процентов на 50
  2. Like
    Diman88 got a reaction from kuzovbmw in У кого какой Тиц и ссылок в вебмастере   
    около 480 ссылок ТИЦ60 был, скаканул на 50, сейчас около 700 ссылок.. жду АП=)
     
    на другом 70 ссылок = 10ТИЦ
  3. Like
    Diman88 got a reaction from BuHoBeH in Правильные настройки в Sape   
    По идее хуже когда более 3-х,
     
    Снизив цену, но продать больше ссылок, больше денег, при оптимальных настройках. Решение принимает каждый сам=)
  4. Like
    Diman88 got a reaction from gapoha in Греется процессор   
    На другом ПК ставили в связке со своим кулером или с другим? 
  5. Like
    Diman88 reacted to DevilStar in [GUIDE] Как быстро настроить VPS в качестве web сервера.   
    Статья актуализирована 18.06.2015
     
    В этой мини статье я опишу своими словами как быстро и не имея специальных знаний перейти с хостинга на VPS.
     
    Кому это пригодится:
    ·         тем, кому просто интересно
    ·         тем, кого достало анальное рабство постоянные ограничения со стороны хостера
    ·         тем, кто надумал перейти на VPS, но не хватает теоретических знаний
     
    В этом примере я рассмотрю следующие моменты:
    ·         установка панели управления сервером
    ·         обновление php до версии 5.5.* с родным кешированием
    ·         замена mysql на mariadb
    ·         небольшие твики конфигов сервера
     
    Что потребуется:
    ·         VPS c debian 7 и ssh доступом к нему
    ·         любой клиент ssh (putty для винды, в маке и линуксе уже есть терминал)
    ·         знание вашей cms (где лежат конфиги, как их править и т.п.)
    ·         умение пользоваться днс (настройка A записи)
    ·         базовые знания командной строки линукс
    ·         базовые знания английского языка
    ·         внимательность
     
    Приступим. В качестве примера я буду использовать VPS c 1 cpu 1000mhz, 512 ram и 20gb ssd. Операционная система – debian 7 x86 (32-bit). Если вы предполагаете, что ваши сайты потребуют больших ресурсов (скажем больше 2gb памяти), то выбираем debian 7 x64.
     
    Соединяемся по SSH с сервером от рута:
    login: root root@128.199.37.177's password: Linux prcy 3.2.0-4-686-pae #1 SMP Debian 3.2.54-2 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. В первую очередь проверим обновления. Вводим по очереди это команды:
    apt-get update apt-get upgrade Приступаем к установке панели управления VestaCP. Vesta – легкая, бесплатная панель от русских разработчиков с удобным и понятным интерфейсом. Не жрет ресурсы как ISP или Cpanel, имеет отдельный независимый пакет php и nginx (будет работать даже если вы накосячите где-то в конфигах) и имеет хорошую поддержку.
     
    В первую очередь нужно удалить exim4, который идёт в комплекте с Debian 7.
    aptitude purge ~iexim4 apt-get purge exim4 exim4-base exim4-config exim4-daemon-light Если нет curl (который используется ниже), ставим его:
    apt-get install curl Ставим панель:
    curl -O http://vestacp.com/pub/vst-install.sh bash vst-install.sh Когда сервер спросит:
    Do you want to proceed? [y/n]): Пишем y и энтер.
    Указываем рабочий e-mail. Туда придёт пароль от панели.
    Указываем хостнейм. Я указываю тот, что написан в квадратных скобках.
    Do you want to proceed? [y/n]): y Please enter valid email address: mr.devilstar@gmail.com Please enter hostname [prcy]: prcy Ждем. Установка с хорошим каналом и ssd дисками занимает минуты полторы-две:
    ======================================================= -------------------------------   https://128.199.37.177:8083   username: admin   password: GsdH73Gppe ------------------------------- Congratulations, you have successfully installed Vesta Control Panel. Сохраняем пароль, запоминаем адрес для входа в панель.
    Заходим по предложенному адресу, удостоверяемся что панель работает:

     
    Возвращаемся к ssh, смотрим какие версии php и mysql у нас установились:
    root@prcy:~# php -v PHP 5.4.34-0+deb7u1 (cli) (built: Oct 20 2014 09:46:02) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies root@prcy:~# mysql -v Welcome to the MySQL monitor.  Commands end with ; or \g. Your MySQL connection id is 62 Server version: 5.5.40-0+wheezy1 (Debian) php 5.4.34, а бд – mysql 5.5.40.
     
    Сейчас наша цель обновить php и заменить mysql на mariadb. Обновленный php позволит нам воспользоваться родным кешированием Zend OPcache, а mariadb жрет меньше памяти и работает быстрее (субъективно).
     
    Открываем файл /etc/apt/sources.list в консоли, добавляем новые источники приложений:
    nano /etc/apt/sources.list Откроется файл. В самом конце добавляем четыре строки
    deb http://packages.dotdeb.org wheezy all deb-src http://packages.dotdeb.org wheezy all deb http://packages.dotdeb.org wheezy-php55 all deb-src http://packages.dotdeb.org wheezy-php55 all Жмем CTRL+O и энтер. Закрываем файл по CTRL+X.
     
    Скачиваем ключи:
    wget http://www.dotdeb.org/dotdeb.gpg Устанавливаем ключи:
    apt-key add dotdeb.gpg Обновляем список доступных к установке приложений в соответствии с изменениями выше:
    apt-get update Запускаем обновление приложений:
    apt-get upgrade Во время обновления сервер спросит:
    *** my.cnf (Y/I/N/O/D/Z) [default=N] ? Отвечаем N
     
    Запускаем обновление самой системы:
    apt-get dist-upgrade Во время обновления может появиться это:

     
    Жмем q
     
    Проверяем какую версию php мы имеем теперь:
    root@prcy:~# php -v PHP 5.5.18-1~dotdeb.1 (cli) (built: Oct 22 2014 18:15:17) Copyright (c) 1997-2014 The PHP Group Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies     with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies Видим 5.5.x и родной кеш Zend OPcache.
     
    Переходим к базам данных. Выполняем команды последовательно:
    apt-get install python-software-properties apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db и ЛИБО
    add-apt-repository 'deb http://mirror.mephi.ru/mariadb/repo/10.0/debian wheezy main' ЛИБО (т.к. первый иногда тормозит из-за большой нагрузки)
    add-apt-repository 'deb http://mirror.timeweb.ru/mariadb/repo/10.0/debian wheezy main' Обновляем список приложений:
    apt-get update И тут, по идее, мы должны начать установку базы данных apt-get install mariadb-server , но получаем ошибку:
    root@prcy:~# apt-get install mariadb-server Reading package lists... Done Building dependency tree Reading state information... Done Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies:  mariadb-server : Depends: mariadb-server-10.1 (= 10.1.1+maria-1~wheezy) but it is not going to be installed E: Unable to correct problems, you have held broken packages. Нам мешает mysql, который поставил веста. Варварским способом избавимся от него (иногда эту команду нужно ввести дважды):
    apt-get purge mysql* mariadb* И запускаем установку базы:
    apt-get install mariadb-server Смотрим что у нас получилось:
    root@prcy:~# service mysql status [info] /usr/bin/mysqladmin  Ver 9.1 Distrib 10.1.1-MariaDB, for debian-linux-gnu on i686 Отлично!
     
    Открываем файл /usr/local/vesta/conf/mysql.conf и смотрим какой там у нас пароль на бд поставила веста:
    nano /usr/local/vesta/conf/mysql.conf Видим - PASSWORD='jbknjknkj34'. Запоминаем, может пригодиться при обновлениях.
     
    Теперь пофиксим exim4. Дело в том, что вместе с mariadb ставится exim4-light, в то время как нам нужен exim4-heavy.
    apt-get remove exim4-daemon-light Ставим phpmyadmin для работы с базами данных:
    apt-get install phpmyadmin Проверяем:
    http://128.199.37.177/phpmyadmin/
    Работает J
     
    Из под рута ставим права 777 на папку /var/lib/phpmyadmin/tmp
     

     
    Тюним php.ini
    nano /etc/php5/apache2/php.ini Находим и меняем параметры на эти (или на какие вам захочется):
    max_execution_time =  180 upload_max_filesize = 64M post_max_size = 64M Сохраняем CTRL+O, энтер, CTRL+X
     
    Перезапускаем апач:
    service apache2 restart Тюним апач, что бы не иметь проблем с жором памяти:
    nano /etc/apache2/apache2.conf Находим там блок:
    <IfModule mpm_prefork_module>     StartServers          8     MinSpareServers       5     MaxSpareServers      20     ServerLimit         256     MaxClients          200     MaxRequestsPerChild 4000 </IfModule> И приводим его к этому виду (эти параметры идеально подходят для vps с 512mb памяти. если памяти больше – можно и нужно ставить значения выше):
    <IfModule mpm_prefork_module>     StartServers          3     MinSpareServers       3     MaxSpareServers       9     ServerLimit         256     MaxClients           20     MaxRequestsPerChild 3000 </IfModule> Сохраняем, перезапускаем апач:
    service apache2 restart С апачем закончили, тюним базу данных:
    nano /etc/mysql/my.cnf Находим и ставим следующие значения:
    max_connections         = 50 connect_timeout         = 5 wait_timeout            = 30 max_allowed_packet      = 16M thread_cache_size       = 128 sort_buffer_size        = 512K bulk_insert_buffer_size = 16M tmp_table_size          = 16M max_heap_table_size     = 16M myisam_recover          = BACKUP key_buffer_size         = 8M #open-files-limit       = 2000 table_open_cache        = 400 myisam_sort_buffer_size = 8M concurrent_insert       = 2 read_buffer_size        = 512K read_rnd_buffer_size    = 512K innodb_buffer_pool_size = 8M innodb_log_buffer_size  = 8M innodb_file_per_table   = 1 innodb_open_files       = 400 innodb_io_capacity      = 400 innodb_flush_method     = O_DIRECT Сохраняем, перезапускаем бд:
    service mysql restart Готово.
     
    Тюним конфиг nginx. Мой nginx.conf решает следующие проблемы - в соответствии с рекомендациями Google Insights кеширует статику в браузере и сжимает всё что нужно сжимать.
    nano /etc/nginx/nginx.conf Заменяем этим:
    # Server globals user                    www-data; worker_processes        2; error_log               /var/log/nginx/error.log; pid                     /var/run/nginx.pid; # Worker config events {         worker_connections  1024;         use                 epoll; } http {     # Main settings     sendfile                        on;     tcp_nopush                      on;     tcp_nodelay                     on;     client_header_timeout           1m;     client_body_timeout             1m;     client_header_buffer_size       2k;     client_body_buffer_size         256k;     client_max_body_size            100m;     large_client_header_buffers     4   8k;     send_timeout                    30;     keepalive_timeout               60 60;     reset_timedout_connection       on;     server_tokens                   off;     server_name_in_redirect         off;     server_names_hash_max_size      512;     server_names_hash_bucket_size   512;     # Log format     log_format  main    '$remote_addr - $remote_user [$time_local] $request '                         '"$status" $body_bytes_sent "$http_referer" '                         '"$http_user_agent" "$http_x_forwarded_for"';     log_format  bytes   '$body_bytes_sent';     #access_log          /var/log/nginx/access.log  main;     access_log off;     # Mime settings     include             /etc/nginx/mime.types;     default_type        application/octet-stream;     # Compression     gzip                on;     gzip_comp_level     9;     gzip_min_length     1000;     gzip_buffers        8 64k;     gzip_types          text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript image/svg+xml;     gzip_proxied        any;     # Proxy settings     proxy_redirect      off;     proxy_set_header    Host            $host;     proxy_set_header    X-Real-IP       $remote_addr;     proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;     proxy_pass_header   Set-Cookie;     proxy_connect_timeout   90;     proxy_send_timeout  90;     proxy_read_timeout  90;     proxy_buffers       32 4k;     # Cloudflare https://www.cloudflare.com/ips     set_real_ip_from   199.27.128.0/21;     set_real_ip_from   173.245.48.0/20;     set_real_ip_from   103.21.244.0/22;     set_real_ip_from   103.22.200.0/22;     set_real_ip_from   103.31.4.0/22;     set_real_ip_from   141.101.64.0/18;     set_real_ip_from   108.162.192.0/18;     set_real_ip_from   190.93.240.0/20;     set_real_ip_from   188.114.96.0/20;       set_real_ip_from   197.234.240.0/22;     set_real_ip_from   198.41.128.0/17;     set_real_ip_from   162.158.0.0/15;     set_real_ip_from   104.16.0.0/12;     set_real_ip_from   172.64.0.0/13;     #set_real_ip_from   2400:cb00::/32;     #set_real_ip_from   2606:4700::/32;     #set_real_ip_from   2803:f800::/32;     #set_real_ip_from   2405:b500::/32;     #set_real_ip_from   2405:8100::/32;     real_ip_header     CF-Connecting-IP;     # SSL PCI Compliance     ssl_session_cache   shared:SSL:10m;     ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;     ssl_prefer_server_ciphers on;     ssl_ciphers        "ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";     # Error pages     error_page          403          /error/403.html;     error_page          404          /error/404.html;     error_page          502 503 504  /error/50x.html;     # Cache     proxy_cache_path /var/cache/nginx levels=2 keys_zone=cache:10m inactive=60m max_size=512m;     proxy_cache_key "$host$request_uri $cookie_user";     proxy_temp_path  /var/cache/nginx/temp;     proxy_ignore_headers Expires Cache-Control;     proxy_cache_use_stale error timeout invalid_header http_502;     proxy_cache_valid any 3d;     map $http_cookie $no_cache {         default 0;         ~SESS 1;         ~wordpress_logged_in 1;     }     # Wildcard include     include             /etc/nginx/conf.d/*.conf; server { location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {         expires max;     } } } Приступаем к добавлению домена. Предполагается, что у вас стоит хороший днс, позволяющий управлять зоной (а вы умеете это делать). Допустим, у нас есть домен test.prcy. В управлении доменной зоной нам нужно задать для A записи IP вашего сервера. Допустим у сервера IP 128.199.37.177. Наши записи должны принять следующий вид:

    Добавляем домен в панель управления сервером.
    https://128.199.37.177:8083/list/web/ (вкладка web), жмем «добавить домен»
    Выставляем параметры как указаны на скриншоте:
    http://habrastorage.org/files/157/53b/0ab/15753b0abbf44ba38e0ae158708458c8.png
     
    Почему я отключил поддержку почты? Потому что это лишняя и приличная нагрузка на сервер. В качестве почты для домена идеально подходит pdd.yandex.ru. Не поленитесь, настройте.
    Создаем базу данных:
    https://128.199.37.177:8083/list/db/ (вкладка DB), жмем «Добавить БД»
    http://habrastorage.org/files/802/e8b/9f9/802e8b9f9ee543cbbeb2d07158f45058.png
     
    Конектимся по фтп по данным, которые мы указывали когда добавляли домен.

     
    Наш сайт, который будет открываться по домену test.prcy, должен будет лежать в папке public_html
     
    Давайте удалим содержимое public_html и закачаем туда какой-нить тестовый архив (zip).
     
    Пока архив закачивается, возвращаемся к SSH и отключаемся:
    logout Логинимся в SSH по новой, но уже не от root пользователя, а от admin (это принципиально важно). Пароль тот же что и от панели vesta.
     
    Ставим утилиту, что бы распаковать наш архив.
    sudo apt-get install unzip Когда спросит пароль, вводим пароль от панели vesta.
     
    Переходим в директорию, куда закинули архив:
    cd web/test.prcy/public_html Распаковываем архив:
    unzip yoo_peak_demo_package_j33.zip Проверяем:
    http://habrastorage.org/files/292/bf6/7f3/292bf67f371c43fd93e18792ef205d09.png
     
    Заканчиваем установку сайта и видим, что всё работает:

     
    Сайт готов к использованию и выдержит приличную нагрузку (при конфигах, указанных выше, сайт держит нажатую F5 в течении 5 минут и спокойно открывается.
     
    Вот таким нехитрым способом мы поставили и запустили сервер, настроили его и добавили для примера один сайт.
    Не забываем, что вся работа с сайтами должна вестись от логина admin.  А вся работа по настройке сервера от логина root. Иначе у вас возникнут проблемы с правами доступа и невозможностью записи файлов силами CMS.
     
    Гайд писался параллельно с настройкой vps, каждая команда проверена и работает. 
     
    Именно этого гайда мне не хватало в свое время. Надеюсь кому-то это будет полезно.
     
    bugfix #1. Если после рестарта сервера не стартует nginx:
     
    из под рута открываем:
    nano /etc/sysctl.conf  Вставляем в самый низ
    net.ipv4.ip_nonlocal_bind = 1 Выполняем команду
    sysctl -p /etc/sysctl.conf Перезагружаем сервер
    reboot
  6. Like
    Diman88 got a reaction from webostrov in Навигационное меню вордпресс   
    Сделать меню, нет??
     
    Слева есть внешний вид меню - создаете, затем в шаблоне темы можно его активировать. 
  7. Like
    Diman88 got a reaction from eKawazoe in Нужны советы по продвижению молодого сайта   
    Главное наполняй сайт полезным контентом (к видео делай описания 500-1000 символов хотя бы).
    Используй вордстат для выявления новых ключевых слов и для написания нового контента (про конкурентность не забудь, смотри выдачу, анализируй).
    сделай описание всяких движений и т.д.
    Внутреннюю перелинковку используй если получится т.е. из самой статьи ссылаться на другую новость или статью через ключевую фразу или слово.
     
    Это наверно стандартный набор, но без него никак)
  8. Like
    Diman88 got a reaction from Vyushin in Возможно ли закрепить новость в Wordpres??   
    Сделай запись "Прилеплена"!
  9. Like
    Diman88 got a reaction from kosmopolit in Вопрос по шаблону Wordpress   
    ТС, есть такой рецепт  wp-story-box
  10. Like
    Diman88 got a reaction from kubanochka in Кто зареген на Интсанте   
    Стукни прям админу, он выдаст приглашение. проверено)
  11. Like
    Diman88 got a reaction from Folder in Услуги качественного рерайта   
    а 3-й пункт вашей же ссылки??
    Да и зачем приводить пример, коли написано как написано!!??
    Подошел ты к продавцу купить хлеба, он тебе батон в пакет положил. Это не мой батон, мне нужен хлеб. Ок, хлеб завтра привезем, а батон можешь оставить себе.
     
    Каждый из вас и сам ТС этот батон скушал бы с колбасой или маслом,  а не подарил соседу или утилизировал=)
     
    Обижаться в данном случае ТСу на себя, за неправильно выбранное слово, а заказчику раз уж так получилось, нужно понять ТСа, каждый совершает ошибки, может спешил человек.
    Я бы оплатил в качестве компенсации половину стоимости. Мое мнение.
  12. Like
    Diman88 got a reaction from marcco in Непонятный АГС   
    Погляди ТИЦ, если обнулился значит точно АГС.
     
    Еще бывал такой АГС, за переизбыток партнерских ссылок при этом трафик идет, все работает.
×
×
  • Create New...