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 / _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 && \
@wannadrunk
wannadrunk / mt-nt-pri-pub
Last active March 24, 2025 19:29
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...");
@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 || (
@fhdalikhan
fhdalikhan / Dockerfile
Last active June 18, 2025 07:09
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 \
@kaichao
kaichao / log-http-headers.md
Last active April 29, 2025 03:26
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.." ";

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

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


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

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

@dzlab
dzlab / build.sh
Last active April 4, 2025 01:49
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
@denji
denji / nginx-tuning.md
Last active October 24, 2025 16:02
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.