Voilà je tente sans succès depuis un moment maintenant de mettre en place un Gitlab sans le serveur bundle qui va avec, tout simplement parce-que d'une le nginx inclut me pourrit celui déjà existant, ensuite parce que niveau perf, 2 nginx qui coexistent, je pense pas que ce soit génial.
Du coup vous l'aurez compris sans doute j'ai déjà nginx et des vhosts. Je suis sur Debian 8, et pour être sûr de moi, je fais d'abord cette manip sur un serveur virtuel en local (VirtualBox) avant de répliquer la manip sur mon vrai serveur.
Voici les étapes que j'ai suivi pour l'installation :
Après le post du mot de passe, l'url mouline à l'infini, et je me fais parfois carrément jeter de la console SSH (Putty) qui freeze, voire me donne un timeout.
Les log d'erreur sont vides, et voici les log d'accès (/var/log/nginx/gitlab_access.log)
Je ne vois pas trop ce qui pourrait déconner du coup. Dans le doute, voici ma config nginx (nginx.conf) :
user www-data;
worker_processes auto;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nodelay on;
# renvoie moins d'information sur le serveur
server_tokens off;
# taille des buffers et taille max des requêtes normales
client_body_buffer_size 1k;
client_max_body_size 8m;
large_client_header_buffers 1 1K;
ignore_invalid_headers on;
# définition des différents timeout
client_body_timeout 5;
client_header_timeout 5;
keepalive_timeout 65 5;
send_timeout 5;
server_name_in_redirect off;
# active la compression des pages sauf pour les navigateurs pourris
gzip on;
gzip_comp_level 6;
gzip_proxied any;
gzip_vary on;
gzip_types text/plain text/css application/x-javascript application/json application/xml;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
# limitation du nombre de connexion par client
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=2r/s;
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
# inclusion des autres fichiers de conf (proxy) puis des sites activés
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Si je commente les lignes qui concernent la limite de requête par client et autres limitations, Gitlab arrive au bout de sa requête et me retourne un 502 : "Whoops, GitLab is taking too much time to respond. Try refreshing the page, or going back and attempting the action again. Please contact your GitLab administrator if this problem persists".
J'ai monté un GitLab il y a quelques temps, et j'avais moi aussi un NGINX de pré-installé avec des vhosts déjà existants, et je me suis bien débrouillé.
je t'invite à te rendre la dessus et à regarder les 2e et 3e liens plus particulièrement :
Je suis dubitatif sur les histoires de Ruby et l'extension web puisque c'est la seule source à parler de ça... Bizarrement, les autres, y compris la doc officielle, ne parlent pas du tout de ça. Enfin bon ça ne coûte rien d'essayer.
J'ai eu pas mal d'erreurs en tenant juste d'ajouter le module. Après ça, je suis reparti sur un truc propre. J'ai backup ma conf et mes vhosts et j'ai viré complètement nginx, puis je l'ai réinstallé.
Tentative 1 : en gardant la version full : (je me suis rendu compte que j'avais la version full par défaut sans préciser) :
Même une fois l'include fait, cette fois mes vhost sont OK et nginx est OK.
Maintenant si j'appelle à nouveau l'url de mon gitlab, ça mouline toujours autant. Parfois j'ai de la chance et j'évite le 502, donc j'essaie "Register" pour ouvrir un compte. Puis je remange un 502.
Bref à priori j'ai pas avancé d'un pouce...
Je redonne la conf que j'utilise en ce moment :
user www-data;
worker_processes auto;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
sendfile on;
tcp_nodelay on;
# renvoie moins d'information sur le serveur
server_tokens off;
# taille des buffers et taille max des requêtes normales
# client_body_buffer_size 1k;
# client_max_body_size 8m;
# large_client_header_buffers 1 1K;
# ignore_invalid_headers on;
# définition des différents timeout
# client_body_timeout 5;
# client_header_timeout 5;
# keepalive_timeout 65 5;
# send_timeout 5;
# server_name_in_redirect off;
# active la compression des pages sauf pour les navigateurs pourris
gzip on;
gzip_comp_level 6;
gzip_proxied any;
gzip_vary on;
gzip_types text/plain text/css application/x-javascript application/json application/xml;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
# Phusion Passenger config (Gitlab)
include /etc/nginx/passenger.conf;
# limitation du nombre de connexion par client
limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=2r/s;
limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
# inclusion des autres fichiers de conf (proxy) puis des sites activés
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Pourtant, je passe tous les test de configuration.
dev@devServer:/etc/nginx$ sudo /usr/bin/passenger-config validate-install
What would you like to validate?
Use <space> to select.
If the menu doesn't display correctly, press '!'
‣ ⬢ Passenger itself
⬡ Apache
-------------------------------------------------------------------------
* Checking whether this Passenger install is in PATH... ✓
* Checking whether there are no other Passenger installations... ✓
Everything looks good. :-)
dev@devServer:/etc/nginx$ sudo /usr/sbin/passenger-memory-stats
Version: 5.1.8
Date : 2017-09-14 11:17:43 +0200
------------- Apache processes -------------
*** WARNING: The Apache executable cannot be found.
Please set the APXS2 environment variable to your 'apxs2' executable's filename, or set the HTTPD environment variable to your 'httpd' or 'apache2' executable's filename.
---------- Nginx processes -----------
PID PPID VMSize Private Name
--------------------------------------
11342 1 165.8 MB 0.5 MB nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
11345 11342 165.8 MB 0.8 MB nginx: worker process
### Processes: 2
### Total private dirty RSS: 1.34 MB
----- Passenger processes -----
PID VMSize Private Name
-------------------------------
11321 423.6 MB 1.1 MB Passenger watchdog
11325 642.8 MB 1.8 MB Passenger core
11331 431.8 MB 1.2 MB Passenger ust-router
### Processes: 3
### Total private dirty RSS: 4.16 MB
Je commence sérieusement à désespérer là...
- Edité par SuperJohnson 14 septembre 2017 à 11:19:03
Je crois que j'ai du réinstaller au moins 2 ou 3 fois avant de réussir a avoir ce que je voulais.
Honnêtement, je te conseillerais de désinstaller complètement et proprement GitLab (supprime donc aussi tous les fichiers résiduels après la désinstallation).
En fait, je bossais sur VirtualBox sur une vieille machine (i3 d'il y a 7 ans, un vieil ACER portable).
Le lendemain de mon dernier message, pris d'un doute, j'ai foutu mon .vdi sur ma tour, beaucoup plus puissante. Devine quoi? Mon Gitlab est OK. C'est vraiment étrange mais bon... faut croire que c'est une usine à gaz qui bouffe énormément de ressources, et que j'en avais pas assez.
Bref la procédure que tu m'avais donnée est bien la bonne, et tout roule au poil. J'ai fait mon install sur le serveur de production, tout était OK du 1er coup. J'ai même pu foutre un petit certif' TLS avec letsencrypt sur mon vhost comme pour n'importe quel vhost.
Pour les prochains, notez quand même que si vous avez pas la version extras d'nginx faut tout réinstaller, c'est un peu lourd mais faisable. A partir de maintenant, je partirai du principe que je mettrai toujours la extras par défaut, au cas où.
Je passe le sujet en résolu.
- Edité par SuperJohnson 16 septembre 2017 à 17:54:59
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.