doc/packaging_apps_nginx_conf_fr.md

59 lines
2.3 KiB
Markdown
Raw Normal View History

2016-01-30 19:41:17 +01:00
# Configuration Nginx
Ce tutoriel a pour but daider à la mise en place dune configuration Nginx pour le packaging dapplication.
2016-01-30 19:23:07 +01:00
2016-01-30 19:41:17 +01:00
#### 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 :
2016-01-30 19:23:07 +01:00
```bash
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;
}
```
2016-01-30 19:41:17 +01:00
* **`proxy_pass`** dans le cas dapplications Python, Node.js, Go et Java :
2016-01-30 17:47:49 +01:00
```bash
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;
}
```
2016-01-30 19:41:17 +01:00
#### 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és avec la commande `sed` :
2016-01-30 17:47:49 +01:00
```bash
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
```
2016-01-30 19:41:17 +01:00
Il faut ensuite déplacer ce fichier de configuration dans la configuration de Nginx, puis de recharger la configuration de Nginx :
2016-01-30 17:47:49 +01:00
```bash
cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
sudo service nginx reload
```
2016-01-30 19:41:17 +01:00
Si Nginx ne redémarre pas, il se peut que le fichier de configuration ne soit pas correct.
2016-01-30 17:47:49 +01:00
2016-01-30 19:41:17 +01:00
#### Script de suppression
Il sagit de supprimer la configuration Nginx pour cette application, puis de recharger la configuration de Nginx :
2016-01-30 17:47:49 +01:00
```bash
rm -f /etc/nginx/conf.d/$domain.d/$app.conf
2016-01-30 19:23:07 +01:00
sudo service nginx reload
2016-01-30 17:47:49 +01:00
```