Hoe te vernieuwen Laten we SSL coderen met Certbot op VirtualHost multidomains VPS

Jullie wisten allemaal dat Let’s Encrypt ons 100% gratis SSL biedt en we kunnen de certbot-tool gebruiken om SSL automatisch te maken, autoriseren en vernieuwen. Ik heb hierover een bericht gehad:

Hoe HTTPS voor Nginx te configureren met gratis SSL van Let’s Encrypt

Maar certbot liep vast als uw VPS voor meerdere domeinen met VirtualHost-configuratie gebruikt, omdat het vhost-configuratiebestand op een verkeerde manier heeft gewijzigd en uw bestand een puinhoop heeft gemaakt. Gebeurt ook met automatische verlenging. Dus we moeten het eerst handmatig doen, daarna zal ik je begeleiden om het later automatisch te doen.

Geef eerst en vooral de opdracht vernieuwen uit:

certbot -d config9.com certonly

In deze opdracht geef ik het domein op dat ik wil verlengen. Jij ook.

Negeer foutopsporing / waarschuwingen over de installatie van pyasn omdat dit onze vernieuwing niet beïnvloedt.

Vervolgens zal het u zo vragen:

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

Selecteer 3 om het authenticatiebestand in de hoofdmap van het domein te plaatsen.

Geef vervolgens de hoofdmap op van het domein.

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

Certbot daag vervolgens uit en meld u met een succesvol bericht.

U zou hetzelfde moeten doen met andere domeinen.

Gerelateerd: prestaties van passagier 5 vergeleken naar eenhoorn / dun / poema / etc

Hoe SELinux op Centos 7 permanent uit te schakelen

Controleer eerst de huidige SELinux-status:

sestatus

Resultaat:

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

Bewerk nu het selinux-configuratiebestand:

vi /etc/selinux/config

Stel SELINUX = uitgeschakeld in. Resultaat:

#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

Hoe Python 3.6 op eenvoudige wijze in Centos 7 te installeren

Allereerst moet u uw systeem bijwerken:

sudo yum update -y

Het SCL of Software Collections-project is een open-sourceproject. Het doel is om u meerdere versies van dezelfde software op hetzelfde systeem te laten installeren en uitvoeren. Om Python 3.6 x64 te installeren, moet u SCL installeren:

sudo yum install -y centos-release-scl

Installeer nu Python 3.6 x64:

sudo yum install -y rh-python36

Schakel nu de virtuele omgeving van Python 3.6 in op deze machine:

scl enable rh-python36 bash

Om het permanent in te schakelen, voegt u deze regels onderaan het bash-profiel toe:

Om bash_profile te bewerken.

cd ~ && vi .bash_profile

Voeg deze regels toe:

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

Voer deze opdracht uit om onmiddellijk toe te passen:

exec bash

Om Python-toepassingen te ontwikkelen, hebt u vroeg of laat ontwikkelingshulpmiddelen nodig:

sudo yum groupinstall -y "Development Tools"

Om pipenv te installeren hebben we rootrechten nodig:

su - root
sudo yum install -y rh-python36

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

#now install pipenv
pip install pipenv 

Hoe HAProxy op Centos 7/6/5 te installeren, configureren en optimaliseren

In dit bericht wordt uitgelegd hoe u & amp; HAProxy op Centos 7/6/5 optimaliseren om een ​​krachtige load balancer te maken met een maximale gelijktijdige verbinding tot 10000.

HAProxy is een betrouwbare, krachtige TCP / HTTP load balancer. U kunt meer lezen over HAProxy hier op de officiële website .

De huidige stabiele versie van HAProxy op het moment van dit bericht is 1.9 met deze officiële documentatie .

HAProxy installeren

Om HAProxy te installeren kunt u deze opdracht gebruiken:

sudo yum install -y haproxy

Om HAProxy te starten:

sudo systemctl start haproxy

HAProxy stoppen:

sudo systemctl stop haproxy

Om de HAProxy-status te controleren:

sudo systemctl status haproxy

HAProxy-runs inschakelen bij opstarten

sudo systemctl enable haproxy

HAProxy configureren

Ons netwerk ziet er zo uit:

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

In deze topologie luistert HAProxy naar gebruikersverzoeken op poort 9000, alle aanvragen worden doorgestuurd naar 2 backends: backend1 (172.16.10.20:5000) en backend2 (192.168.5.19:6000)

Standaard is het hoofdconfiguratiebestand van HAProxy: /etc/haproxy/haproxy.cfg

We moeten HAProxy configureren om aan onze behoefte te voldoen. Configureer eerst HAProxy frontend listener. Bewerk de frontend luisterpoort in het hoofdfrontend gedeelte van het configuratiebestand als volgt:

---------------------------------------------------------------------
 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

Vervolgens moeten we onze backend-apps aanpassen:

---------------------------------------------------------------------
 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

Voordat we HAProxy opnieuw starten, moeten we valideren of ons configuratiebestand iets mis is met deze opdracht:

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

in deze opdracht:

  • -c: aanvinken
  • -V: Verbose
  • -f: Bestand

Als alles goed gaat, ziet u uitvoer als volgt:

Configuration file is valid

Nu kunnen we ons configuratiebestand opslaan en HAProxy opnieuw opstarten om wijzigingen toe te passen:

sudo systemctl restart haproxy

Controleer de status van HAProxy:

sudo systemctl status haproxy

HAProxy optimaliseren

Allereerst moeten we HAProxy-statistiekenpagina / gezondheidscontrole inschakelen door die regels toe te voegen aan het einde van het hoofdconfiguratiebestand op: /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

Hoe scl uit te voeren schakel rh-python36 in Linux crontab in

Omdat scl rh-python36 inschakelen nieuwe virtuele omgeving voor Python maken, binnen deze omgeving, kunt u uw geïnstalleerde Python 3.6 gebruiken, maar deze virtuele omgeving wordt niet automatisch toegepast tijdens het draaien in een crontab.

Dus, om Python 3.6 te gebruiken in Linux crontab, moet je je python-bestanden uitvoeren in een geactiveerde nieuwe virtuele omgeving.

Mijn run.sh-bestand:

#!/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" 

en mijn crontab:

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

Een andere manier is om scl direct in te stellen op de crontab:

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

Meer over Linux crontab here.

Happy working!