Основы строительства сооружений

труба профильная

Сооружения – это объекты строительства, которые применяются для определенных целей. Например, сарай для хранения материалов или животных, бассейн для купания, подсобные помещения и прочее. Как и для строительства зданий, при возведении сооружений потребуются различные строительные материалы, среди которых есть арматура и профильные трубы.

Читать

Шкатулка для украшений

Шкатулка для украшений

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

Шкатулка для украшений своими руками

Читать

Elgg: mod-rewrite для NGINX

Сегодня развернул Elgg на веб-сервере NGINX, и первая проблема с которой столкнулся — это небходимость замены mod-rewrite директив, которые содержатся в файле .htaccess, на соответсвующие правила для NGINX (rewrite-rules).

И первый вопрос, который у меня возник: куда нужно писать эти правила?
Rewrite-rules для Nginx указываются внутри секции server в файле настройки виртуального хоста, например /etc/nginx/sites-available/default.

Следующий вопрос был: что же туда писать?
Если подумать логически, то задача не совсем сложная, необходимо всего лишь конвертировать директивы из htaccess в соответвующие правила для nginx. Спасибо Томасу Делингу, который уже провел иследования в этом вопросе и успешно конвертировал директивы файла htaccess для Elgg 1.8.2. Все что мне осталось, это скопировать набор правил и обновить файл настройки виртуального хостинга, в результате он выглядел приблизительно так:

server {
listen 80;
server_name elgg.domain.com;
root /var/www-nginx/elgg/htdocs/;

error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;

index index.php index.html;
fastcgi_index index.php;

client_max_body_size 8M;
client_body_buffer_size 256K;

rewrite ^/pg/([A-Za-z0-9_-]+)$ /engine/handlers/page_handler.php?handler=$1&$args;
rewrite ^/pg/([A-Za-z0-9_-]+)/(.*)$ /engine/handlers/page_handler.php?handler=$1&page=$2&$args;
rewrite ^/tag/(.+)/?$ /engine/handlers/page_handler.php?handler=search&page=$1;
rewrite ^/action/([A-Za-z0-9_-/]+)$ /engine/handlers/action_handler.php?action=$1&$args;
rewrite ^/cache/(.*)$ /engine/handlers/cache_handler.php?request=$1&$args;
rewrite ^/services/api/([A-Za-z0-9_-]+)/(.*)$ /engine/handlers/service_handler.php?handler=$1&request=$2&$args;
rewrite ^/export/([A-Za-z]+)/([0-9]+)/?$ /engine/handlers/export_handler.php?view=$1&guid=$2;
rewrite ^/export/([A-Za-z]+)/([0-9]+)/([A-Za-z]+)/([A-Za-z0-9_]+)/$ /engine/handlers/export_handler.php?view=$1&guid=$2&type=$3&idname=$4;
rewrite /xml-rpc.php /engine/handlers/xml-rpc_handler.php;
rewrite /mt/mt-xmlrpc.cgi /engine/handlers/xml-rpc_handler.php;
rewrite ^/rewrite.php$ /install.php;
if (!-d $request_filename){
set $rule_11 1$rule_11;
}
if (!-f $request_filename){
set $rule_11 2$rule_11;
}
if ($rule_11 = "21"){
rewrite ^/([A-Za-z0-9_-]+)$ /engine/handlers/page_handler.php?handler=$1;
}
if (!-d $request_filename){
set $rule_12 1$rule_12;
}
if (!-f $request_filename){
set $rule_12 2$rule_12;
}
if ($rule_12 = "21"){
rewrite ^/([A-Za-z0-9_-]+)/(.*)$ /engine/handlers/page_handler.php?handler=$1&page=$2;
}

location ~ .php$ {
include fastcgi_params;

# Assuming php-fastcgi running on localhost port 9000
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
}

# Do not put CSS there or it will break simplecache
location ~* .(bmp|js|gif|ico|jpg|jpeg|png)$ {
expires max;
# log_not_found off;
}
}

Автор: Sergiy Kamolov
Дата публикации: 2012-08-06T13:42:00.001+03:00

Как установить и настроить NGINX+PHP+XDebug на Ubuntu 12.04

1. Установка NGINX-сервера:
sudo add-apt-repository ppa:nginx/stable 
sudo apt-get update 
sudo apt-get install nginx
2. Установка PHP:
 

Если на вашем сервере php еще не установлен, то необходимо выполнить следующее:

sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql

В противном же случае достаточно установить пакет php5-fpm:

sudo apt-get install php5-fpm

3. Настройка виртуального хоста в NGINX

Открываем и редактируем файл  /etc/nginx/sites-available/default:

sudo gedit  /etc/nginx/sites-available/default

Для начала поменяем параметры root и index в секции server:

server{
...
    root: /var/www;
    index: index.php
...
}

Если вы уже пользуетесь веб-сервером apache, то для правильной работы nginx нужно будет поменять номер порта с 80 на 8000:

server{ 
 listen: 8000;
...
}

Убираем комментарии со следующих строк:

 location ~ .php$ {
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.php;
 include fastcgi_params;
  }

4. Запускаем NGINX

sudo service nginx start

Также запускаем сервис, отвечающий за работу php:

sudo service php5-fpm start

5. Установка и настройка XDebug

Устанавливаем точно так же как описано в первой части статьи «Как настроить NetBeans для работы с XDebug»

Далее небходимо отредактировать файл /etc/php5/fpm/php.ini.

sudo gedit /etc/php5/fpm/php.ini

Перед тегом Date добавляем следующий код:

zend_extension="/usr/lib/php5/20090626/xdebug.so"

xdebug.default_enable = On
xdebug.var_display_max_depth=6
xdebug.remote_enable=on
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9900
xdebug.remote_handler=dbgp
xdebug.idekey=netbeans-xdebug
xdebug.remote_autostart=1
xdebug.remote_log=/tmp/xdebug.log
xdebug.profiler_enable_trigger=1
xdebug.profiler_enable=0
xdebug.profiler_output_dir=/tmp/profiler
xdebug.show_local_vars=1
xdebug.overload_var_dump=1

… перезагружаем сервер

 

sudo service nginx restart

так как при перезагрузке сервера параметры php.ini автоматически не обновляются, необходимо также перезагрузить сервис php5-fpm:

 

sudo service php5-fpm restart

6. Настройка NetBeans

Открываем NetBeans Tools>Options>PHP>Debugging и в строке Debugger Port вводим значение 9900, нажимаем Ok.

На этом настройка завершена.

Осталось только поместить в /var/www тестовый файл index.php с кодом:

echo phpinfo();

Автор: Sergiy Kamolov

Apt-fast — Ускоряем загрузку пакетов в Ubuntu

Apt-fast – это скрипт для таких утилит как apt-get или aptitude, который может кардинально изменить в лучшую сторону время загрузки пакетов из APT-источников путем использования мультисоединений во время загрузки конкретного пакета. Apt-fast ускоряет загрузку пакетов программой apt-get с помощью консольной утилиты Axel. Ускорение достигается за счёт использования несколько источников для каждого файла. Синтаксис команд apt-fast и apt-get совпадает.

Читать

Виниловый паркет

виниловый паркет

Виниловый паркет является уникальным напольным покрытием. Всем своим весомым преимуществом перед другими покрытиями он обязан особому составу. Каждая планка винилового паркета состоит из нескольких слоев. В основу входит кварцевый песок, далее армирующая сетка и сверху — прочный прессованный винил. В итоге получаем напольное покрытие 43 класса износоустойчивости.

Читать