Оптимизация и рефакторинг
21 декабря 2015, 13:54
<script type="application/json" id="json">{"json_data":"here"}</script> <script> $(function(){ var json = JSON.parse($('#json').text()); }); </script>
firewall_enable="YES" firewall_quiet="YES" firewall_type="workstation" firewall_myservices="22 80 443" firewall_allowservices="any" firewall_logdeny="NO"Запускаем
sudo service ipfw start
{ "require": { "jonnyw/php-phantomjs": "3.*", "symfony/dom-crawler": "3.*", "symfony/css-selector": "3.*" }, "config": { "bin-dir": "bin" }, "scripts": { "post-install-cmd": [ "PhantomInstaller\\Installer::installPhantomJS" ], "post-update-cmd": [ "PhantomInstaller\\Installer::installPhantomJS" ] } }Скачаем все зависимости
php composer.phar installНу и сам парсинг index.php
<?php require __DIR__ . '/vendor/autoload.php'; $client = \JonnyW\PhantomJs\Client::getInstance(); $request = $client->getMessageFactory()->createRequest('http://superdeals.aliexpress.com/en?spm=2114.11010108.21.1.v65LIL', 'GET'); $response = $client->getMessageFactory()->createResponse(); $client->send($request, $response); $html = $response->getContent(); $crawler = new \Symfony\Component\DomCrawler\Crawler($html); $div = $crawler->filter('div.pro-msg'); if($div) { echo $div->first()->text(); }Если выполнить php index.php можно увидеть, что фантом скачал страницу и выполнил javascript код
Today Only Boy's Coat > Synthetic leather> Motor jacket style> Available in black and red share: vk pinterest facebook Twinner Google+ Email Sign in and share the website for a chance to get Points, which you can then convert to coupons. US $9.74 US $32.48 / piece | 70% Off 0486Left Buy Now
netstat -tunlp | grep 8080
<?php function getRows($file) { $handle = fopen($file, 'rb'); if ($handle === false) { throw new Exception(); } while (feof($handle) === false) { yield fgetcsv($handle); } fclose($handle); } foreach (getRows('data.csv') as $row) { print_r($row); }
MegaCli -PDList -aAll | egrep 'Slot Number|Device Id|Inquiry Data|Raw|Firmware state' | sed 's/Slot/nSlot/g'
tunefs -L mylabel /dev/da3 mount /dev/ufs/mylabel /mnt/mylabelПросмотр всех меток
glabel statusИнфо https://www.freebsd.org/doc/handbook/geom-glabel.html
mount -r -t ufs -o ufstype=ufs2 /dev/sda /mnt/sda
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app
[mysqld] bind-address = 0.0.0.0 log_bin server_id = 1 expire_logs_days = 5 max_binlog_size = 1000M binlog_do_db = our_database1 binlog_do_db = our_database2Затем заходим в mysql консоль на master и задаем доступ для slave
GRANT REPLICATION SLAVE ON *.* TO 'slave'@'%' IDENTIFIED BY 'password_for_slave'; FLUSH PRIVILEGES;Теперь нужно сделать дамп master Заходим в mysql консоль и блокируем таблицы
mysql> FLUSH TABLES WITH READ LOCK; mysql> SHOW MASTER STATUS;В ответ должны получить примерно следующее
+------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000001 | 102 | our_database1, our_database2 | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec)Теперь спокойно снимаем дамп
mysqldump -u root > db.sqlЗаходим в консоль mysql и снимаем блокировку
mysql> UNLOCK TABLES;Теперь загрузим дамп на slave
rsync --inplace -arvlt --stats --progress -e 'ssh -p 22' /home/db.sql root@slave_ip:/home/db.sqlНа этом действия с master закончились, переходим к slave. На slave сервере редактируем my.cnf
[mysqld] server_id = 2Перезапускаем slave, заливаем дамп с мастера
mysql -u root < db.sqlВключаем репликацию (MASTER_LOG_FILE и MASTER_LOG_POS берутся из команды SHOW MASTER STATUS на мастере после блокировки таблиц)
mysql> CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='slave', MASTER_PASSWORD='password_for_slave', MASTER_LOG_FILE='localhost-bin.000001', MASTER_LOG_POS=102; mysql> START SLAVE;Проверка репликации
mysql> SHOW SLAVE STATUS\G
# Sets the proxy on port 3128 with high anonymous flag -a proxy -a -p3128
sudo apt-get install nodejs sudo apt-get install nodejs-legacy sudo apt-get install npm sudo npm install -g bower bower -version
sudo ssh -N -D 999 user_name@server_address
for i in `ipcs -s | grep apache | awk '{print $2}'` ; do ipcrm -s $i; done
git config --global url."https://".insteadOf git://
location /chat { proxy_pass http://node_app; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; }
[client] user=root password="pass" [mysql] user=root password="pass" [mysqldump] user=root password="pass" [mysqldiff] user=root password="pass"
sudo apt-add-repository ppa:rael-gc/rvm sudo apt-get update sudo apt-get install rvm