Как настроить кеширование на apache+nginx?

Добрый времени суток такой вопрос.
У меня на vps стоит apache + nginx
Мне необходимо кэшировать данные, прочитал статьи
docs.moodle.org/archive/ru/%D0%9D%D0%B0%D1...

#! Статический контент! location ~* \.(jpg|jpeg|gif|png|swf|tiff|swf|flv)$ { root $webroot; #Кеширум картинки месяца на 4 expires 4M; #Кешируем везде (и на прокси и на клиентах) add_header Cache-Control public; }
в примере осуществляется кеширование на стороне как клиента так и промежуточных серверов. переменная $webroot указывает, где находиться папка с файлами moodle, например:
set $webroot '/var/www/moodle'; root $webroot;
этого момента я не до конца не догоняю, куда он ссылаться должен??

весь файл
user apache; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server_tokens off; client_max_body_size 100m; log_format main '$remote_addr — $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; ############################################################ #GZIP gzip on; gzip_min_length 1000; gzip_proxied expired no-cache no-store private auth; gzip_types text/plain application/xml; #
Читать дальше

Как восстановить запуск служб systemd-sysctl.service и systemd-vconsole-setup в Centos 7?

centos-7-amd64 стоит на VDS (OpenVZ). Ввожу systemctl list-units, вижу такую ерунду:

* systemd-sysctl.service loaded failed failed Apply Kernel Variables
* systemd-vconsole-setup.service loaded failed failed Setup Virtual Console

Пытаюсь запустить их вручную:

[root@audiophilesoft ~]# service systemd-vconsole-setup start
Redirecting to /bin/systemctl start systemd-vconsole-setup.service
Job for systemd-vconsole-setup.service failed because the control process exited with error code. See «systemctl status systemd-vconsole-setup.service» and «journalctl -xe» for details.
[root@audiophilesoft ~]# service systemd-vconsole-setup status
Redirecting to /bin/systemctl status systemd-vconsole-setup.service
* systemd-vconsole-setup.service — Setup Virtual Console
Loaded: loaded (/usr/lib/systemd/system/systemd-vconsole-setup.service; static; vendor preset: disabled)
Active: failed (Result: exit-code) since Tue 2016-02-02 07:45:16 GMT; 7s ago
Docs: man:systemd-vconsole-setup.service(8)
man:vconsole.conf(5)
Process: 32522 ExecStart=/usr/lib/systemd/systemd-vconsole-setup (code=exited, status=1/FAILURE)
Main PID: 32522 (code=exited, status=1/FAILURE)
Читать дальше

Не работает PHP7 на Debian 8?

Особо не пинайте, я настраиваю свой первый сервер.
Попробую расписать всю информацию, которую делал, если чего недостаточно, пишите. Я могу даже оплатить вашу помощь.
Пробую ставить nginx 1.9.10 + PHP/7.0.2.

Как я ставил nginx
# Obtain the latest source for NGINX from nginx.org/en/download.html wget nginx.org/download/nginx-1.9.10.tar.gz tar -xzvf nginx-1.9.10.tar.gz # Obtain the development sources for nginScript hg clone hg.nginx.org/njs # Build and install NGINX cd nginx-1.9.10 ./configure --sbin-path=/usr/sbin/nginx --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --user=nginx --group=nginx --with-ipv6 --with-pcre-jit --with-http_gzip_static_module --with-http_ssl_module --with-http_v2_module --add-module=../njs/nginx --with-http_auth_request_module --with-mail --with-mail_ssl_module --with-file-aio --with-openssl=../openssl-1.0.1r
все хорошо поставилось, еще пару манипуляций с init.d и все заработало. Запускаю службу nginx'а, ура!, отображается html-файл.
Пробую подтянуть пхп. Тут начинаются проблемы. Делаю все в точности, как в мануале codebeer.ru/ustanovka-php-7-v-debian-8/, кроме того, как указываю listen = 127.0.0.1:7777. Подключаю в конфиг nginx обработку php файлов, так:
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr — $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { server_name 46.36.220.150; charset off; disable_symlinks if_not_owner from=$root_path; index index.html index.php; root $root_path; set $root_path /var/www/forum; access_log /var/www/access.log; error_log /var/www/error.log notice; listen *:80; listen *:81; location / { location ~ [^/]\.ph(p\d*|tml)$ { try_files /does_not_exists @php; } } location @php { fastcgi_index index.php; fastcgi_param PHP_ADMIN_VALUE «sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@adpay.click»; fastcgi_pass 127.0.0.1:7777; fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$; try_files $uri =404; include fastcgi_params; } } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
Файлы логов создал и дал им права 777. Создаю файл index.php, пишу в него любимую команду

