guide:installation_serveurs_2014

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

guide:installation_serveurs_2014 [2014/07/15 13:16] – [20.2. Installation / Configuration NGINX en proxy cache sur toutes les VM Front] viviguide:installation_serveurs_2014 [2021/04/18 22:24] (Version actuelle) – modification externe 127.0.0.1
Ligne 2764: Ligne 2764:
  
     # Misc configuration     # Misc configuration
-    sendfile        on;+    sendfile        off;
     keepalive_timeout  65;     keepalive_timeout  65;
  
  
-    # Enable compression but not for dirty browsers +    
-    gzip  on;+    # Enable gzip compression 
 +    # See : http://www.nginxtips.com/how-to-configure-nginx-gzip-compression/ 
 +    # 
 +    gzip on;
     gzip_comp_level 6;     gzip_comp_level 6;
     gzip_proxied any;     gzip_proxied any;
 +    gzip_min_length  1100;
 +    gzip_buffers  4 32k;
 +    gzip_types    text/plain application/x-javascript text/xml text/css;
     gzip_vary on;     gzip_vary on;
-    gzip_types  text/plain text/css application/x-javascript; + 
-    gzip_disable "MSIE [1-6]\.(?!.*SV1)";+ 
 +    # 
 +    # Set client body size to 5M # 
 +    # See : http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/ 
 +    
 +    client_max_body_size 5M;
  
  
