http://nginx.org/en/docs/http/configuring_https_servers.html
http://nginx.org/ja/docs/http/configuring_https_servers.html
default_serverは対象のポートに対して有効だから
下記のようにポート毎にデフォルトサーバを指定できる。
server {
#!/usr/bin/env ruby -wKU | |
# | |
# by Kelan Champagne | |
# http://yeahrightkeller.com | |
# | |
# A script to generate a personal podcast feed, hosted on Dropbox | |
# | |
# Inspired by http://hints.macworld.com/article.php?story=20100421153627718 | |
# | |
# Simply put this, and some .mp3 or .m4a files in a sub-dir under your Dropbox |
#!/bin/sh | |
REPOSRC=$1 | |
LOCALREPO=$2 | |
# We do it this way so that we can abstract if from just git later on | |
LOCALREPO_VC_DIR=$LOCALREPO/.git | |
if [ ! -d $LOCALREPO_VC_DIR ] | |
then |
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
http://nginx.org/en/docs/http/configuring_https_servers.html
http://nginx.org/ja/docs/http/configuring_https_servers.html
default_serverは対象のポートに対して有効だから
下記のようにポート毎にデフォルトサーバを指定できる。
server {
/* | |
* Copyright (c) 2017 Emil Davtyan | |
* | |
* Permission is hereby granted, free of charge, to any person obtaining | |
* a copy of this software and associated documentation files (the | |
* "Software"), to deal in the Software without restriction, including | |
* without limitation the rights to use, copy, modify, merge, publish, | |
* distribute, sublicense, and/or sell copies of the Software, and to | |
* permit persons to whom the Software is furnished to do so, subject to | |
* the following conditions: |
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.
秘密鍵など誤ってコミットしてしまった場合に履歴を完全に削除する手順
参考:6.4 Git のさまざまなツール - 歴史の書き換え
$ git checkout -b clean-key-file
math.randomseed(os.time()) | |
local charset = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890" | |
function string.random(length) | |
if length > 0 then | |
return string.random(length - 1) .. charset:sub(math.random(1, #charset), 1) | |
else | |
return "" | |
end |
from botocore.credentials import RefreshableCredentials | |
from botocore.session import get_session | |
from boto3 import Session | |
def assumed_session(role_arn, session_name, session=None): | |
"""STS Role assume a boto3.Session | |
With automatic credential renewal. |