Sådan fornyes Let’s Encrypt SSL ved hjælp af Certbot på VirtualHost multidomains VPS

I vidste alle, at Let’s Encrypt giver os 100% gratis SSL, og vi kan bruge certbot-værktøj til at oprette, autorisere og fornye SSL automatisk. Jeg har haft et indlæg om dette:

Sådan konfigureres HTTPS for Nginx med gratis SSL fra Let’s Encrypt

Men certbot sidder fast, hvis din VPS bruger til flere domæner med VirtualHost-konfiguration, da den ændrede vhost-konfigurationsfilen på en forkert måde og gør din fil til rod. Sker også med automatisk fornyelse. Så vi skal gøre det manuelt først, så vil jeg guide dig til at gøre det automatisk senere.

Først og fremmest udgive forny kommando:

certbot -d config9.com certonly

I denne kommando specificerer jeg det domæne, jeg vil forny. Det gør du også.

Ignorer fejlfinding / advarsler om pyasn-installation, da det ikke påvirker vores fornyelse.

Derefter spørger det dig sådan:

How would you like to authenticate with the ACME CA?
 
 1: Apache Web Server plugin (apache)
 2: Spin up a temporary webserver (standalone)
 3: Place files in webroot directory (webroot)
 
 Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 3

Vælg 3 for at anbringe godkendelsesfilen i domænens rodmappe.

Angiv derefter rodkataloget til domænet.

Input the webroot for config9.com: (Enter 'c' to cancel): /path/to/www/of/config9.com

Certbot udfordrer derefter og underret dig med en vellykket meddelelse.

Du skal gøre det samme med andre domæner.

Relateret: præstation for passager 5 sammenlignet til enhjørning / tynd / puma / osv

S책dan deaktiveres SELinux p책 Centos 7 permanent

Kontroller først den aktuelle SELinux-status:

sestatus

Resultat:

SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

Rediger nu selinux-konfigurationsfil:

vi /etc/selinux/config

Indstil SELINUX = deaktiveret. Resultat:

#This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
 SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted

Sådan installeres Python 3.6 i Centos 7 på den lette måde

Først og fremmest skal du opdatere dit system:

sudo yum update -y

SCL- eller Software Collections-projektet er et open source-projekt. Dets mål er at lade dig installere og køre flere versioner af den samme software på det samme system. For at installere Python 3.6 x64 skal du installere SCL:

sudo yum installer -y centos-release-scl

Installer nu Python 3.6 x64:

sudo yum install -y rh-python36

Aktivér nu det virtuelle Python 3.6-miljø på denne maskine:

scl enable rh-python36 bash

For at aktivere det permanent tilføjes disse linjer i bunden af ​​bash-profilen:

For at redigere bash_profile.

cd ~ && vi .bash_profile

Tilføj disse linjer:

#add python36 to the bash permanently
scl enable rh-python36 bash

Kør denne kommando for at anvende med det samme:

exec bash

For at udvikle Python-applikationer har du brug for udviklingsværktøjer før eller senere:

sudo yum groupinstall -y "Development Tools"

For at installere pipenv har vi brug for root-privilegium:

su - root
sudo yum install -y rh-python36

#Upgrade to new version of pip
pip install --upgrade pip 

#now install pipenv
pip install pipenv 

Sådan installeres, konfigureres og optimeres HAProxy på Centos 7/6/5

Dette indlæg viser dig, hvordan du installerer, konfigurerer & amp; optimer HAProxy på Centos 7/6/5 for at skabe en højtydende belastningsafbalancering med maksimal samtidig forbindelse til 10000.

HAProxy er en pålidelig TCP / HTTP-belastningsbalancer med høj ydeevne. Du kan læse mere om HAProxy her på sit officielle websted .

Den aktuelle stabile version af HAProxy på dette tidspunkt er 1,9 med denne officiel dokumentation .

Installer HAProxy

For at installere HAProxy kan du bruge denne kommando:

sudo yum install -y haproxy

Sådan starter du HAProxy:

sudo systemctl start haproxy

For at stoppe HAProxy:

