Gestionnaire de paquets Python : Conda
Pour installer Conda sur CentOS, téléchargez le script d'installation de Miniconda :
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
Activez Conda en naviguant vers le répertoire d'installation :
cd /root/miniconda3/bin
source activate
Commandes de base pour la gestion des environnements virtuels :
conda create --name mon_projet python=3.8
conda activate mon_projet
conda deactivate
conda info --envs
Gestionnaire de versions Node.js : NVM
Clonez le dépôt NVM et configurez le chargement automatique dans votre shell :
git clone git://github.com/creationix/nvm.git ~/.nvm
echo "source ~/.nvm/nvm.sh" >> ~/.bashrc
source ~/.bashrc
Installez et utilisez une version spécifique de Node.js :
nvm list-remote
nvm install v12.18.0
nvm use v12.18.0
nvm alias default v12.18.0
Pour accélérer les installations npm, vous pouvez spécifier un registre alternatif :
npm install electron@8.2.0 --registry=https://registry.npmmirror.com
Superviseur de processus : Supervisor
Installez Supervisor via yum sur CentOS :
yum install epel-release
yum install supervisor
supervisord -c /etc/supervisord.conf
supervisorctl status
Exemple de configuration pour une application Node.js dans /etc/supervisord.d/app.ini :
[program:api_service]
command=/root/.nvm/versions/node/v12.18.0/bin/node server.js
environment=PATH=/root/.nvm/versions/node/v12.18.0/bin,APP_PORT=%(process_num)d,NODE_ENV=production
process_name=%(program_name)s_worker_%(process_num)d
numprocs=2
numprocs_start=4001
directory=/var/www/api_service
stopsignal=TERM
user=deploy
redirect_stderr=true
stdout_logfile_maxbytes=50MB
stdout_logfile_backups=10
stdout_logfile=/var/log/supervisor/api_service.log
Serveur Web : Nginx
Installation et gestion du service Nginx avec systemd :
yum install nginx
systemctl start nginx.service
systemctl enable nginx.service
systemctl status nginx.service
Alternativement, vous pouvez utiliser les commandes natives de Nginx :
nginx -c /etc/nginx/nginx.conf
nginx -s reload
nginx -s stop
Configuration d'un reverse proxy dans /etc/nginx/conf.d/api.conf :
upstream api_backend {
least_conn;
server 127.0.0.1:4001 max_fails=2 fail_timeout=15;
server 127.0.0.1:4002 max_fails=2 fail_timeout=15;
}
server {
listen 8080 default_server;
server_name _;
access_log /var/log/nginx/api_access.log main;
error_log /var/log/nginx/api_error.log warn;
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Scheme $scheme;
location / {
proxy_pass http://api_backend;
}
}
Pour configurer le HTTPS avec un certificat SSL, ajoutez la configuration suivante dans le répertoire de Nginx :
server {
listen 80;
server_name app.example.com;
location /web/ {
proxy_pass http://10.0.0.1:8000/;
}
location /api/ {
proxy_pass http://10.0.0.1:8001/;
}
}
server {
listen 443 ssl;
server_name app.example.com;
ssl_certificate /etc/nginx/ssl/app.example.com.crt;
ssl_certificate_key /etc/nginx/ssl/app.example.com.key;
ssl_session_cache shared:SSL:2m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /web/ {
proxy_pass https://10.0.0.1:8000/;
}
location /api/ {
proxy_pass https://10.0.0.1:8001/;
}
}
Documentation d'API : Swagger UI
Pour exécuter une instance locale de Swagger UI :
git clone https://github.com/swagger-api/swagger-ui.git
cd swagger-ui
npm install
npm run build
npm start
Vous pouvez également utiliser un serveur HTTP statique après avoir installé le package globalement :
npm install -g http-server
http-server http://localhost:8080/dist/index.html
Outils pour Windows
- Gestionnaire de services : NSSM (Non-Sucking Service Manager)
- Client SQLite : DB Browser for SQLite
- Client MySQL : HeidiSQL
- Éditeur d'icônes : SIB ICON Studio
- Client Git : SourceTree