Skip to content

Instantly share code, notes, and snippets.

View kapb14's full-sized avatar
😤

Aleksandr Karushin kapb14

😤
View GitHub Profile
#!/bin/bash
docker build https://raw.githubusercontent.com/atricore/atricore-josso-playground/master/oracle-java8/Dockerfile
@kapb14
kapb14 / CheckInstallPSAzureModule.ps1
Created December 23, 2016 18:10
Install Azure powershell module and connect
# check WindowsAzurePowerShell is present
if (-not(Get-Module Azure)){
# find chocolatey executable
$CHOCO = $env:PATH.Split(';') | % {Get-ChildItem -Path $_ -Filter chocolatey.exe}
# install WindowsAzurePowerShell
if ($CHOCO.Exists){Start-Process -FilePath $CHOCO.FullName -ArgumentList "install -y WindowsAzurePowerShell" -Wait}
} else {Write-Warning -Verbose "WindowsAzurePowerShell Exists."}
# connect to Azure
Add-AzureAccount
@kapb14
kapb14 / shutdown_if_inactive.sh
Created December 23, 2016 18:43
Shutdown linux server if no logged on users for last $VARIABLE minutes
#!/bin/bash
if [[ -z "$1" ]]; then
SHUTDOWN_TIMEOUT="60"
else
SHUTDOWN_TIMEOUT="$1"
fi
echo $SHUTDOWN_TIMEOUT ; exit 0
SHUTDOWN_DELAY="5"
@kapb14
kapb14 / nginx-limitreq.conf
Created January 24, 2017 17:41
Ограничение кол-ва запросов с одного IP и отключение их логирования в nginx (плюс бонус - весёлый HTTP код ответа)
...
# формат логирования с отслеживанием времени ответа от бэкенда
log_format timed_combined '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'$request_time $upstream_response_time $pipe';
# http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
@kapb14
kapb14 / calc_avg_mem_apache_process.sh
Created March 3, 2017 10:33
Подсчет среднего размера используемой памяти для процессов apache
#!/bin/bash
if ps -ylC apache2 >/dev/null
then
ps -ylC apache2 | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'
else
ps -ylC httpd | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'
fi
<?php
$status = file_get_contents('/proc/' . getmypid() . '/status');
print $status . "\n";
@kapb14
kapb14 / jira-behing-nginx-ssl
Created March 30, 2017 15:21 — forked from jtbonhomme/jira-behing-nginx-ssl
Atlassian JIRA behind nginx + SSL
# force HTTP to HTTPS - /etc/nginx/conf.d/nonssl.conf
server {
listen 80;
server_name jira.example.com;
access_log off;
return 301 https://$server_name$request_uri;
}
# /etc/nginx/conf.d/jira.conf
server {
@kapb14
kapb14 / parsing_arguments_with_bash.sh
Created April 5, 2017 14:27
использование параметров в bash скриптах используя 'getopts' и стандартный POSIX
#
# http://mywiki.wooledge.org/BashFAQ/035
#
getopts_lookup(){
while getopts "h?v:a:p:u:n:" OPTION "$@"; do
case "$OPTION" in
m) has_MSG=true; MSG="$OPTARG"; echo "MSG: $MSG" ;;
p) has_PHONE=true; PHONE="$OPTARG"; echo -e "PHONE: $PHONE \t OPTIND: $OPTIND" ;;
v) has_VERBOSE=true; VERBOSE="$OPTARG"; echo -e "VERBOSE: $VERBOSE \t OPTIND: $OPTIND" ;;
@kapb14
kapb14 / cli.md
Created April 18, 2017 08:12 — forked from phrawzty/2serv.py
simple http server to dump request headers
$ curl -s -H "X-Something: yeah" localhost:8000 > /dev/null
$ python serv.py
ERROR:root:User-Agent: curl/7.37.1
Host: localhost:8000
Accept: */*
X-Something: yeah
user bitrix; #пользователь, под которым работает nginx. Желательно совпадение с пользователем apache
worker_processes 8; #8 одновременных процессов
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
worker_rlimit_nofile 10240; #максимальное число открытых файлов
events {
use epoll;
worker_connections 10240; #максимальное число соединений с одним процессом. Система может одновременно работать с max_clients = worker_processes * worker_connections, т.е. с 81920 соединений, в том числе статических файлов
}