sudo systemctl stop haproxy

Sådan kontrolleres HAProxy-status:

sudo systemctl status haproxy

For at aktivere HAProxy-kørsler ved opstart

sudo systemctl enable haproxy

Konfigurer HAProxy

Vores netværk vil se sådan ud:

user -----> haproxy:9000 -------->backend1 (172.16.10.20:5000)
                         -------->backend2 (192.168.5.19:6000)

I denne topologi vil HAProxy lytte til brugeranmodning på port 9000, al anmodning videresendes til 2 backends: backend1 (172.16.10.20:5000) og backend2 (192.168.5.19:6000)

Som standard vil HAProxy hovedkonfigurationsfil være på: /etc/haproxy/haproxy.cfg

Vi er nødt til at konfigurere HAProxy til at imødekomme vores behov. Først konfigureres HAProxy frontend-lytter. Rediger frontend lytteport i konfigurationsfilen hoved frontend sektion som følger:

---------------------------------------------------------------------
 main frontend which proxys to the backends
 ---------------------------------------------------------------------
 frontend  main *:9000
  acl url_static path_beg -i /static /images /javascript /stylesheets
  acl url_static path_end -i .jpg .gif .png .css .js
  use_backend static if url_static
 default_backend app

Derefter skal vi ændre vores backend-apps:

---------------------------------------------------------------------
 round robin balancing between the various backends
 ---------------------------------------------------------------------
 backend app
     balance     roundrobin
     server   backend1  172.16.10.20:5000 check
     server   backend2  192.168.5.19:6000 check
     #server  app1 127.0.0.1:5001 check
     #server  app2 127.0.0.1:5002 check
     #server  app3 127.0.0.1:5003 check
     #server  app4 127.0.0.1:5004 check

Inden genstart af HAProxy, skal vi validere, hvis vores konfigurationsfil har noget galt med denne kommando:

 haproxy -c -V -f /etc/haproxy/haproxy.cfg 

i denne kommando:

  • -c: Kontroller
  • -V: Verbose
  • -f: File

Hvis alt går godt, vil du se output som dette:

Configuration file is valid

Nu kan vi gemme vores konfigurationsfil og genstarte HAProxy for at anvende ændringer:

sudo systemctl restart haproxy

Kontroller status for HAProxy:

sudo systemctl status haproxy

Optimer HAProxy

Først og fremmest er vi nødt til at aktivere HAProxy-statistikside / sundhedstjek ved at tilføje disse linjer til slutningen af ​​hovedkonfigurationsfilen på: /etc/haproxy/haproxy.cfg

---------------------------------------------------------------------
 HAProxy Stats at: 171.244.5.195:8088/haproxy?stats
 --------------------------------------------------------------------
 listen  stats   *:8088
         mode            http
         log             global
        maxconn 10     
        timeout client  100s     
        timeout server  100s     
        timeout connect 100s     
        timeout queue   100s     
        stats enable     
        stats hide-version     
        stats refresh 30s     
        stats show-node     
        stats auth admin:config91231passwd    
        stats uri  /haproxy?stats

Sådan køres scl aktivere rh-python36 i Linux crontab

Fordi scl aktiverer rh-python36 oprette nyt virtuelt miljø for Python i dette miljø, kan du bruge din installerede Python 3.6, men dette virtuelle miljø anvendes ikke automatisk, mens du kører i en crontab.

Så for at bruge Python 3.6 i Linux crontab, skal du køre dine python-filer i aktiveret nyt virtuelt miljø.

Min run.sh fil:

#!/bin/bash
now=`date`
echo "[$now]Running script now ..."
scl enable rh-python36 "cd /opt/wdir/ && pipenv run python main.py" >> /var/log/logrun.txt
echo "[$now]All done now" 

og min crontab:

* 7 * * * /opt/wdir/run.sh > /var/log/logrun.txt 

En anden måde er at indstille scl på crontab direkte:

* 7 * * *  scl enable rh-python36 "cd /opt/wdir/ && pipenv run python main.py" > /var/log/logrun.txt 

Mere om Linux crontab here.

Happy working!