Почему Docker ругается на Iptables?

Добрый день!
Сразу скажу, что админ я не очень хороший (и докером пользуюсь 2-ой час), и скорее всего жестко туплю, но Docker ругается на Iptable и не хочет прокидывать 8080 порт.

Система: CentOS 7
Kernel:

Linux ****** 3.10.0-327.4.5.el7.x86_64 #1 SMP Mon Jan 25 22:07:14 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

docker -v:

Docker version 1.9.1, build a34a1d5

docker info:

Containers: 12
Images: 14
Server Version: 1.9.1
Storage Driver: devicemapper
Читать дальше

Какая производительность Nginx в режиме проксирования?

Не знал как правильно вопрос сформулировать. Есть мощный сервер на котором стоит Apache + mysql + PHP. Появилась задача его проксировать NGIXN, но не на базе этого же сервера, а отдельного (например, маломощный хостинг VPS только под эту задачу). И тут возник резонный вопрос: какая производительность потребуется для NGINX.
В моем понимании, при выполнении запроса к сайту, основная нагрузка создается Apache + mysql + PHP, пальцем в небо это около 90%. Т.е приблизительно если брать VPS, он должен быть в 10 раз меньшей производительности. Понимаю, что можно настроить проксирование по разному. Сейчас речь идет про стандартную настройку. Насколько мое понимание верное? Комменты на эту тему приветствуются.

Я дополню вопрос. Сервер из темы: Куда можно еще использовать сервер?
Т.к линии домашних несколько и мне не дают BGP, хочу взять на хорошей площадке маломощный сервер или VPS, чтоб он был точкой доступа к HTTP серверу. Т.е в случае падения одного канала он автоматически запрашивал все через второй/третий. Как-то так. И конечно, хочется меньше заплатить на сервер доступа. Ведь моя машина всяко производительнее чем сервера до 500 евро.
Сейчас на моем ради эксперимента стоит в виртуалке VestaCP. Пока видел, что она позволяет выбрать отдачу сайта в формате: Apache + NGINX Proxy или просто Apache.

Как пробросить IP адреса одного роутера через другой (получился NAT, надо его убрать/отменить/как ещё сказать)?

Есть два роутера и два пользователя.
Сеть такая:
WAN — Wired Router — Wireless Router — Wireless User \ Wired User
Wired Router: D-Link DIR-100 (ПУ — 192.168.0.1)
Wired User (192.168.0.100, 192.168.56.1; ПК)
Wireless Router: Netis WF2411R (192.168.0.101; ПУ — 192.168.1.1)
Wireless User (192.168.56.2; Смартфон/Принтер)
D-Link выдаёт адреса 192.168.0.100 — 192.168.0.255, а Netis 192.168.56.1 — 192.168.56.255, так что конфликтов быть не должно.
Wireless User может отправлять запросы на IP-адреса Wired Router'а и Wireless Router'а, а Wired User не может отправлять запросы на адреса Wireless Router'а. Как это исправить?

Как настроить nginx.config для laravel 5.1 под isp manager?

