И это всё МОЁ

Всем здравствуйте.


После перезагрузки внезапно пропал звук.


При этом через lspci устройство видно:


00:1f.3 Audio device: Intel Corporation Device a171 (rev 31)
Subsystem: Lenovo Device 3804
Flags: bus master, fast devsel, latency 32, IRQ 11
Memory at a2420000 (64-bit, non-prefetchable) [size=16K]
Memory at a2400000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [50] Power Management version 3
Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+
Kernel modules: snd_hda_intel


А вот устройства, нужные alsamixer, по умолчанию отсутствуют:


open("/dev/snd/controlC0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/dev/aloadC0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)


Если загрузить snd_hda_intel, то в /proc/asound/cards таки начинаю видеть


 0 [PCH            ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xa2420000 irq 325


Какого-то рожна модуль перестал грузиться автоматически.


Как это можно продиагностировать?
У меня Debian 9 с sysvinit.









 , , ,








И это всё МОЁ
И это всё МОЁ

Закон о ликвидации изоляции рунета приняли во втором чтении: https://meduza.io/feature/2019/04/11/zakonoproekt-ob-izolyatsii-rossiyskogo-s...

Из интересного: сбои системы будут иметь место и отвечать за них никто не будет (операторы связи неувиновны по закону).








 








И это всё МОЁ

Такие дела. А вот что твроится в голове у какого нибудь директора когда он решает - надо сайт заиметь, надо аппликуху заиметь, надо анал-итику заиметь? Почему большинство выбирает разместить заказ на какой-нибудь галере? Особенно смишно, когда в итоге разраб один и работает on-site

Не, ну так то причины понятны - промытые мозги, естественная тупость/неинформированность, откаты, надежда на гарантии... Сложность найма не катит - нанимать-то необязательно

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








 








И это всё МОЁ

https://sites.google.com/view/dynobotscomputeraudio/computer-audio-primer/new...
Чувак всю жизнь подбирал оптимальные значения задержек, длинны буфера, приоритета потока итд ... чтобы сделать звук в линуксе идеальным. И теперь решился выложить свои наработки на гитхаб








 ,








И это всё МОЁ

Сейчас заметил странную штуку. Делаю пинг:

ping liveinternet.ru
PING liveinternet.ru (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.030 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.036 ms
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.031 ms


Это почему так? Никаких настроек для этого хоста у меня никогда не было. Полез посмотреть в /etc/hosts, там прописано вот что:

127.0.0.1   localhost                                                                                                      

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters


Вроде все нормально. Поискал строку liveinternet во всем каталоге /etc - нет таких файлов.

Подумал, может у liveinternet.ru домен просрочен, и теперь он неизвестен, и все неизвестные домены на 127.0.0.1 заворачиваются? Так нет, если домена нет, значит его нет:

traceroute liveinternet1.ru
liveinternet1.ru: Имя или служба не известны
Cannot handle "host" cmdline arg `liveinternet1.ru' on position 1 (argc 1)


Почему так происходит? Провайдер заблокировал liveinternet.ru и через DNS отсылает резолвинг liveinternet.ru на 127.0.0.1 ?

UPD: Вот еще трассировка:

traceroute liveinternet.ru
traceroute to liveinternet.ru (0.0.0.0), 30 hops max, 60 byte packets
1 localhost (127.0.0.1) 0.017 ms 0.008 ms 0.008 ms








 , , ,








И это всё МОЁ

Тут пишут, что можно написать свой код в стиле GObject, то можно будет, скажем, в питоне использовать этот код без дополнительных обвязок на С, просто использовав средства gobject introspection. Кто-нибудь пробовал?









 , ,








И это всё МОЁ

Решил я переписать для тренировки и изучения питона кучу баш скриптов в питон.

И есть у меня одна проблема.
Очень часто в моих баш скриптах есть команды терминала. И они настолько разнообразные, что никакого единого подхода питоном к ним нет. А зачастую и вообще можно только запустить bash код из Питона.

В связи с этим я решил, что почти все команды буду запускать саб процессом из питона.

Но и тут меня встретила жопа с тем, что мне нормально не отловить вывод команды или ее ошибку переменную или в print.

os.system - не отлавливает ошибки
subprocess.check_output - не тоже не отдает то ли ошибку,то ли вывод.

Единственное, что более менее работает это

p = Popen(command)
p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
universal_newlines=True)
output, error = p.communicate()

но и тут проблемы.

Если я делаю return, то не вижу вывода и должен делать
x=function_name(cmd)
print(x)

А если я делаю print , то не могу засунуть output в переменную.

В результате у меня родилась уродливая по моему мнению функция, в которую помимо команды я вынужден запихивать метод, корым она мне будет отдавать stdout.

вот она:

def run_command(cmd,output="print",exit_on_error=False):
p = Popen(cmd, stdout=subprocess.PIPE,stderr=PIPE,shell=True,
universal_newlines=True)
o, e = p.communicate()
if p.returncode != 0:
if output == "print" : print("%s%s" % (o, e))
if exit_on_error:
print("Error. Exit sсript";)
quit()
if output == "return": return("%s%s" % (o, e))
else:
if output == "return": return("%s%s" % (o, e))
print("%s%s" % (o, e))

И если я хочу вывод на экран, то

cmd='команда'
run_command(cmd,"print";)

А если я хочу вывод в переменную, то

cmd='команда'
x=run_command(cmd,"return";)

В если я хочу выйти из скрипта при ошибке, то

run_command(cmd, "print", True)

Тогда как в баше, я получаю вывод в переменную или на экран в зависимости от того просто я запуская команды или запускаю ее в переменную.

Например:

last_remote=$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1";)

или просто

$(ssh $backup_ip "/sbin/zfs list -t snapshot -o name | grep "$remote_dataset""@""$type" | sort -r | head -1";)

И не важно вернуться команда с ошибкой или нет, я могу отловить и статус и текст и сделать это очень просто.

Вопрос, вот эта моя уродливая функция: так все мучаются? или есть нормальное решение?








 , , ,








И это всё МОЁ

postfix 2.6.6
Dovecot 2.0.9
SpamAssassin 3.3.1

Настроено и все работает! Но, что интересно приходят такие спамы:
Return-Path: <[email protected]>
X-Original-To: [email protected]
Received: from mail.pochta.ru (localhost [127.0.0.1])
by mail.pochta.ru (Postfix) with ESMTP id 87857A4003B
for <[email protected]>; Thu, 11 Apr 2019 12:13:18 +0600 (+06)
Received: by mail.pochta.ru (Postfix, from userid 5001)
id 6FAE7A40039; Thu, 11 Apr 2019 12:13:18 +0600 (+06)
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on bitrix.pochta.ru
X-Spam-Level: ****
X-Spam-Status: No, score=4.8 required=5.0 tests=BAYES_50,DEAR_SOMETHING,
FREEMAIL_FROM,HK_RANDOM_ENVFROM,HTML_MESSAGE,MIME_HTML_ONLY,MISSING_MID,
RDNS_NONE autolearn=no version=3.3.1
Received: from enmh.com (unknown [49.81.198.142])
by mail.pochta.ru (Postfix) with ESMTP id 241FFA40039
for <[email protected]>; Thu, 11 Apr 2019 12:13:16 +0600 (+06)
Received: from vps11416 ([127.0.0.1]) by localhost via TCP with ESMTPA; Thu, 11 Apr 2019 14:12:59 +0800
MIME-Version: 1.0
From: May <[email protected]>
Sender: May <[email protected]>
To: [email protected]
Reply-To: May <[email protected]>
Date: 11 Apr 2019 14:12:59 +0800
Subject: =?utf-8?B?UmU6IEFsbCBraW5kcyBvZiBpbmR1c3RyeSB3aXRoIGFsdW1pbml1bSBwcm9maWxl?=
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64
Message-Id: <[email protected]>
X-Virus-Scanned: ClamAV using ClamSMTP

Т.е. постоянно меняется адрес Sender: а From: не меняется.
И запрет в файле sender_access не работает.
в sender_access:
aliyun.com REJECT # заперт не действует.
enmh.com REJECT # запрет на него действует.
есть еще такие хосты 126.com, 163.com и т.д.

Что не так? Больше всего интересует как хост от sender запертит?

Вот настройки:
# Dovecot
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_helo_required = yes.

content_filter = scan:127.0.0.1:10025
receive_override_options = no_address_mappings

### Virtual Domains:
virtual_mailbox_base = /var/vmail
virtual_mailbox_domains =
mysql:/etc/postfix/./virtual_mailbox_domains.cf
virtual_alias_maps =
mysql:/etc/postfix/./virtual_alias_maps.cf
virtual_mailbox_maps =
mysql:/etc/postfix/./virtual_mailbox_maps.cf

virtual_minimum_uid = 5000
virtual_minimum_gid = 5000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

transport_maps = hash:/etc/postfix/transport
### Restrictions
smtpd_client_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
permit

smtpd_helo_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_invalid_helo_hostname,
reject_non_fqdn_helo_hostname,
reject_unknown_helo_hostname,
permit

smtpd_sender_restrictions =
# permit_mynetworks,
# permit_sasl_authenticated,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
<------>check_sender_access hash:/etc/postfix/sender_access
# reject

smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination
smtpd_data_restrictions =
permit_mynetworks,
reject_unauth_pipelining,
reject_multi_recipient_bounce,
permit

smtpd_etrn_restrictions = reject
smtpd_helo_required = yes
smtpd_discard_ehlo_keywords = etrn, silent-discard
smtpd_forbidden_commands = CONNECT GET POST
disable_vrfy_command = yes

### TLS
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/dovecot/certs/dovecot.pem
smtpd_tls_key_file = /etc/pki/dovecot/private/dovecot.pem
smtp_tls_security_level=may
smtpd_tls_security_level=may
smtp_tls_loglevel = 1
smtpd_tls_loglevel = 1
tls_ssl_options = NO_COMPRESSION
tls_high_cipherlist=ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-
smtpd_tls_protocols=!SSLv2
smtp_tls_protocols=!SSLv2
#smtpd_tls_mandatory_ciphers = high
#smtp_tls_mandatory_ciphers = high
smtpd_tls_mandatory_protocols = !SSLv2
smtp_tls_mandatory_protocols = !SSLv2
#smtpd_tls_exclude_ciphers = aNULL, LOW, EXP, MEDIUM, ADH, AECDH, MD5, DSS, ECDSA, CAMELLIA128, 3DES, CAMELLIA256, eNULL
#smtp_tls_exclude_ciphers = aNULL, LOW, EXP, MEDIUM, ADH, AECDH, MD5, DSS, ECDSA, CAMELLIA128, 3DES, CAMELLIA256, eNULL
message_size_limit = 20971250
#readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
#sample_directory = /usr/share/doc/postfix-2.6.6/samples
html_directory = no
setgid_group = postdrop
command_directory = /usr/sbin
manpage_directory = /usr/share/man
mail_owner = postfix








 , ,








И это всё МОЁ

Привет!


Поглядите пожалуйста мой новый «велосипед» - дедупликатор hashget. Начнем сразу с интриги:


Сравнение


Data sampleunpacked size.tar.gzhashget .tar.gz
Wordpress-5.1.143 Mb11 Mb ( 26% )155 Kb ( 0.3% )
Linux kernel 5.0.4934 Mb161 Mb ( 20% )4.7 Mb ( 0.5% )
Debian 9 (LAMP) LXC VM724 Mb165 Mb ( 23% )4.1 Mb ( 0.5% )

Предыстория


Всегда когда целиком бэкапил виртуалку, у меня было некоторое ощущение неправильности. С одной стороны, никогда нельзя просто сохранить только нужное (например, /etc, /home, /root и /var/www), потому что при восстановлении из такого бэкапа либо надо будет что-то сделать (поставить/настроить пакет какой-то), либо что-то забудешь положить в архив, например, утилитку из /usr/local/bin. А нужно - чтобы из архива автоматически получить точно ту же исходную систему, без «жаль забыл еще то и это в бэкап включить».


С другой стороны, паковать всю машину с файлами apache, mysql (о! базы mysql еще забыл в предыдущем списке) - получается примерно гигабайт исходных данных даже на скромную чистую LAMP машинку где еще нет ничего ценного. Очень большой overhead.


И еще у бэкапов есть важное свойство - делаем мы их регулярно, храним их (и оплачиваем хранение) каждый день. А вот восстанавливаемся из них - раз в 5 лет. Соответственно, лишний гиг каждого бэкапа обходится довольно дорого.


Hashget


Hashget - делает только дедупликацию. То есть, смотрит, какие из файлов для архивации можно при восстановлении просто скачать (то есть, их для вас уже кто-то надежно хранит) и подготавливает exclude file для tar (опция -X). Например, файлы из пакета apache - в бэкап не пойдут. Файлы из wordpress тоже почти все не пойдут. Но если вы что-то пропатчили (и эти новые файлы отличаются от дистрибутивных) - то эти файлы будут в архиве.


Распаковка делается в два шага автоматом, сначала tar -x …, затем hashget -u … . Он автоматом выкачает то что нужно, положит по нужным путям, выставит те же атрибуты. Вот в примере выше, крошечные архивы по 150Kb / 4M - аналогичны таким же .tar.gz архивам по 160Mb.


Еще можно использовать его для инкрементальных и дифференциальных бэкапов. Тогда новые бэкапы (дельты) будут очень маленькими, и при этом все ресурсы для распаковки будут на собственных приватных серверах (все распакуется даже в случае зомби-апокалипсиса и падения интернета).


В результате


Бэкапы - гораздо меньше. Их можно делать каждый день и хранить хоть все. Это дешево. Можно пересылать по почте, в телеграм-чате, хоть на флоппи-дисках. Заливать на Amazon Glacier и забывать о них. Разложить в десяток разных мест на разных материках, чтобы даже после ядерной войны они сохранились. Все равно это все будет стоить копейки.


Вопрос


Может быть кто-то посоветует еще интересные проекты чтобы автоматически включить их в hashget? (Сейчас каждый пользователь вручную может добавлять их для себя, в том числе и приватные). Интересны проекты, где данные большого размера, прежние релизы доступны по тем же адресам, ну и не новые, чтобы была уверенность в надежности проекта.


Интересны любые отзывы и вопросы по hashget’у.









 , , ,








И это всё МОЁ

Сколько ни гуглил, но так и не понял есть ли сабж в git'е. Вероятно, Гугл считает, что я хочу странного.

Вот, допустим, есть git'овский проект. В него заливали кучу разных файлов, которые потом удалялись. Все предыдущие точки, до которых можно откатиться, со всеми этими файлами, по ходу, хранятся в директории .git. А вот если откат до тех точек больше однозначно не планируется, то как можно взять и почистить эту директорию .git оставив только последнее состояние как оно есть?








 ,








И это всё МОЁ

Как думаете, насколько это возможно? Все дело в том, что этот провайдер входит в число отказавшихся подписывать «мировую» с Роскомтелекомом.

Результатом становятся притеснения.

Просто интересует вопрос: Будет ли возможным повлиять на всех иностранных провайдеров или все же их попытки не увенчаются успехом?

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

Очень интересно наблюдать за тем, как будут развиваться дальнейшие события!

Интересуют мнения.








 








И это всё МОЁ

Насколько я помню, в стиме
был нативный линук-порт. я даже бенч оттуда гонял для проверки нативного порта.
Сейчас поиском среди игр поискал,только один(1) метро нашёл.
установил - так он под винду, стим мне виндовый установил!
https://img.izy.cloud/5l8mzngs8p.png

что, создатели метро выпилили из стима нативный порт или что? как то совсем нехорошо получается.








 , ,








И это всё МОЁ

Использую Laravel 5.5

Мне надо посмотреть, например, что возвращает метод Модели create().

Саму модель я наследую от Illuminate\Database\Eloquent\Model, значит лезу в документацию вот сюда:

https://laravel.com/api/5.5/Illuminate/Database/Eloquent/Model.html

И метода create() я там не нахожу.

Вопрос: где искать описание этого метода?








 ,








И это всё МОЁ

Вобщем, решил я сделать систему регистрации новых пользователей через web-интерфейс, использовал этот гайд https://www.tutorialrepublic.com/php-tutorial/php-mysql-login-system.php. Получается страница с лишними символами - частью кода PHP. Должно получится так https://www.tutorialrepublic.com/lib/images/php-login-form.png , а получается так https://yadi.sk/i/fGu7voX5wJIZIA . Что делать? Если что, весь код в первой ссылке и сейчас я зашел на login.php








 ,








И это всё МОЁ

сервер стартует на порту 8081. И все хорошо

запускаю свой сервер $ node.js server.js (на express)

а как скомпилировать приложение на vue.js чтобы оно могло достучаться до моего сервера








 , ,








И это всё МОЁ

1. Можно ли оба сервиса установить на одном сервере?
2. Куда можно поставить сервер? У провайдера чтоб поставить надо быть юр лицом, какие есть еще варианты?
3. Можно ли сервер дома поставить и через роутер NAT порты к нему прокинуть? будет ли работать?
4. В vmmanager как будут ip машинам прописываться? Можно ли это сделать на домашнем сервере? Или нужны услуги дополнительные от поставщика интернета?








 ,








И это всё МОЁ

кто как и где пишет. вобщем решил спросить лучше тех кто знает, то есть Вас.

что вперед надо компилить ядро или модули? что вперед устанавливать ядро или модули?
где -то пишут что модули в наши дни вообще не надо компилить отдельной командой

make modules

говорят, что когда
make -j

то модули уже скомпилятся.
кто-то пишет, что надо
make -j
make modules
make install
make modules_install

кто -то пишет, что нет, надо:
make -j
make modules
make modules_install
make install

другие:
make modules
make -j
make modules_install
make install

скажите как правильно... но пожалуйста аргументируйте








 








И это всё МОЁ

Нужен человек способный поднять технически сложный проект -
MESH сеть. Вне зависимости от вашего опыта прошу отозваться
тех, кому интересна тема MESH сетей.

Приношу извинения, что не публикую детали, надеюсь на понимание.

Заинтересовавшихся прошу напиать мне на
meshman собака protonmail точка com

Спасибо.








 , , , ,








И это всё МОЁ

Помогите понять почему не работает expires max в nginx.
Есть связка nginx+php-fpm+memcache, но почему то не работает кэширование. developers.google.com говорит, что статика не кешируется.

Сам конфиг nginx:

server {
listen 80;
listen [::]:80;
server_name .example.com;
# return 301 example.com$request_uri;
}

server {

fastcgi_pass_header Last-Modified;

gzip on;
gzip_comp_level 3;
gzip_types application/x-javasсript application/javasсript text/css;

pagespeed on;
pagespeed RewriteLevel OptimizeForBandwidth;
pagespeed FileCachePath /var/ngx_pagespeed_cache;
pagespeed LoadFromFile "example.com"; "/home/www/example.com/www/";
pagespeed FetchHttps enable;

pagespeed EnableFilters collapse_whitespace,rewrite_css,rewrite_js,combine_css,combine_javasсript,prioritize_critical_css,insert_dns_prefetch;
pagespeed DisableFilters convert_to_webp_animated,convert_jpeg_to_webp,convert_to_webp_lossless,recompress_webp;
pagespeed EnableFilters in_place_optimize_for_browser;
pagespeed InPlaceResourceOptimization on;
pagespeed EnableFilters extend_cache;
pagespeed EnableCachePurge on;
pagespeed ImplicitCacheTtlMs 1209600000;
pagespeed ImagePreserveURLs on;

keepalive_timeout 70;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 5m;
ssl_stapling on;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!RC4:!aNULL:!MD5:!kEDH";

listen 443 ssl http2;
server_name .example.com;
charset off;
access_log /var/log/nginx/example.com-access.log;
error_log /var/log/nginx/example.com-error.log;
set $root_path /home/www/example.com/www;
root $root_path;

set $php_sock unix:/var/run/php-fpm/php-fpm.sock;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
client_max_body_size 1024M;
client_body_buffer_size 10M;
client_body_timeout 60;
send_timeout 60;
index index.php;
autoindex off;
error_page 404 /404.php;

if (!-e $request_filename) {
rewrite ^(.*)$ /bitrix/urlrewrite.php last;
}

location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
expires 7d;
}

if ($host = 'www0.example.com') {
return 301 example.com$request_uri;
}

location @bitrix {
add_header Cache-Control "private, max-age=1209600";
fastcgi_pass $php_sock;
include fastcgi_params;
fastcgi_param sсript_FILENAME $document_root/bitrix/urlrewrite.php;
}

location ~* /bitrix/admin.+\.php$ {
pagespeed off;
try_files $uri @bitrixadm;
fastcgi_pass $php_sock;
fastcgi_param sсript_FILENAME $document_root$fastcgi_sсript_name;
fastcgi_param PHP_ADMIN_VALUE "max_execution_time = 1200";
fastcgi_read_timeout 1200;
fastcgi_send_timeout 1200;
include fastcgi_params;
}

location @bitrixadm {
fastcgi_pass $php_sock;
include fastcgi_params;
fastcgi_param sсript_FILENAME $document_root/bitrix/admin/404.php;
}

location = /favicon.ico {
log_not_found off;
access_log off;
expires 7d;
}

location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}

# ht(passwd|access)
location ~* /\.ht { deny all; }

# repositories
location ~* /\.(svn|hg|git) { deny all; }

# Player options, disable no-sniff
location ~* ^/bitrix/components/bitrix/player/mediaplayer/player$ {
add_header Access-Control-Allow-Origin *;
}

location ~* ^.+\.(jpg|jpeg|gif|png|svg|ttf|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar)$ {
access_log /var/log/nginx/example.com-access.log;
expires max;
error_page 404 /404.html;
try_files $uri /404.html;
}

location ~ \.php$ {
pagespeed off;
try_files $uri @bitrix;
fastcgi_pass $php_sock;
fastcgi_param sсript_FILENAME $document_root$fastcgi_sсript_name;
include fastcgi_params;
}
}







 ,