Redirection de 2 millions d'url avec nginx et redis

On a essayé de rediriger 2 millions d’url avec la fonction remaps de nginx. Les redirections occupaient beaucoup de temps CPU et chargaient la mémoire du serveur (1Go). Les temps de réponses étaient très moyens. Une autre solution est possible sans ces inconvénients. On récupère la lib lua sur OpenResty. https://github.com/openresty/lua-resty-redis On le range et on édite nginx.conf pour placer le chemin ci-dessous dans la balise http : lua_package_path "/etc/nginx/lib/redis.lua;;"; On édite la conf du vhost : ...

18 fĂ©vrier 2019 Â· 1 min

linkchecker

Pour vérifier les url d’un site et les liens morts. linkchecker est présent dans les dépôts de Debian. Il peut être agressif… Attention à la charge. Dans les logs on a : X.X.X.X - - [10/Dec/2018:10:10:10 +0100] "GET /fr/tout-pour-les-cadeaux-.html HTTP/1.1" 200 38266 "https://www.wwww.com/fr/evenement/noel/j-envoie-mes-voeux/" "Mozilla/5.0 (compatible; LinkChecker/9.4.0; +http://wummel.github.io/linkchecker/)"

10 dĂ©cembre 2018 Â· 1 min

Générer un certificat TLS wildcard avec Certbot

On ajoute le dépôt pour certbot : add-apt-repository -y ppa:certbot/certbot apt update apt install certbot On créé un token sur l’api OVH : https://api.ovh.com/createToken/ GET /domain/zone/* PUT /domain/zone/* POST /domain/zone/* DELETE /domain/zone/* On renseigne les variables dans un fichier (ex: ovh.ini) avec des droits en 600 # OVH API credentials used by Certbot dns_ovh_endpoint = ovh-eu dns_ovh_application_key = xxxxxxxxxxxxx dns_ovh_application_secret = xxxxxxxxxxxxxx dns_ovh_consumer_key = xxxxxxxxxx On génère le certificat en suivant les étapes : certbot certonly --dns-ovh --dns-ovh-credentials /etc/ovh.ini --dns-ovh-propagation-seconds 60 -d *.eckmul.net -d eckmul.net ou on peut générer son certificat sans API et renseigner les clés manuellement en suivant les étapes de la commande : certbot -d eckmul.net -d *.eckmul.net --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns certonly

7 dĂ©cembre 2018 Â· 1 min

Copier une table de partition

Avec MBR sfdisk -d /dev/sda | sfdisk /dev/sdb Avec GPT sgdisk -R /dev/sdb /dev/sda En ayant marqué le label avec parted en GPT pour pour le disque /dev/sdb ps : apt install gdisk

12 novembre 2018 Â· 1 min

Réduction d'un tablespace MySQL

Au cour de la vie d’une base de données, les tablespaces évoluent en taille. Si on a un seul tablespace pour l’ensemble des bases et des tables celui-ci ne se réduit jamais après des suppressions. Pour remettre MySQL au propre, on peut faire l’opération suivante et ainsi gagner de l’espace (et limiter la fragmentation). Dump individuel de toutes les bases de données sauf mysql et performance mysqldump ... Suppression des bases ...

2 janvier 2018 Â· 1 min

Benchmark avec curl

curl -s -w @stats.curl -o /dev/null https://www.google.fr Avec le fichier stats.curl contenant : url_effective : %{url_effective}\n content_type : %{content_type}\n filename_effective: %{filename_effective}\n ftp_entry_path : %{ftp_entry_path}\n http_code : %{http_code}\n http_connect : %{http_connect}\n http_version : %{http_version}\n local_ip : %{local_ip}\n local_port : %{local_port}\n remote_ip : %{remote_ip}\n remote_port : %{remote_port}\n scheme : %{scheme}\n num_connects : %{num_connects}\n num_redirects : %{num_redirects}\n redirect_url : %{redirect_url}\n size_download : %{size_download}\n size_header : %{size_header}\n size_request : %{size_request}\n size_upload : %{size_upload}\n ssl_verify_result : %{ssl_verify_result}\n time_namelookup : %{time_namelookup}\n time_connect : %{time_connect}\n time_appconnect : %{time_appconnect}\n time_pretransfer : %{time_pretransfer}\n time_redirect : %{time_redirect}\n time_starttransfer: %{time_starttransfer}\n time_total : %{time_total}\n speed_download : %{speed_download}\n speed_upload : %{speed_upload}\n Sortie : ...

3 octobre 2017 Â· 1 min

Don't forget systemd

Edition d’override La méthode propre: systemctl edit <service> ... systemctl daemon-reload

3 octobre 2017 Â· 1 min

upnpc

En ligne de commande, il existe miniupnpc. Pour ouvrir rediriger le port 22 extérieur de la box vers le port 22 de l’ordinateur sur lequel est lancé la commande : upnpc -r 22 TCP Pour lister les redirections de ports: upnpc -l Pour supprimer la redirection du port 22: upnpc -d 22 TCP Vous pouvez même demander au routeur votre IP publique externe: upnpc -s | grep ExternalIPAddress | cut -c21-

8 avril 2017 Â· 1 min

httpstat

Simple à installer : pip3 install httpstat Puis : httpstat www.eckmul.net et maintenant on sait ce qui cloche sur les temps de réponses d’un site web. HTTP/1.1 200 OK Date: Thu, 23 Mar 2017 14:26:21 GMT Server: Apache Last-Modified: Thu, 23 Mar 2017 14:24:59 GMT ETag: "32fa-54b66a45258f3" Accept-Ranges: bytes Content-Length: 13050 Vary: Accept-Encoding Cache-Control: max-age=2592000 Expires: Sat, 22 Apr 2017 14:26:21 GMT Content-Type: text/html Body stored in: /tmp/tmpK7zmDI DNS Lookup TCP Connection Server Processing Content Transfer [ 12ms | 7ms | 9ms | 1ms ] | | | | namelookup:12ms | | | connect:19ms | | starttransfer:28ms | total:29ms

23 mars 2017 Â· 1 min

Désactiver les queries cache et subqueries

Lorsque l’on désactive le query_cache, les sous requêtes ne le sont pas. Mettre : set global query_cache_type=0; set global optimizer_switch="subquery_cache=off";

11 mars 2017 Â· 1 min