LINUX.ORG.RU

Сообщения Sferg

 

Как установить KDE на чистый Debian Jessie?

Здравствуйте, господа. Установил на виртуальную машину VMWare «чистый» Debian Jessie через режим экспертной установки. При загрузке, разумеется, получаю чистую консоль со стандартной авторизацией. Подскажите, пожалуйста, как установить минимальный KDE так, чтобы он автоматически загружался при перезагрузке?

Я попытался установить KDE, выполнив:

aptitude install kde-plasma-desktop kde-l10n-ru kdm kde-window-manager kde-config-gtk-style gtk2-engines-oxygen gtk3-engines-oxygen phonon-backend-vlc xorg xserver-xorg x-window-system

Однако при перезагрузке получаю всю ту же стандартную форму авторизации в консоли - никакая графика не загружается. При установке самого Debian Jessie, конечно, можно было выбрать установку KDE (этот вариант работает нормально, всё запускается благополучно), но хотелось бы получить минимальный вариант, а не kde-standard.

В чём неправ?

С уважением.

 , , , ,

Sferg
()

При бэкапе БД увеличивается значение Temporary tables created on disk. Так и должно быть?

Здравствуйте, господа. Поместил в Cron команду для создания ежедневного бэкапа БД:

0  4  *  *  *  /usr/bin/mysqldump -u[user] -p[password] [database] | gzip -c > /tmp/database_$(date +\%d-\%m-\%Y,\%H:\%M:\%S).sql.gz

Cкрипт mysqltuner показал, что после выполнения вышеуказанной команды, увеличивается значение Temporary tables created on disk. Так и должно быть? Есть ли возможность предотвратить это или, по крайней мере, сократить количество создаваемых на диске временных таблиц при бэкапе?

С уважением.

 , , ,

Sferg
()

Периодически рвётся подключение по SSH. В чём проблема?

Здравствуйте. Подключаемся с приятелем к Banana Pi по SSH. Днём вроде бы всё нормально, а ночью едва успеваем авторизоваться в системе и запустить mc, как подключение рвётся, и какое-то время подключиться больше не получается. Потом, через какое-то время отпустит, снова подключаемся и авторизовываемся... И, через несколько секунд, снова выбрасывает. При этом пишется:

failed to connect to 12.34.56.78/12.34.56.78 (port 2222): connect failed: ECONNREFUSED (Connection refused)

Подскажите, пожалуйста, в чём неправ?

 , ,

Sferg
()

Каким образом можно сохранить установленную систему в img-файл?

Здравствуйте. Установил Bananian на Banana Pi с помощью файла-образа bananian-1501.img и настроил всё так, как мне нужно. Возможно ли теперь каким-либо образом сохранить настроенную систему обратно в img-файл, чтобы можно было, в случае чего, его снова развернуть на (другую) MicroSD?

 , ,

Sferg
()

Как полностью удалить Desktop Environment с Lubuntu for Bananapi?

Здравствуйте, господа. Ситуация такая: на Banana Pi установил Lubuntu For BananaPi v3.1.1. Доступ к Интернет осуществляется только по Wi-Fi. Подскажите, пожалуйста, каким образом можно удалить Desktop Environment со всеми зависимостями? Не нужен лишний хлам.

P.S. Если не ошибаюсь, в Lubuntu в качестве Desktop Environment используется LXDE.

 , ,

Sferg
()

Banana Pi: постоянно Load Average больше 1.00 - в чём дело?

Здравствуйте, господа. Имеется Banana Pi. Записал Raspbian_For_BananaPro_v1412.img (не знаю, принципиален ли тот факт, что у меня Banana Pi, а не Banana Pro). Всё вроде бы ничего, но заметил, что top/htop постоянно показывает значение Load Average больше 1.00 (одно ядро процессора постоянно на 100% загружено?). Попробовал прибить nginx, mysql, php-fpm, memcached и что смог ещё — ситуация не изменилась. Грешу на то, что ошибочно поставил Raspbian_For_BananaPro_v1412.img вместо Raspbian_For_BananaPi_v3_1.img. Подскажите, пожалуйста, в чём может быть проблема?

