doc/pages/02.contribute/04.packaging_apps/09.nginx/packaging_apps_nginx_conf.fr.md
2020-11-14 16:37:56 +01:00

2.3 KiB
Raw Blame History

Configuration NGINX

Ce tutoriel a pour but daider à la mise en place dune configuration NGINX pour le packaging dapplication.

Configuration NGINX

La configuration doit être mise dans conf/nginx.conf. Il sagira dutiliser FastCGI ou un proxy_pass suivant lapplication :

  • FastCGI est utilisé dans les applications PHP :
location YNH_EXAMPLE_PATH {
  alias YNH_WWW_PATH ;
  if ($scheme = http) {
    rewrite ^ https://$server_name$request_uri? permanent;
  }
  index index.php;
  try_files $uri $uri/ index.php;
  location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
    fastcgi_pass unix:/var/run/php5-fpm.sock;
    fastcgi_index index.php;
    include fastcgi_params;
    fastcgi_param REMOTE_USER     $remote_user;
    fastcgi_param PATH_INFO       $fastcgi_path_info;
    fastcgi_param SCRIPT_FILENAME $request_filename;
  }

  # Include SSOWAT user panel.
  include conf.d/yunohost_panel.conf.inc;
}
  • proxy_pass dans le cas dapplications Python, Node.js, Go et Java :
location YNH_EXAMPLE_PATH/ {
       rewrite                ^YNH_EXAMPLE_PATH$ YNH_EXAMPLE_PATH/ permanent;
       proxy_pass             http://YNH_EXEMPLE_DOMAIN:YNH_EXAMPLE_PORT/;
       proxy_set_header       Host $host;
       proxy_buffering off;
}

Script dinstallation

Il sagit de modifier le fichier conf/nginx.conf avec les paramètres de lapplication. Pour cela, on utilise des termes génériques YNH_EXAMPLE_PATH que lon modifie par des valeurs souhaitées avec la commande sed :

sed -i "s@YNH_EXAMPLE_PATH@$path@g" ../conf/nginx.conf
sed -i "s@YNH_EXAMPLE_PORT@$port@g" ../conf/nginx.conf
sed -i "s@YNH_EXEMPLE_DOMAIN@$domain@g" ../conf/nginx.conf

Il faut ensuite déplacer ce fichier de configuration dans la configuration de NGINX, puis recharger la configuration de NGINX :

cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
sudo service nginx reload

Si NGINX ne redémarre pas, il se peut que le fichier de configuration ne soit pas correct.

Script de suppression

Il sagit de supprimer la configuration NGINX pour cette application, puis de recharger la configuration de NGINX :

rm -f /etc/nginx/conf.d/$domain.d/$app.conf
sudo service nginx reload