Skip to content

Instantly share code, notes, and snippets.

View aS00Sa's full-sized avatar

Aleksandr Saglaev aS00Sa

View GitHub Profile
@aS00Sa
aS00Sa / nginx-tuning.md
Created June 3, 2025 16:32 — forked from denji/nginx-tuning.md
NGINX tuning for best performance

Moved to git repository: https://github.com/denji/nginx-tuning

NGINX Tuning For Best Performance

For this configuration you can use web server you like, i decided, because i work mostly with it to use nginx.

Generally, properly configured nginx can handle up to 400K to 500K requests per second (clustered), most what i saw is 50K to 80K (non-clustered) requests per second and 30% CPU load, course, this was 2 x Intel Xeon with HyperThreading enabled, but it can work without problem on slower machines.

You must understand that this config is used in testing environment and not in production so you will need to find a way to implement most of those features best possible for your servers.

@aS00Sa
aS00Sa / log-http-headers.md
Created April 4, 2025 11:14 — forked from kaichao/log-http-headers.md
nginx: Log complete request/response with all headers

1. switch nginx image to openresty/openresty

2. add the following to server/location (/etc/nginx/conf.d/default.conf)

   set $req_header "";
   set $resp_header "";
   header_filter_by_lua_block{ 
      local h = ngx.req.get_headers();
      for k, v in pairs(h) do
         ngx.var.req_header = ngx.var.req_header .. k.."="..v.." ";
@aS00Sa
aS00Sa / build.sh
Created April 4, 2025 01:49 — forked from dzlab/build.sh
Configure NGINX to log HTTP POST request's body
#!/bin/bash
echo "Building NGINX along with Echo module"
# install prerequisites
yum -y install gcc gcc-c++ make zlib-devel pcre-devel openssl-devel
# download the Echo module
curl -L -O 'https://github.com/openresty/echo-nginx-module/archive/v0.58.tar.gz'
tar -xzvf v0.58.tar.gz && rm v0.58.tar.gz
mv echo-nginx-module-0.58 /tmp/echo-nginx-module
@echo off
:======================================================================================================================================================
:Thanks to abbodi1406 for SppExtComObjPatcher-kms\2-Activate-Local.cmd, which used as base in this script
:Thanks to rpo for the Great and Continued help in improving this script.
:Thanks to AR_Alex for the ideas and suggestions.
:======================================================================================================================================================
::===========================================================================
fsutil dirty query %systemdrive% >nul 2>&1 || (
@aS00Sa
aS00Sa / mt-nt-pri-pub
Created March 24, 2025 19:29 — forked from wannadrunk/mt-nt-pri-pub
Mikrotik script to reconnect the pppoe when get the private/nat IP from ISP, keep trying to get a public ip.
# Don't forget to change the "wanInterface" value below to your PPPoE interface
:global reconnectCount;
:local wanInterface "pppoe-out1";
:if ($"local-address" in 100.64 .0.0/10) do={
:if ($reconnectCount < 10) do={
:set reconnectCount ($reconnectCount+1);
:log warning ("$wanInterface: Got Private IP ".$"local-address"." Reconnecting the interface...");
@aS00Sa
aS00Sa / preseed-fragment.seed
Created May 8, 2024 13:43 — forked from lorin/preseed-fragment.seed
Automated partitioning with Ubuntu preseed
# Use LVM for partitioning
d-i partman-auto/method string lvm
# If one of the disks that are going to be automatically partitioned
# contains an old LVM configuration, the user will normally receive a
# warning. Preseed this away
d-i partman-lvm/device_remove_lvm boolean true
# And the same goes for the confirmation to write the lvm partitions.
d-i partman-lvm/confirm boolean true
@aS00Sa
aS00Sa / Dockerfile
Created February 13, 2024 13:53 — forked from fhdalikhan/Dockerfile
Dockerfile for PHP 7.4 FPM Alpine
FROM php:7.4-fpm-alpine
WORKDIR /var/www/html
# Setup GD extension
RUN apk add --no-cache \
freetype \
libjpeg-turbo \
libpng \
freetype-dev \

Более удобной и актуальной версией является эта статья с использованием traefik

https://gist.github.com/dancheskus/365e9bc49a73908302af19882a86ce52


Certbot и nginx, как обратный прокси в Docker (пример с 2 react проектами)

В результате будет 2 react проекта на 1 сервере доступных по разным ссылкам

@aS00Sa
aS00Sa / _0__ssl_certbot_letsencrypt.md
Created December 15, 2023 06:34 — forked from maxivak/_0__ssl_certbot_letsencrypt.md
Let's encrypt SSL certificates using certbot in docker

Directories on host machine:

  • /data/certbot/letsencrypt

  • /data/certbot/www

  • Nginx server in docker container

docker run -d --name nginx \
@aS00Sa
aS00Sa / Dockerfile
Created November 15, 2023 07:16 — forked from littlefuntik/Dockerfile
alpine linux -- make install -- php-fpm 7.1.1 + geoip-1.1.1 + xdebug-2.5.0
## Container console commands (Windows: PowerShell)
# docker build --no-cache -t php:7.1
# docker run --name test-php -v "${PWD}:/var/www:rw" -p "9001:9000" -d php:7.1
# docker exec -ti php:7.1 /bin/sh
# docker rm test-php --force
# docker rmi php:7.1
FROM alpine
RUN \
addgroup -g 82 -S www-data && adduser -u 82 -D -S -G www-data www-data && \