phpbrew config phpbrew fpm restart
Архив
Решение на python чтобы распаковать zip архив, не имея установленной unzip (и не имея возможности или желания установить):
touch pyunzip
#!/usr/bin/env python3 import sys from zipfile import PyZipFile for zip_file in sys.argv[1:]: pzf = PyZipFile(zip_file) pzf.extractall()
chmod +x pyunzip ./pyunzip archive.zip
Еще возможен вариант на perl, (но без unzip он работать не стал):
#!/usr/bin/env perl use Archive::Extract; foreach my $filepath (@ARGV){ my $archive = Archive::Extract->new( archive => $filepath ); $archive->extract; }
touch perlunzip chmod +x perlunzip ./perlunzip archive.zip
You do not have 'Archive::Zip' installed - Please install it as soon as possible. at ./perlunzip line 5. No '/bin/unzip' program found at ./perlunzip line 5. Extract failed; no extractors available at ./perlunzip line 5.
Чтобы добавить правила для нескольких location:
location ~ ^/(path|path2/|file3.html|image4.png) { #rules }
location /path { proxy_pass http://site.ru:8080; }
Скрипт:
в пароле для mysql спецсимволы нужно экранировать, например \)
#!/bin/bash tar -czf /var/www/backup/site.ru.tar.gz /var/www/site.ru/ mysqldump --opt -udbuser -pdbpassword dbname | gzip -c -9 > /var/www/backup/site.ru.sql.gz lftp -c 'open -e "mput -O ftpdir/ /var/www/backup/*.gz " -u ftpuser,ftppassword ftpserver exit'
Задание cron (будет выполняться в 2:30 каждый день):
crontab -e
30 2 * * * /usr/bin/perl /var/www/backup/site.ru.sh >> /var/www/backup/site.ru.log 2>&1
https://www.frameworks.su/article/rezervnoe_kopirovanie_sayta_s_pomoshchyu_cron
См. также: Резервное копирование файлов и базы данных сайта с выгрузкой на Google Drive
Для конвертации правил можно воспользоваться сервисами:
https://winginx.com/ru/htaccess
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
Когда с несуществующей страницы нужно сделать, например, редирект.
Чтобы разрешить изменение кода ответа HTTP с 404 на другой (например, 301 для постоянного перенаправления), вам необходимо настроить директиву Nginx error_page:
error_page 404 = /404.php;
Т.е. вместо:
error_page 404 /404.php;
Без знака равенства (=) невозможно изменить код состояния с помощью PHP-скрипта:
header("Location: /new.html",true,301);
https://stackoverflow.com/questions/20932750/redirect-instead-of-404-error-page-status-code-not-working-nginx
Redirect instead of 404 Error page — Status Code not working (Nginx)
To allow changing the HTTP response code from 404 to a different one (e.g. 302 for the temporary redirect), you have to configure Nginx error_page directive accordingly:error_page 404 = /404.php;Without the equal sign (=), it is not possible to change the status code with your PHP script:
header("Location: http://google.com");