Любые обсуждения по этой теме. Само-пиар или резюме публиковать на другие наши проекты, например host.camp или vm.center. Тут только клиентские запросы на помощь.
  • Дата создания
    17 марта 2019
  • Топиков
    908
  • Ограничение на постинг
    0.000
  • Категория:
    Администрирование и настройка

Не работает 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'а. Как это исправить?

Как разграничить доступ в 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; } #

Как победить cannot allocate memory for the buffer pool в MYSQL?

Не могу победить mysql…
Раз в сутки или чаще мускул ложится.
Памяти много, 32 гб, нагрузки мизер на сервере.

160109 00:26:19 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended 160109 00:26:19 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 160109 0:26:19 [Note] /usr/libexec/mysqld (mysqld 5.5.47) starting as process 19542… 160109 0:26:19 [Note] Plugin 'FEDERATED' is disabled. 160109 0:26:19 InnoDB: Mutexes and rw_locks use GCC atomic builtins 160109 0:26:19 InnoDB: Compressed tables use zlib 1.2.3 160109 0:26:19 InnoDB: Using Linux native AIO 160109 0:26:19 InnoDB: Initializing buffer pool, size = 10.0G 160109 0:26:20 InnoDB: Completed initialization of buffer pool 160109 0:26:20 InnoDB: highest supported file format is Barracuda. 160109 0:26:20 InnoDB: Waiting for the background threads to start 160109 0:26:21 InnoDB: 5.5.47 started; log sequence number 792513317 160109 0:26:21 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306 160109 0:26:21 [Note] — '0.0.0.0' resolves to '0.0.0.0'; 160109 0:26:21 [Note] Server socket created on IP: '0.0.0.0'. 160109 0:26:21 [Warning] 'proxies_priv' entry '@ root@you32' ignored in --skip-name-resolve mode. 160109 0:26:21 [Note] Event Scheduler: Loaded 0 events 160109 0:26:21 [Note] /usr/libexec/mysqld: ready for connections. Version: '5.5.47' socket: '/var/lib/mysql/mysql.sock' port: 3306 MySQL Community Server (GPL) by Remi 160109 22:37:19 mysqld_safe Number of processes running now: 0 160109 22:37:19 mysqld_safe mysqld restarted 160109 22:37:19 [Note] /usr/libexec/mysqld (mysqld 5.5.47) starting as process 14038… 160109 22:37:19
Читать дальше

Что это за ошибка innodb?

Раз в сутки или чаще мускул ложится.
Памяти много, 32 гб, нагрузки мизер на сервере.

160105 18:12:19 mysqld_safe Number of processes running now: 0 160105 18:12:19 mysqld_safe mysqld restarted 160105 18:12:19 [Note] /usr/libexec/mysqld (mysqld 5.5.47) starting as process 7375… 160105 18:12:19 [Note] Plugin 'FEDERATED' is disabled. 160105 18:12:19 InnoDB: Mutexes and rw_locks use GCC atomic builtins 160105 18:12:19 InnoDB: Compressed tables use zlib 1.2.3 160105 18:12:19 InnoDB: Using Linux native AIO 160105 18:12:19 InnoDB: Initializing buffer pool, size = 24.0G InnoDB: mmap(26373783552 bytes) failed; errno 12 160105 18:12:19 InnoDB: Completed initialization of buffer pool 160105 18:12:19 InnoDB: Fatal error: cannot allocate memory for the buffer pool 160105 18:12:19 [ERROR] Plugin 'InnoDB' init function returned error. 160105 18:12:19 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed. 160105 18:12:19 [ERROR] Unknown/unsupported storage engine: innodb 160105 18:12:19 [ERROR] Aborting 160105 18:12:19 [Note] /usr/libexec/mysqld: Shutdown complete 160105 18:12:20 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

my.cnf
[mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql symbolic-links=0 max_connections=200 max_user_connections=30 key_buffer_size=8G myisam_sort_buffer_size = 3G open_files_limit = 100000 wait_timeout=30 interactive_timeout=50 long_query_time=5 skip-name-resolve #log-queries-not-using-indexes #log-slow-queries=/var/log/mysql/log-slow-queries.log #innodb_use_native_aio = 0 innodb_file_per_table #was added by me, down mysql innodb=ON default-storage-engine=innodb innodb_use_sys_malloc=0 innodb_buffer_pool_size=24G [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid

Как настроить htaccess для работы с несколькими сайтами?

Есть хостинг, где для основного домена невозможно изменить физический адрес на сервере (/home/troykaby/public_html). И есть несколько проектов на laravel, которые необходимо разместить на данном хостинге. Мне удалось настроить только один проект, путем добавления в .htaccess, который находиться в корне public_html, следющего:

Options +FollowSymLinks RewriteEngine On RewriteBase / # сайт troyka.by RewriteCond %{HTTP_HOST} ^troyka.by$ [NC] RewriteCond %{REQUEST_URI} !^troykaby/public RewriteRule ^(.*)$ troykaby/public/$1 [L] # сайт www.troyka.by RewriteCond %{HTTP_HOST} ^www.troyka.by$ [NC] RewriteCond %{REQUEST_URI} !^troykaby/public RewriteRule ^(.*)$ troykaby/public/$1 [L]

При добавлении аналогичного блока для другого домена в тот же .htaccess, ничего не дает. А точнее ругается на прикручиваемый домен, мол, доступ запрещен.

P.S. Поддержка хостера сказала, что адрес на сервере для основного домена изменить нельзя, хотя это решило бы много проблем.