Как я уже говорил: "человек я тут временный" соответственно бороться за енту карму мне не досуг,
выкладываю свой конфиг ИнджинИкс и комментарии к нему на форуме, авось кому пригодится...
##########################################################################
/etc/nginx/conf.d/site.conf
# # site config nginx/1.16.0 + php7.3-fpm for InstantCMS v2.x # client_max_body_size 3m; client_body_buffer_size 1m; index index.php index.htm index.html; # comment it if enabled in the general config server { listen 80; server_name sitename.com www.sitename.com; root /var/www/html; charset utf-8; autoindex off; fastcgi_index index.php; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; # rewrite ^/(.*)/$ /$1 permanent; rewrite ^/(?!MyPhpSecretPathAdmin)(.*)/$ /$1 permanent; location / { location ~* /(\.|credits\.txt|readme\.txt|license\..*\.txt$) { deny all; } try_files $uri /index.php?$args; location ~ ^/.+\.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; # If nginx running on TCP socket, comment line above and uncomment line beneath # fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } location /cache { location ~* \.(js|css|xml)$ { allow all; } deny all; } location /static { location ~ \.php$ { return 403; } } deny all; } location /templates { location ~* \.(js|css|scss|xml|png|gif|jpg|jpeg|ico|bmp|map|eot|svg|ttf|woff|woff2)$ { allow all; } deny all; } location /upload { location ~* \.php$ { return 403; } } location /wysiwyg { autoindex off; location ~* \.(js|css|htm|html|scss|xml|png|gif|jpg|jpeg|ico|bmp|map|eot|svg|ttf|woff|woff2)$ { allow all; } deny all; } location ~ ^/sitemap(.*)\.xml$ { rewrite ^/sitemap(.*)\.xml$ /cache/static/sitemaps/sitemap$1.xml break; } #================================================================ location /MyPhpSecretPathAdmin { # error_log /var/log/nginx/phpmyadmin_error.log debug; alias /usr/share/phpmyadmin; try_files $uri $uri/ /index.php; location ~ ^/MyPhpSecretPathAdmin(/.+\.php)$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; # If nginx running on TCP socket, comment line above and uncomment line beneath # fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$1; } } #================================================================= } #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ server { listen 80; server_name PhpMyAdminSecretDomain.sitename.com; # error_log /var/log/nginx/phpmyadmin_error.log debug; root /usr/share/phpmyadmin; fastcgi_index index.php; location / { try_files $uri /index.php; location ~ ^/.+\.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; # If nginx running on TCP socket, comment line above and uncomment line beneath # fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } } #+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1.Правила фильтрации тупо взяты из .htaccess соответствующих папок(естественно адаптированных под nginx),
кроме одной, мне показалось диковатым разрешать всё в /wysiwyg, не согласные могут удалить оттуда
location ~* \.(js|css|htm|html|scss|xml|png|gif|jpg|jpeg|ico|bmp|map|eot|svg|ttf|woff|woff2)$ {
allow all;
}
deny all;
2. php7.3-fpm.sock — сокет который слушает фастсиджиай(по умолчанию в линухе)
в соответствии с вашим заполните "X.X"
fastcgi_pass unix:/run/php/phpX.X-fpm.sock;
можно и через TCP "fastcgi_pass 127.0.0.1:9000;", но я бы не советовал(лишняя нагрузка на сетевой стек)
3. Как бонус добавлена возможность работы с phpmyadmin к нему
можно обращаться по третьему домену PhpMyAdminSecretDomain.sitename.com
или
по адресу URI sitename.com/MyPhpSecretPathAdmin
(если не требуется удуляем всё между '=' и '+')
4. Тестировалось это всё на ubunta 16.06
свежий nginx берем от сюда
nginx.org/packages/
я делал так:
echo "deb nginx.org/packages/ubuntu `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
curl -fsSL nginx.org/keys/nginx_signing.key | sudo apt-key add -
# для php
add-apt-repository ppa:ondrej/php
apt-get update
apt-get install --no-install-recommends nginx php7.3-fpm
5. Я запускаю nginx от пользователя www-data (user www-data; в конфиге /etc/nginx/nginx.conf)
можно наоборот права на сайт дать пользователю nginx — дело вкусовых предпочтений
6. Дебажить можно раскоментировав соответствующие строки и в /etc/nginx/nginx.conf
error_log /var/log/nginx/error.log debug;, но требуется ещё и запускать "другой" nginx
вот так: /usr/sbin/nginx-debug -c /etc/nginx/nginx.conf
7. Также проверено на связке nginx/1.14.2 + php7.0-fpm InstantCMS v2.11
8. Для первой ветки InstansCMS (nginx/1.14.2 + php7.0-fpm for InstantCMS v1.x)
мой конфиг тут InstantCMS v1.x
9. Отличие моих конфигов от всех что фигурируют на этом форуме в том,
что я пытался сделать их оптимальными, не загруженными всякой фигней
и без вопиющего впихинивания конструкции 'if' — что является ЗЛОМ в nginx
(почитать можно тут Ошибки конфигурирования nginx)
10. И наверное последнее по счету но не последнее по значению:
будьте внимательны!, НЕ копируйте бездумно всё что ни попадя в ваши конфиги nginx,
как делают некоторые Писатели(не читатели) в окончании этого топика!!!
у них(не читателей) как минимум не оптимальные конфиги а как максимум ошибка на ошибке,
и не понимание(в принципе) как работает инджин
##########################################################################
Вроде — всё,
сумбурненько… ну да это же не БЛОГ )))
ваще странные это все закидоны с кармой, прям как на выборах в мосгордуму )