const response = await fetch('https://example.com/graphql', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
operationName: 'fetchAuthor',
query: 'query fetchAuthor { author { id name } }',
variables: {},
}),
});
const data = await response.json();
Экспортим пути к библиотекам из devel-пакетов
export LUAJIT_LIB=/usr/lib64/
export LUAJIT_INC=/usr/include/luajit-2.1/
На боевом сервере говорим nginx -V и сохраняем опции, с которыми он был собран
Заходим в папку с исходникми nginx
Берем следующую строку configure, указываем пути к сорцам скачанных модулей и lua-devel
# ./configure --prefix=/opt/nginx --add-dynamic-module=/home/admin/work/nginx-lua/ngx_devel_kit-0.3.1rc1 --add-dynamic-module=/home/admin/work/nginx-lua/lua-nginx-module-0.10.13 --with-ld-opt="-Wl,-rpath,/usr/lib64/"
а также добавляем после неё опции, с которыми был собран nginx. Получится что-то типа того:
./configure --prefix=/opt/nginx --add-dynamic-module=/home/admin/work/nginx-lua/ngx_devel_kit-0.3.1rc1 --add-dynamic-module=/home/admin/work/nginx-lua/lua-nginx-module-0.10.13 --with-ld-opt="-Wl,-rpath,/usr/lib64/" --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/run/nginx.lock --http-client-body-temp-path=/var/cache/nginx/client_temp --http-proxy-temp-path=/var/cache/nginx/proxy_temp --http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp --http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp --http-scgi-temp-path=/var/cache/nginx/scgi_temp --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fPIC' --with-ld-opt='-Wl,-z,relro -Wl,-z,now -pie'
после этого делаем
make -j
и в папке objs появятся
ndk_http_module.so
ngx_http_lua_module.so
закидываем их на боевой сервер куда-нибудь в /usr/local/lib
на сервер устанавливаем пакет luajit
в главном конфиге nginx в контексте main (вне http, в самом начале) прописываем
load_module /usr/local/lib/ndk_http_module.so;
load_module /usr/local/lib/ngx_http_lua_module.so;
делаем nginx -t
Если всё ок - рестартим и готово.
Если ругается на бинарную несовместимость - перепроверить версии и параметры сборки. Они должны совпадать!
Подтягиваю изменения на другой сервак. Там запускаю сборку образа для докера. Пушу в докерхаб.
На проде лежит хелм, он стучится в докерхаб, собирает образы, запускает приложение в миникубе
Мне нужно показать попап пользователю, который провел на сайте 1 минуту.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
# Переадресация с второстепенных доменов
RewriteCond %{HTTP_HOST} !^pd\.info$ [NC]
RewriteRule ^(.*)$ https://pd.info/$1 [R=301,L]
# SSL
RewriteCond %{REQUEST_FILENAME} !^/\.well-known(.*)$
RewriteCond %{HTTP:X-HTTPS} !1
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]
# Переадресация с добавлением / в конце
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)(?<!/)$ /$1/ [R=301,L]
# Переадресация с домена с WWW на домен без WWW
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
# Переадресация с index.php на /
RewriteCond %{REQUEST_FILENAME} ^(.*)/index\.php$
RewriteRule ^(.*)index\.php(.*)$ /$1$2 [R=301,L]
# Безопасность
RewriteRule ^composer\.(json|lock)$ / [R=404,L]
RewriteRule ^vendor(.*)$ / [R=404,L]
RewriteRule ^(.*)\.(idea|git|gitmodules|gitignore|htaccess|vagrant)$ / [R=404,L]
RewriteRule ^deploy-config\.json$ / [R=404,L]
# Bitrix
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]
</IfModule>