P.S. Загрузку Desktop Environment отключил сразу же после «установки» ОС на MicroSD.

 , ,

Sferg
()

Скрипт для автоматического добавления домена на freedns.afraid.org - возможно ли?

Здравствуйте, господа. Пользуюсь замечательным сервисом freedns.afraid.org для привязки своего внешнего IP к доменному имени 3-го уровня (обновление IP-адреса периодическое по Cron). К сожалению, иногда добавленные домены пропадают и приходится их заново вручную добавлять. В связи с этим вопрос к вам, уважаемые Знатоки: возможно ли по Cron'у проверять: удалён ли домен на freedns.afraid.org или нет - если удалён, то чтоб автоматически добавлялся?

С уважением, Геннадий.

 , , , ,

Sferg
()

Прыгают время генерации страницы и количество запросов к БД. Как побороть?

Здравствуйте, господа. Не даёт мне покоя бредово-параноидальная мысль. Заметил, что если обновлять главную страницу phpBB3 с высокой периодичностью (скажем, раз в несколько секунд), то время генерации страницы и количество запросов к БД сильно не прыгают:

Time : 0.028s | 11 Queries | GZIP : On
Time : 0.031s | 11 Queries | GZIP : On
Time : 0.028s | 11 Queries | GZIP : On
Time : 0.029s | 11 Queries | GZIP : On
Time : 0.030s | 12 Queries | GZIP : On
Time : 0.030s | 11 Queries | GZIP : On
Time : 0.030s | 13 Queries | GZIP : On
Time : 0.031s | 12 Queries | GZIP : On
Time : 0.031s | 11 Queries | GZIP : On
Time : 0.028s | 11 Queries | GZIP : On

Однако, если страницу обновлять через более длительное время (скажем, раз в 5 минут), то время генерации страницы и количество запросов к БД увеличиваются:

Time : 0.044s | 19 Queries | GZIP : On
Time : 0.033s | 12 Queries | GZIP : On
Time : 0.037s | 14 Queries | GZIP : On
Time : 0.038s | 12 Queries | GZIP : On
Time : 0.033s | 12 Queries | GZIP : On
Time : 0.052s | 13 Queries | GZIP : On
Time : 0.033s | 12 Queries | GZIP : On
Time : 0.062s | 17 Queries | GZIP : On
Time : 0.036s | 13 Queries | GZIP : On

Подскажите, пожалуйста, возможно ли каким-либо образом сгладить эти скачки показателей (и должны ли они вообще так прыгать)?

В качестве кеширования PHP-кода используется Zend Opcache, а PHP-сессии форума держу в Memcache.

P.S. Если нужна информация с munin, то пожалуйста.

С уважением, Геннадий.

 , , , ,

Sferg
()

Munin не отдаёт изображения. В чём дело?

Здравствуйте, господа. Решил на Debian поставить munin - пособирать статистику с целью выявления узких мест в системе.

1. Ставлю версию 2.0.25-1~bpo70+1 из backports:

aptitude install -t wheezy-backports munin munin-node munin-plugins-extra libwww-perl libio-all-lwp-perl

2. Создаю директорию для хранения контента и назначаю владельца:

mkdir /var/www/munin && chown -R munin:munin /var/www/munin

3. Файл /etc/munin/munin.conf привожу к следующему виду:

dbdir /var/lib/munin
htmldir /var/www/munin
logdir /var/log/munin
rundir /var/run/munin
#tmpldir /etc/munin/templates
#staticdir /etc/munin/static
#cgitmpdir /var/lib/munin/cgi-tmp
includedir /etc/munin/munin-conf.d
#graph_period second
graph_strategy cron
#munin_cgi_graph_jobs 6
#cgiurl_graph /munin-cgi/munin-cgi-graph
#max_size_x 4000
#max_size_y 4000
html_strategy cron
#max_processes 16
#rrdcached_socket /var/run/rrdcached.sock

[test]
address 127.0.0.1
use_node_name yes

4. Файл /etc/munin/munin-node.conf, соответственно, к такому:

