Posted 1 мая, 20168 yr comment_106272 Здравствуйте ребят, прошу помощи/подсказки в настройке виртуального хоста на связке nginx+php-fpm. Не получается попасть в админ панель форума IPB. Путь админки http://forum.maybe.ru/day/ Получаю ошибку: http://clip2net.com/clip/m0/f35f0-clip-67kb.jpg?nocache=1 Раньше стоял apache+nginx , соответственно был mod_rewrite и все шикарно работало. После сноса апача вот такая беда.. С другими сайтами (их штук 10, не форумы, без реврайтов) все нормально.. Сам виртуальный хост форума: http://pastebin.com/uSDk47BB Перерыл уже весь гугл и яндекс, не нашел ничего, что может помочь... .htaccess не было не в админке, не в корне форума. (Версия 3.5.6, если это имеет роль, конечно.) Спасибо.
1 мая, 20168 yr Author comment_106276 4 минуты назад, kgb сказал: https://invisionpower.com/forums/topic/396839-nginx-optimization/ Вот только жалко, что лицензии у меня нет.
1 мая, 20168 yr comment_106281 27 минут назад, Machine сказал: Вот только жалко, что лицензии у меня нет. Nginx Configuration Now that you have both Nginx and PHP-FPM up and running, we can move on to configuring the web server. First, let's make some small adjustments to /etc/nginx/nginx.conf, user nginx; worker_processes 4; error_log /var/log/nginx/error.log error; pid /var/run/Nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; server_tokens off; 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 30; #gzip on; include conf.d/*.conf; } There's not much to say here. Increase worker_processes from the default of 1 to however many processor cores your server has. For example, if your server has a single quad core processor, set this value to 4. I've also changed the error_log directive to only log errors. Now let's move on to configuring your IP.Board website. Use this as your base template for /etc/nginx/conf.d/ipboard.conf, server { listen 80; server_name yourdomain.com www.yourdomain.com; root /srv/http/yourdomain.com/root; # Basic web server configuration. index index.php #access_log off; client_max_body_size 1G; # GZIP static content not processed by IPB. gzip on; gzip_static on; gzip_http_version 1.1; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css application/json application/x-javascript application/xml application/xml+rss text/javascript application/javascript text/x-js; gzip_buffers 16 8k; gzip_disable "MSIE [1-6].(?!.*SV1)"; # Set up rewrite rules. location / { try_files $uri $uri/ /index.php; } # Stub and FPM Status location /server_status { stub_status on; allow 127.0.0.1; deny all; } location /fpm_status { allow 127.0.0.1; deny all; fastcgi_pass unix:/var/run/php-fpm/ipboard.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } # Deny access to hidden files location ~ /. { deny all; } # Mask fake admin directory location ~^/admin/(.*)$ { deny all; } # Secure real admin directory location ~^(/nimda/).*(.php) { #allow 127.0.0.1; #deny all; #auth_basic "Restricted Area"; #auth_basic_user_file $document_root/nimda/.htpasswd; fastcgi_pass unix:/var/run/php-fpm/ipboard.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } # IP.Board PHP/CGI Protection location ~^(/uploads/).*(.php)$ { deny all; } location ~^(/hooks/).*(.php)$ { deny all; } location ~^(/cache/).*(.php)$ { deny all; } location ~^(/screenshots/).*(.php)$ { deny all; } location ~^(/downloads/).*(.php)$ { deny all; } location ~^(/blog/).*(.php)$ { deny all; } location ~^(/public/style_).*(.php)$ { deny all; } # Caching directives for static files. location ~^(/uploads/profile/).*.(jpg|jpeg|gif|png)$ { access_log off; expires 1d; } location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml|htm|txt|swf|cur)$ { access_log off; expires 1w; } # Pass PHP scripts to php-fpm location ~ .php$ { fastcgi_pass unix:/var/run/php-fpm/ipboard.sock; fastcgi_index index.php; fastcgi_buffers 16 8k; fastcgi_buffer_size 16k; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include /etc/nginx/fastcgi_params; } } PHP-FPM Configuration On to PHP-FPM! First, let's go ahead and get rid of the default/example configuration we don't need. This is /etc/php5/fpm/pool.d/www.conf on Debian and /etc/php-fpm.d/www.conf on CentOS. Now, create a new file replacing www.conf with ipboard.conf and using this as the base template: [ipboard] ; Set the prefix directory and the user/group to run under prefix = /var/run/php-fpm user = php-fpm group = http ; Configure listen(2) directives listen = ipboard.sock listen.backlog = 4096 listen.owner = php-fpm listen.group = http listen.mode = 0660 ; Set up the process manager pm = static pm.max_children = 10 pm.max_requests = 250 pm.status_path = /fpm_status ; The timeout for serving a single request. Prevents runaway scripts. request_terminate_timeout = 5m ; Only execute .php scripts. chdir = /srv/http/yourdomain.com/root security.limit_extensions = .php ; Environment variables. ;env[HOSTNAME] = $HOSTNAME ;env[TMP] = /tmp ;env[TMPDIR] = /tmp ;env[TEMP] = /tmp env[DOCUMENT_ROOT] = /srv/http/yourdomain.com/root ; PHP flags and security directives for just this site php_flag[display_errors] = off php_admin_value[open_basedir] = /srv/http/yourdomain.com/root:/tmp:/usr/bin php_admin_value[disable_functions] = escapeshellarg,escapeshellcmd,exec,ini_alter,parse_ini_file,passthru,pcntl_exec,popen,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,show_source,shell_exec,symlink php_admin_value[upload_max_filesize] = 1G php_admin_value[post_max_size] = 1G
25 июля, 20177 yr comment_133277 В секции "server" замените "try_files $uri $uri/ /index.php;" на "try_files $uri $uri/ /index.php?q=$uri&$args;". По поводу "location ~ .php$", тоже сомнения есть, но убунту никогда не пользовал, так что не скажу ничего. Если лог ошибок /var/log/php-fpm опубликуете, может быть что-то прояснится
26 июля, 20177 yr comment_133288 10 часов назад, Dmitriy427 сказал: В секции "server" замените "try_files $uri $uri/ /index.php;" на "try_files $uri $uri/ /index.php?q=$uri&$args;". По поводу "location ~ .php$", тоже сомнения есть, но убунту никогда не пользовал, так что не скажу ничего. Если лог ошибок /var/log/php-fpm опубликуете, может быть что-то прояснится Спасибо
27 сентября, 20213 yr comment_172857 Пример дополнительного конфига для php-fpm, если форум установлен в папку forum. Нужно заменить domain.com на свой. Файл обычно находится в папке /php/8.1/fpm/pool.d ipboard.conf
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.