Здравствуйте, помогите пожалуйста справится с конфигом, уже все обрыл, не пойму в чем причина в данной ситуации.
Использую isp manager 5 через него настраиваю конфиг nginx, входной файл в pablic видит, но как только я перехожу на другую страницу
сразу вижу 404 Not Found. Могу конфиг переконфигурировать чтобы работал согласно документации, но тогда появляются проблемы со входом в mysql на сервере и редирект на с http на https, так как этот конфиг настроен под isp manager и его менять не рекомендуется у него свою нюансы.
Основная проблема — не получается перейти по страницам сайта не получим 404 Not Found.
Всем огромное спасибо кто не пройдем мимо.
Вот мой конфиг.
#user 'admin' virtual host 'example.ru' configuration file
server {
server_name example.ru www.example.ru;
charset UTF-8;
disable_symlinks if_not_owner from=$root_path;
index index.html index.php;
root $root_path;
set $root_path /var/www/admin/data/www/example.ru/public;
access_log /var/www/httpd-logs/example.ru.access.log;
error_log /var/www/httpd-logs/example.ru.error.log notice;
Читать дальше

Как разграничить доступ в FreeNas 9.3 и надежно сохранить данные?

Здравствуйте. Установил FreeNas 9.3 на USB Flash. Подключил 2 жестких в ZFS mirror, создал ZFS Dataset для каждой сетевой папки для доступа пользователей Windows и сами общие папки. Теперь никак не могу разобраться с правами доступа к сетевым папкам, подскажите пожалуйста как сделать следующее:
1) group1(администраторы) с user1-1,user1-2 и т.д с полными правами доступа к share1, share2, share3, share4, share5;
2) group2(те кому можно) с user2-1,user2-2 и т.д с полными правами доступа к share2, share3;
3) group3(пользователи сети) с user3-1,user3-2 и т.д с полными правами доступа к share3.
Назначение папок:
share1 — папка с бэкапами и разной информацией и ПО для администрирования;
share2 — папка с конфиденциальными данными с ограниченным доступом;
share3 — папка с доступом не для всех;
share4 — папка с данными только для чтения, доступна и не авторизованным пользователям, изменять может только group1;
share5 — папка с открытым доступом, все в том числе не авторизованные пользователи имеют право создавать и изменять содержимое.

Так же хотелось бы узнать:
1. Надежно ли будут храниться данные в ZFS mirror (программное зеркалирование, если я правильно понял) на компе с памятью без ECC (как пишут в сети Интернет ZFS чувствителен к ошибкам, а от UFS в FreeNas 9.3 вроде как отказались);
Читать дальше

Как заставить nginx отдавать по domain.com/sub отдельную папку?

Имеем проект на Laravel.
И понадобилось часть запросов на /sub обрабатывать отдельным скриптом. Но вот незадача, отдельный скрипт тоже написан на Laravel и по сути является независимым проектом.

Никак не могу заставить свой мозг сообразить как же изменить конфиг nginx'a чтобы всё работало. Помогите разобраться, пожалуйста.

Сейчас конфиг стандартный как у всех:
server { # все как у всех listen 80 default_server; server_name domain.cm; root /home/domain.com/public; index index.php; # тут все стандартно location / { try_files $uri $uri/ /index.php?$query_string; } # и тут все стандартно location ~ \.php$ { fastcgi_pass 127.0.0.1:9001; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }

Соответственно /home/domain.com лежит проект. А /home/domain.com/public точка входа в приложение.
Так вот в /home/domain.com/sub лежит подпроект. И его точка входа естественно /home/domain.com/sub/public
А надо отдать его как domain.com/sub. Причем чтобы юзера не редиректило в domain.com/sub/public

Пробовал реализовать то что мне нужно вот так:
Читать дальше

Как закрыть доступ по IP в NGINX + PHP-Fpm?

Всем привет. Есть сайт, который работает на связке Nginx + php-fpm на панели управления Ajenti на Wordpress

Вот нужно заблокировать доступ по IP всем, кроме моего IP адреса.
Я добавлял например такое
location ~ / { #allow мой ИП; deny all; }

Но тогда сайт пхп не загружается, а скачивает Индексный файл пхп.

Подскажите как настроить правильно такое…

Вот конфиг
/etc/nginx/conf.d/мой-сайт.conf
# This order might seem weird — this is attempted to match last if rules below fail. location / { try_files $uri $uri/ /index.php?$args; } # Add trailing slash to */wp-admin requests. rewrite /wp-admin$ $scheme://$host$uri/ permanent; # Directives to send expires headers and turn off 404 error logging. location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { access_log off; log_not_found off; expires max; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found off; access_log off; } # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac). # Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban) location ~ /\. { deny all; } # Deny access to any files with a .php extension in the uploads directory # Works in sub-directory installs and also in multisite network # Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban) location ~* /(?:uploads|files)/.*\.php$ { deny all; } #