log_level 4
log_file /var/log/munin/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group root
ignore_file [\#~]$
ignore_file DEADJOE$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$
ignore_file \.pod$
host_name test
allow ^127\.0\.0\.1$
allow ^::1$
host *
port 4949

5. Далее, обновляю БД:

munin-node-configure --shell | sh
sudo -u munin munin-cron

6. Теперь устанавливаю spawn-fcgi:

aptitutde install spawn-fcgi

7. Создаю сокеты:

spawn-fcgi -s /var/run/munin/fcgi-graph.sock -U www-data -u www-data -g www-data /usr/lib/munin/cgi/munin-cgi-graph
spawn-fcgi -s /var/run/munin/fcgi-html.sock -U www-data -u www-data -g munin  /usr/lib/munin/cgi/munin-cgi-html

8. В /etc/nginx/conf.d/locations.conf добавляю строки:

location ^~ /cgi-bin/munin-cgi-graph/ {
access_log off;
fastcgi_split_path_info ^(/cgi-bin/munin-cgi-graph)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/munin/fcgi-graph.sock;
include fastcgi_params;
}

location /munin/static/ {
alias /etc/munin/static/;
}

location /munin/ {
fastcgi_split_path_info ^(/munin)(.*);
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass unix:/var/run/munin/fcgi-html.sock;
include fastcgi_params;
}

9. Перезапускаю nginx.

В итоге в /var/www/munin/ контент-файлы появляются, однако, когда захожу на http://admina.vkabinete.net/munin/test/test/, то изображений нет. В чём может быть проблема?

 , , , ,

Sferg
()

Как выжать максимальное быстродействие из дисковой подсистемы (и не только)?

Здравствуйте, господа. Запитал я домашний веб-серверок (Debian) от бесперебойного источника питания. В связи с этим захотелось выжать максимально возможную отдачу от дисковой подсистемы, игнорируя риск внезапного отключения питания.

В файл /etc/sysctl.conf добавил следующие строки:

vm.dirty_ratio = 90
vm.dirty_background_ratio = 1
vm.dirty_writeback_centisecs = 60000
vm.dirty_expire_centisecs = 60000
vm.laptop_mode = 0
vm.swappiness = 0
vm.vfs_cache_pressure = 1000

Посоветуйте, пожалуйста, какие ещё есть способы достижения задуманного?

 , , , ,

Sferg
()

Что-то грузит HDD и CPU веб-сервера. В чём не прав?

Здравствуйте, господа. Решил вот приспособить следующее железо в качестве домашнего веб-сервачка на основе связки NGINX, PHP-FPM, MariaDB, MEMCACHE и Zend OPcache. В качестве ОС выбран Debian Wheezy 64-bit.

CPU: Intel Atom N2800, 1.86GHz (2 ядра + Hyper-Threading)
RAM: 4Gb, DDR3-1066
HDD: 1x640Gb, SATAII, 5400RPM (без каких-либо RAID'ов!)

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

/etc/php5/fpm/php.ini (лишние строки исключил, дабы сократить список)

[PHP]
engine = On
short_open_tag = Off
asp_tags = Off
precision = 14
output_buffering = Off
zlib.output_compression = Off
implicit_flush = Off
unserialize_callback_func =
serialize_precision = 17
disable_functions = apache_child_terminate,apache_note,apache_setenv,debugger_off,debugger_on,define_syslog_variables,dl,escapeshellarg,escapeshellcmd,exec,ini_restore,leak,max_execution_time,passthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pclose,php_uname,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,posix_getpwuid,posix_kill,posix_mkfifo,posix_setgid,posix_setpgid,posix_setsid,posix_setuid,posix_uname,shell_exec,symlink,syslog,system
disable_classes =
ignore_user_abort = Off
zend.enable_gc = On
expose_php = Off
max_execution_time = 30
max_input_time = 60
memory_limit = 128M
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
display_errors = Off
display_startup_errors = Off
log_errors = On
log_errors_max_len = 1024
ignore_repeated_errors = Off
ignore_repeated_source = Off
report_memleaks = On
track_errors = Off
html_errors = On
variables_order = "GPCS"
request_order = "GP"
register_argc_argv = Off
auto_globals_jit = On
post_max_size = 8M
auto_prepend_file =
auto_append_file =
default_mimetype = "text/html"
default_charset = "UTF-8"
doc_root =
user_dir =
enable_dl = On
fastcgi.logging = 0
file_uploads = On
upload_max_filesize = 2M
max_file_uploads = 20
allow_url_fopen = Off
allow_url_include = Off
default_socket_timeout = 60

[Pdo_mysql]
pdo_mysql.cache_size = 2000
pdo_mysql.default_socket =

[mail function]
SMTP = localhost
smtp_port = 25
mail.add_x_header = On

[SQL]
sql.safe_mode = On

[MySQL]
mysql.allow_local_infile = On
mysql.allow_persistent = On
mysql.cache_size = 4000
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =
mysql.connect_timeout = 60
mysql.trace_mode = Off

[MySQLi]
mysqli.max_persistent = -1
mysqli.allow_local_infile = On
mysqli.allow_persistent = On
mysqli.max_links = -1
mysqli.cache_size = 4000
mysqli.default_port = 3306
mysqli.default_socket =
mysqli.default_host =
mysqli.default_user =
mysqli.default_pw =
mysqli.reconnect = On

[mysqlnd]
mysqlnd.collect_statistics = On
mysqlnd.collect_memory_statistics = Off

[Session]
session.save_handler = files
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 1
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = On
session.bug_compat_warn = On
session.referer_check =
session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 1
session.hash_bits_per_character = 6
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

/etc/php5/fpm/php-fpm.conf

[global]
pid = /var/run/php5-fpm.pid
error_log = /var/log/php5-fpm/error.log
log_level = notice
events.mechanism = epoll
include=/etc/php5/fpm/pool.d/*.conf

/etc/php5/fpm/pool.d/example.com

[example.com]
user = example.com
group = example.com
listen = /var/run/php5-fpm_example.com.sock
listen.backlog = 4096
listen.owner = www-data
listen.group = www-data
listen.mode = 0666
listen.allowed_clients = 127.0.0.1
pm = static
pm.max_children = 4
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 4
pm.status_path = /php_status
ping.path = /php_ping
ping.response = pong
access.log = /var/log/php5-fpm/$pool.access.log
access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%"
slowlog = /var/log/php5-fpm/$pool.slow.log
request_slowlog_timeout = 7s
request_terminate_timeout = 90s
chdir = /home/example.com/www
catch_workers_output = yes
security.limit_extensions = .php
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/bin:/usr/bin:/bin
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp

php_flag[display_errors] = Off
php_admin_flag[log_errors] = On
php_admin_value[error_reporting] = E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
php_admin_value[error_log] = /var/log/php5-fpm/error.log
php_admin_value[date.timezone] = Europe/Moscow
;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f dyvniy@yandex.ru
;php_admin_value[open_basedir] = "/home/example.com/"
php_admin_value[cgi.fix_pathinfo] = 1
php_admin_value[expose_php] = Off
php_admin_value[allow_url_fopen] = On
php_admin_value[disable_functions] = exec,passthru,shell_exec,system,proc_open,popen,curl_multi_exec,parse_ini_file,show_source
php_admin_value[sql.safe_mode] = Off
php_admin_value[max_execution_time] = 60
php_admin_value[max_input_time] = 60
php_admin_value[memory_limit] = 128M
php_admin_value[realpath_cache_size] = 4096K
php_admin_value[realpath_cache_ttl] = 300
php_admin_value[upload_max_filesize] = 10M
php_admin_value[post_max_size] = 10M
php_admin_value[default_charset] = utf-8
php_admin_value[mbstring.internal_encoding] = utf-8
php_admin_value[session.save_handler] = memcache
php_admin_value[session.save_path] = "tcp://localhost:11211"
php_admin_value[upload_tmp_dir] = /home/example.com/tmp
php_admin_value[soap.wsdl_cache_dir] = /home/example.com/tmp

/etc/mysql/my.cnf

[client]
port = 3306
host = localhost
socket = /var/run/mysqld/mysqld.sock
character-sets-dir = /usr/share/mysql/charsets

[mysql]
no-auto-rehash
no-beep
safe-updates
character-sets-dir = /usr/share/mysql/charsets

[mysqld]
server-id = 1
user = mysql
pid_file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
bind-address = 127.0.0.1
basedir = /usr
datadir = /var/lib/mysql
#tmpdir = /run/shm
tmpdir = /dev/shm
max_connections = 100
max_user_connections = 50
max_connect_errors = 10
back_log = 50
max_allowed_packet = 16M
max_sort_length = 512

#skip-character-set-client-handshake
character-set-server = utf8
character-sets-dir = /usr/share/mysql/charsets
collation-server = utf8_general_ci
init-connect = "SET NAMES utf8"
init-connect = "SET CHARACTER SET utf8"
init-connect = "SET CHARSET utf8"

default-storage-engine = InnoDB
sql-mode = ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_IN_DATE
transaction-isolation = READ-COMMITTED
flush_time = 0
ft_min_word_len = 4
local-infile = 1
loose-local-infile = 1
open_files_limit = 4110
sysdate_is_now = 1
low-priority-updates
#memlock
skip-name-resolve
skip-external-locking
skip-networking
skip-archive
skip-blackhole
skip-federated
skip-partition
feedback = Off

concurrent_insert = ALWAYS
myisam-recover-options = backup,force
myisam_max_sort_file_size = 256M
myisam_data_pointer_size = 6
myisam_sort_buffer_size = 64M
myisam_repair_threads = 1
myisam_use_mmap = ON
#myisam_mmap_size = <VALUE>
#myisam_stats_method = <enumeration>

innodb_fast_shutdown
innodb = FORCE
innodb_buffer_pool_size = 1G
innodb_log_buffer_size = 8M
innodb_file_per_table = 1
#innodb_force_recovery = 1
innodb_lock_wait_timeout = 30
innodb_buffer_pool_instances = 8
innodb_checksum_algorithm = 0
innodb_concurrency_tickets = 5000
innodb_data_file_path = ibdata1:10M:autoextend
innodb_data_home_dir = /var/lib/mysql
innodb_max_dirty_pages_pct = 90
innodb_old_blocks_time = 1000
innodb_stats_on_metadata = 0
innodb_flush_log_at_trx_commit = 0
innodb_log_file_size = 128M
innodb_log_files_in_group = 2
innodb_log_group_home_dir = /var/lib/mysql
innodb_flush_method = O_DIRECT
innodb_strict_mode = 1
innodb_open_files = 400
innodb_io_capacity = 400
innodb_file_format = Barracuda
innodb_autoinc_lock_mode = 2
innodb_doublewrite = 1
innodb_rollback_on_timeout = 1
innodb_buffer_pool_dump_at_shutdown = 1
innodb_buffer_pool_dump_now = 1
innodb_buffer_pool_load_at_startup = 1
innodb_buffer_pool_load_now = 1
innodb_thread_concurrency = 4
innodb_read_io_threads = 4
innodb_write_io_threads = 4
innodb_file_io_threads = 4
skip-innodb_adaptive_hash_index
#skip-innodb_doublewrite

bulk_insert_buffer_size = 2M
join_buffer_size = 3M
key_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
sort_buffer_size = 2M

table_open_cache = 4096
table_definition_cache = 4096
max_heap_table_size = 32M
tmp_table_size = 32M
max_tmp_tables = 25

query_cache_type = 1
query_cache_size = 32M
query_cache_limit = 2M
query_cache_min_res_unit = 4096
query_cache_wlock_invalidate = ON

thread_cache_size = 100
thread_concurrency = 4
thread_stack = 512K
thread_handling = one-thread-per-connection

connect_timeout = 5
interactive_timeout = 30
wait_timeout = 60

general_log = 1
general_log_file = /var/log/mysql/general.log
log-error = /var/log/mysql/error.log
log_warnings = 2
#log-bin = /var/log/mysql/mysql-bin.log
#binlog-format = mixed
expire_logs_days = 2
max_binlog_size = 100M
max-binlog-cache-size = 1M
#binlog_row_event_max_size = 8K
#sync_binlog = 1
#binlog_do_db = include_database_name
#binlog_ignore_db = include_database_name
slow-query-log = 1
slow-query-log-file = /var/log/mysql/slow.log
long_query_time = 1
#log_slow_rate_limit = 1000
log_slow_verbosity = query_plan
#log-queries-not-using-indexes
#log-slow-admin-statements

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysqld_safe]
socket = /var/run/mysqld/mysqld.sock
nice = 0
syslog
open-files-limit = 2048

[myisamchk]
key_buffer_size = 50M
sort_buffer_size = 50M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

Если не сложно, покритикуйте представленные конфиги (конфиг NGINX не предоставлял, так как он особо систему не грузит). Возможно где-то напортачил, из-за чего идёт сильная нагрузка на CPU и на HDD. Быть может возможно с помощью конфигов ещё немного быстродействия выжать?

P.S. И да, использую InnoDB. В оптимизации SQL-запросов пока что чайник. Полагаю, что должен быть ещё потенциал в конфигах.

С уважением, Геннадий.

Sferg
()

Каким образом можно заставить nginx возвращать заголовок Last-Modified и воспринимать If-Modified-Since?

Здравствуйте, господа. Установлена связка nginx + php-fpm. При обращении к статичному контенту (html, jpg и т.д.) заголовок Last-Modified возвращается нормально, но не воспринимается If-Modified-Since. Если же обращаюсь к динамичному контенту (php), то Last-Modified не возвращается и не воспринимается If-Modified-Since. Подскажите, пожалуйста, каким образом можно заставить nginx возвращать заголовок Last-Modified для php и воспринимать If-Modified-Since? В качестве средства проверки использую сайт http://last-modified.com/ru/if-modified-since.html.

Вот мой конфиг nginx:

user www-data www-data;
worker_processes 2;
worker_cpu_affinity 0101 1010;
worker_rlimit_nofile 8192;
worker_priority -5;
timer_resolution 100ms;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
    worker_connections 2048;
    multi_accept on;
    accept_mutex on;
    use epoll;
}

http {
    include mime.types;
    default_type application/octet-stream;
    index index.html index.htm index.php;

    upstream example.com {
        server unix:/var/run/php5-fpm_example.com.sock max_fails=3 fail_timeout=3s;
    }

    server {
        listen *:80;
        server_name example.com;
        root /home/example.com/www;
        access_log /var/log/nginx/access.log;

        location ~ ^.+\.php(?:/.*)?$ {
            fastcgi_pass example.com;
            include fastcgi_params;
            fastcgi_split_path_info ^(.+?\.php)(/.*)$;
            if ($uri ~ ^(?<script_name>.+\.php)?(?<path_info>/.*)?$) {}

            set $path_info_final $path_info;
            if ($fastcgi_path_info != '') {
                set $path_info_final $fastcgi_path_info;
            }

            fastcgi_param PATH_INFO $path_info_final;

            set $script_name_final '/index.php';
            if ($script_name != '') {
            set $script_name_final $script_name;
            }

            fastcgi_param SCRIPT_FILENAME $document_root$script_name_final;

            if (!-e $document_root$script_name_final) {
                return 404;
            }

            fastcgi_param SCRIPT_NAME $script_name_final;

            set $request_uri_final $request_uri;
            if ($path_info_final != '') {
                set $request_uri_final $path_info_final$is_args$args;
            }

            fastcgi_param REQUEST_URI $request_uri_final;
            fastcgi_index index.php;
            fastcgi_next_upstream error timeout;
            fastcgi_keep_conn on;
            fastcgi_hide_header "X-Powered-By";
        }

        location / {
            index index.html index.htm index.php;
            try_files $uri $uri/ /index.html /index.htm /index.php;
        }

        location /blog {
            try_files $uri $uri/ /blog/index.php?q=$uri&$args;
        }

        location ~ \.(htc|js|js2|js3|js4)$ {
            expires 31536000s;
            add_header Pragma "public";
            add_header Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate";
        }

        location ~ \.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$ {
            expires 3600s;
            add_header Pragma "public";
            add_header Cache-Control "max-age=3600, public, must-revalidate, proxy-revalidate";
        }

        location ~ \.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|json|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$ {
            expires 31536000s;
            add_header Pragma "public";
            add_header Cache-Control "max-age=31536000, public, must-revalidate, proxy-revalidate";
        }
    }
}
Sferg
()

Возможно ли установить Debian Wheezy при 64Mb ОЗУ?

Здравствуйте. Возможно ли вообще установить Debian Wheezy при 64Mb ОЗУ? В частности, интересует установка на Virtualbox или VMWare Workstation.

Sferg
()

Как разблокировать каналы 12-14 для WiFi-карточки TP-Link TL-WN881ND?

Здравствуйте. На ПК установлена WiFi-карточка TP-Link TL-WN881ND (на чипе AR9287), работающая в режиме точки доступа под управлением hostapd и ОС Debian Wheezy. Подскажите, пожалуйста, как разблокировать и сделать доступными для использования каналы с 12 по 14? Хочется, в идеале, перейти на 14-й канал (11+14), поскольку соседние точки доступа сидят на каналах с 1 по 13, а 14-й не используется. Ну, и мощность сигнала увеличить, ибо в настоящее время драйвера карточки не позволяют это сделать (уменьшить можно).

Вывод uname -a

Linux PC-Router 3.2.0-4-amd64 #1 SMP Debian 3.2.63-2 x86_64 GNU/Linux

Вывод iw list | grep MHz

* 2412 MHz [1] (16.0 dBm)
* 2417 MHz [2] (16.0 dBm)
* 2422 MHz [3] (16.0 dBm)
* 2427 MHz [4] (16.0 dBm)
* 2432 MHz [5] (16.0 dBm)
* 2437 MHz [6] (16.0 dBm)
* 2442 MHz [7] (16.0 dBm)
* 2447 MHz [8] (16.0 dBm)
* 2452 MHz [9] (16.0 dBm)
* 2457 MHz [10] (16.0 dBm)
* 2462 MHz [11] (16.0 dBm)
* 2467 MHz [12] (disabled)
* 2472 MHz [13] (disabled)
* 2484 MHz [14] (disabled)

Sferg
()

Курсор в форме блока - при перезапуске демонов слетает в обычный. Как побороть?

Здравствуйте. Решил себе взгляд потешить - сделать немигающий курсор в командной строке Debian в виде вертикального блока. Для этого в конце файла .bashrc добавил строчку:

echo -e '\033[?17;7;113c'

К сожалению, в ряде случаев - например, при запуске htop или (пере)запуске из init.d сервиса hostapd - курсор сбрасывается на стандартный: становится горизонтальной мигающей чёрточкой.

Подскажите, пожалуйста, куда эту строку ещё следует прописать чтобы параметры курсора не сбрасывались в стандартные?

Sferg
()

Возможно ли скрыть Set-Cookies из HTTP-заголовков не ломая авторизацию?

Здравствуйте, господа. Настроена связка nginx + php-fpm. Возможно ли скрыть строки Set-Cookies из HTTP-заголовков от посторонних глаз так, чтобы не сломалась возможность авторизации на сайте? Пробовал добавлять в конфиг nginx строчку:

fastcgi_hide_header «Set-Cookie»;

Строки Set-Cookies в HTTP-заголовках исчезают, однако при этом становится невозможной процедура авторизации на сайте. Возможно, я несколько параноидален, но как-то не хочется всем и вся «светить» данной информацией.

С уважением, Геннадий.

Sferg
()

Как подружить Midnight Commander с цветовой темой xoria256?

Здравствуйте. На ПК установлен минимальный Debian Wheezy (без графического Desktop Environment). Установил Midnight Commander с цветовой темой xoria256. В /home/username/.bashrc прописал:

case "$TERM" in
    'xterm') TERM=xterm-256color;;
    'screen') TERM=screen-256color;;
    'Eterm') TERM=Eterm-256color;;
esac

Если захожу с помощью PuTTY или ConnectBot (с указанным в настройках xterm-256color), то запускается mc так, как нужно, однако, если я захожу напрямую с ПК, то при запуске mc ругается на то, что не может запуститься в 256-и цветном режиме и запускается с классической синей расцветкой.

Возможно ли как-то преодолеть это досадное недоразумение? Конечно, я, в основном, захожу через PuTTY (с винды) или через ConnectBot (Android) и это особо не критично, но хотелось бы лицезреть красоты mc на экране монитора при входе в систему напрямую с ПК.

Sferg
()

Как заблокировать исходящий трафик в Интернет с компьютеров из локальной сети?

Здравствуйте, господа. Имеется самосборный сетевой шлюз на Debian Wheezy (192.168.0.1). Также имеются ПК пользователей c Windows 7\8.1 (192.168.0.31, 192.168.0.33, 192.168.0.61). На Sidebar винды выведен гаджет Network Meter: давно обратил внимание, что частенько (особенно в Windows 8.1) откуда-то и куда-то идёт трафик (шпионы орудуют, не иначе!). Поскольку я немного страдаю паранойей, то захотелось мне обломать врага, заблокировав исходящий трафик на всех лишних портах. Брандмауэру буржуйской винды я ни разу не доверяю, посему планируется заблокировать исходящий трафик с ПК пользователей средствами Debian Wheezy на сетевом шлюзе. В связи с этим у меня к вам вопрос, уважаемые Знатоки: как сие реализовать?

Совсем вкратце, мой свод правил iptables выглядит так:

#!/bin/bash
iptables -F
iptables -X
iptables -t mangle -F
iptables -t mangle -X
iptables -t nat -F
iptables -t nat -X

iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT DROP

for int in lo eth0; do
    iptables -A INPUT -i $int -j ACCEPT
    iptables -A OUTPUT -o $int -j ACCEPT
done

for ext in eth1 br0; do
    iptables -A INPUT -i $ext -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A INPUT -i $ext -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
    iptables -A OUTPUT -o $ext -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
    iptables -A POSTROUTING -t nat -o $ext -j MASQUERADE
done

, где: eth0 - интерфейс, смотрящий в локальную сеть, eth1 - интерфейс, смотрящий наружу.

Sferg
()

Как узнать, с какими параметрами был собран PHP?

Здравствуйте, господа. Подскажите, как можно узнать, с какими параметрами был собран PHP?

1. В phpinfo() нет раздела Configure Command.

2. Команда php -i | grep 'Configure Command' ничего не выводит.

Где ещё можно посмотреть?

P.S. Я устанавливал PHP v5.4.4-14+deb7u14 из штатного репозитория Debian Wheezy (x86_64).

С уважением, Геннадий.

 

Sferg
()

Не срабатывает Cron-задание. В чём загвоздка?

Здравствуйте. Задумал организовать ежедневное создание резервной копии БД в 4 часа утра.

Для этого добавил в Cron следующую строчку:

* 4 *  *  * /usr/bin/mysqldump -u root -ppassword database > /tmp/backup.sql

Здесь всё замечательно и всё хорошо: в 4 часа утра создаётся файл. Однако захотелось мне, чтоб при создании имя нового файла отличалось от старого (например, датой\временем). Для этого строчку видоизменил:

* 4 *  *  * /usr/bin/mysqldump -u root -ppassword database > /tmp/backup_$(date +%d-%m-%Y,%H:%M:%S).sql

А вот эта «конструкция» уже не исполняется - файл не создаётся. При этом, если в консоли набрать:

/usr/bin/mysqldump -u root -ppassword database > /tmp/backup_$(date +%d-%m-%Y,%H:%M:%S).sql

, то файл создастся. А вот в Cron'е почему-то не срабатывает. В чём неправ?

С уважением, Геннадий.

Sferg
()

RSS подписка на новые темы