Tag Archives: nginx
What is a Service Mesh? Introductory article from NginX
The original is here — https://www.nginx.com/blog/what-is-a-service-mesh/ Another small introductory article on Istio you can find here. A service mesh is a configurable infrastructure layer for a microservices application. It makes communication between service instances flexible, reliable, and fast. The mesh provides service discovery, load balancing, encryption, authentication and authorization, support for the circuit breaker pattern, and other …
Настройка nginx для кроссдоменных ajax-запросов
Как разрешить кроссдоменные ajax-запросы в nginx.
1 2 3 4 5 |
location /geoip { add_header Access-Control-Allow-Origin "*"; add_header Access-Control-Allow-Methods "GET"; add_header Access-Control-Allow-Methods "OPTIONS"; } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
upstream GEOIP { server []; } server { listen *:80; server_name []; location /geoip { # CORS Headers if ($request_method = OPTIONS ) { add_header Access-Control-Allow-Methods "GET"; add_header Access-Control-Allow-Origin "*"; return 204; } add_header Access-Control-Allow-Origin "*"; set $args "format=json&language=ru&ip=$remote_addr"; proxy_pass http://GEOIP/?$args; } } |
Установка nginx, php-fpm и mysql на CentOS
На amazon aws стало слишком дорого, потому решил переехать на hetzner (через реселлера — fastvps). Посему ниже — краткий фак по установке элементарного на CentOS (решил попробовать её).
WebDav и Nginx
WebDav и Nginx — централизованное хранение файлов на удалённом сервере без тяжёлого софта на нём.
SSL в nginx
Всё просто — нужно его сгенерировать и дописать конфиг — подробнее: http://wiki.enchtex.info/howto/nginx_ssl Для использования в связке с php-fpm нужно указать:
1 |
fastcgi_param HTTPS on; |
Как правильно установить xdebug для удобной работы
1. Скачиваем расширение — http://www.xdebug.org/download.php (я качаю ts) и копируем в папку с расширениями php. 2. В php.ini пишем
1 2 3 4 5 6 7 8 9 10 11 12 13 |
zend_extension_ts = "<путь-к-папке-ext>/php_xdebug.dll" xdebug.remote_enable=1 xdebug.remote_handler=dbgp xdebug.remote_mode=req xdebug.remote_port=9000 xdebug.remote_host=localhost xdebug.idekey=bullgare ;ну или другой ;это для профилирования xdebug.profiler_enable=Off xdebug.profiler_output_dir="c:\traces" xdebug.profiler_enable_trigger=On xdebug.profiler_output_name = cachegrind.out.%t.%p |
После перезапуска апача phpinfo будет содержать раздел xdebug.
Внутренняя переадресация в nginx (красивые урлы)
В апаче есть есть замечательная библиотека — mod_rewrite. При переносе проекта на nginx для сохранения интерфейса и структуры сайта необходимо использовать что-то подобное. Соответствующий модуль для nginx называется ngx_http_rewrite_module. Вот пример использования:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
location ~ \.php { if ( !-e $request_filename ) { rewrite ^(.+)$ /index.php break; } fastcgi_pass 127.0.0.1:9900; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME <DOCUMENT_ROOT>$fastcgi_script_name; include /etc/nginx/fastcgi_params; } location = /index.php { fastcgi_pass 127.0.0.1:9900 fastcgi_param SCRIPT_FILENAME <DOCUMENT_ROOT>$fastcgi_script_name; include /etc/nginx/fastcgi_params; } |
Почитать: Официальная документация модуля ngx_http_rewrite_module Пример конфигурации Куча примеров
nginx + apache. Кеширование
Полезный пример конфига nginx для кеширования ответов. Минус — в том, что работа в примере ведётся с апачем. Но если всё переписать на ngin+php-fpm, будет гуд. http://ilyasite.net.ru/?p=80
Виртуальные хосты на nginx
В двух местах прописываем.
Дружим nginx и php-fpm
Мы уже установили nginx и php-fpm. К этому моменту при обращении к http://localhost/ выводится Welcome to nginx!, а через CLI запускаются php-скрипты. Самое время намекнуть nginx, где искать php-fpm.