Ligne 2795: Ligne 2806:
 } }
 </code> </code>
 +
 +**Note :** L'option sendfile est souvent présentée à on. [[http://t37.net/optimisations-nginx-bien-comprendre-sendfile-tcp-nodelay-et-tcp-nopush.html|Cet article]] explique très bien l'utilité de cette option. Sauf qu'elle pose visiblement souci (pas confirmé mais j'en ai fortement l'impression) pour l'utilisation de liens symboliques. Par exemple sur phpmyadmin on se retrouve a avoir les fonctions jquery désactivées... (ou encore d'autres trucs corrigé autrement mais bon..). Exemple de souci sur [[http://serverfault.com/questions/502498/nginx-doesnt-follow-symlink-properly|cette page]]
  
 Et enfin nous configurons nos sites (ici je fais celui par defaut mais le travail est le même pour chaque site et à adapter) : Et enfin nous configurons nos sites (ici je fais celui par defaut mais le travail est le même pour chaque site et à adapter) :
Ligne 2825: Ligne 2838:
     location ~*^.+(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {     location ~*^.+(swf|jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
         proxy_pass http://192.168.100.21;         proxy_pass http://192.168.100.21;
 +
         proxy_cache cache;         proxy_cache cache;
         proxy_cache_valid 2d;         proxy_cache_valid 2d;
Ligne 2881: Ligne 2895:
  
 <code> <code>
-open_basedir = /var/www:/tmp:/usr/share/phpmyadmin+open_basedir = /var/www:/tmp:/usr/share/phpmyadmin:/var/lib/phpmyadmin:/usr/share/javascript
  
 disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,system,popen,proc_open,shell_exec disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,exec,system,popen,proc_open,shell_exec
Ligne 2924: Ligne 2938:
  
 Et pour les optimisations, j'ai [[http://www.guillaume-leduc.fr/gestion-caches-nginx-php-fpm.html|cet article]] me semble très bien (j'y ai trouvé l'outil ci dessus). Et pour les optimisations, j'ai [[http://www.guillaume-leduc.fr/gestion-caches-nginx-php-fpm.html|cet article]] me semble très bien (j'y ai trouvé l'outil ci dessus).
 +
 +**Si votre phpmyadmin vous fait un truc dans ce style :**
 +
 +<code>
 +PHP message: PHP Fatal error:  require_once(): Failed opening required './libraries/php-gettext/gettext.inc'
 +</code>
 +
 +Alors la solution se trouve sur [[http://superuser.com/questions/590208/phpmyadmin-symlinks-error-after-ubuntu-upgrade|cette page]].
 +
 +<code bash>
 +sudo rm /usr/share/phpmyadmin/libraries/php-gettext/*
 +sudo ln /usr/share/php/php-gettext/* /usr/share/phpmyadmin/libraries/php-gettext
 +</code>
 +
 +**Si votre phpmyadmin rale sur mcrypt :**
 +
 +[[http://stackoverflow.com/questions/19446679/mcrypt-not-present-after-ubuntu-upgrade-to-13-10|Cette page pourrait vous aider]]
 +
 +<code bash>
 +sudo php5enmod mcrypt
 +sudo service php5-fpm restart
 +</code>
 +
 +**Pour améliorer vos logs (attention si ya de la charge déjà sur les serv' c'est a éviter) sur php fpm ** (sinon c'est un peu light comme indiqué sur [[http://stackoverflow.com/questions/8677493/php-fpm-doesnt-write-to-error-log|cette page]]) :
 +
 +<code bash>
 +sudo nano /etc/php5/fpm/pool.d/www.conf
 +</code>
 +
 +Activer ceci :
 +
 +<code>
 +catch_workers_output = yes
 +</code>
  
  
Ligne 2930: Ligne 2978:
 Ici il s'agit d'installer NGINX sur les VM middle. La procédure est la même que pour les front. Par contre concernant la configuration on n'est plus sur de serveur proxy mais du serveur web classique. Ici il s'agit d'installer NGINX sur les VM middle. La procédure est la même que pour les front. Par contre concernant la configuration on n'est plus sur de serveur proxy mais du serveur web classique.
  
-Il suffira de le faire communiquer avec PHP FPM via le sock mis en place précédemment.+Un exemple de configuration générale : 
 + 
 +<code bash> 
 +sudo nano /etc/nginx/nginx.conf 
 +</code> 
 + 
 +<code> 
 +user  www-data www-data; 
 +worker_processes  1; 
 + 
 +error_log  /var/log/nginx/error.log warn; 
 +pid        /var/run/nginx.pid; 
 + 
 + 
 +events { 
 +    worker_connections  1024; 
 +
 + 
 + 
 +http { 
 +    include       /etc/nginx/mime.types; 
 +    default_type  application/octet-stream; 
 + 
 + 
 +    # Get real ip from front server 
 +    set_real_ip_from 192.168.100.12; 
 +    real_ip_header X-Forwarded-For; 
 + 
 + 
 +    # Log configuration 
 +    log_format  main  '$remote_addr - $remote_user [$time_local] "$request"
 +                      '$status $body_bytes_sent "$http_referer"
 +                      '"$http_user_agent" "$http_x_forwarded_for"'; 
 +    access_log  /var/log/nginx/access.log  main; 
 + 
 + 
 +    # Misc configuration 
 +    sendfile        on; 
 +    keepalive_timeout  65; 
 + 
 + 
 +    # 
 +    # Enable gzip compression 
 +    # See : http://www.nginxtips.com/how-to-configure-nginx-gzip-compression/ 
 +    # 
 +    gzip on; 
 +    gzip_comp_level 6; 
 +    gzip_proxied any; 
 +    gzip_min_length  1100; 
 +    gzip_buffers  4 32k; 
 +    gzip_types    text/plain application/x-javascript text/xml text/css; 
 +    gzip_vary on; 
 + 
 + 
 +    # 
 +    # Set client body size to 5M # 
 +    # See : http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/ 
 +    # 
 +    client_max_body_size 5M; 
 + 
 + 
 +    # Include configuration files for differents sites 
 +    include /etc/nginx/conf.d/*.conf; 
 +
 +</code> 
 + 
 +Il suffira ensuite de le faire communiquer avec PHP FPM via le sock mis en place précédemment.
  
 Par exemple : Par exemple :
Ligne 2964: Ligne 3078:
         include        fastcgi_params;         include        fastcgi_params;
     }     }
 +    
 +    # Security deny .ht* files like htaccess
 +    location ~ /\.ht {
 +      deny  all;
 +    }
 +    
 +    # Rewrites rules
 +    location / {
 +        try_files $uri $uri/ /index.php?$args;
 +    }
 +
 } }
 </code> </code>
  
 +**Note 1 :** La partie .ht est pour éviter que des .htaccess et compagnie trainent en visible alors qu'ils ne sont utilisés que par apache et pas par nginx (certaines appli en laissent trainer partout).
  
 +**Note 2 :** La partie rewrite est proposée a titre d'exemple mais est à adapter ou a enlever selon votre application. Elle propose un remplacement des règles de rewrite habituellement vues avec apache.
 ===== 20.5. Installation / Configuration MySQL sur les VM middle / back ===== ===== 20.5. Installation / Configuration MySQL sur les VM middle / back =====
  
  • guide/installation_serveurs_2014.1405423012.txt.gz
  • Dernière modification : 2021/04/18 22:24
  • (modification externe)