2020-11-11 11:47:10 +01:00
---
title: Configuration NGINX
template: docs
taxonomy:
category: docs
2021-02-06 18:22:00 +01:00
routes:
default: '/packaging_apps_nginx_conf'
2020-11-11 11:47:10 +01:00
---
2020-09-18 19:11:15 +02:00
2020-09-15 13:57:31 +02:00
Ce tutoriel a pour but d’ aider à la mise en place d’ une configuration NGINX pour le packaging d’ application.
2016-01-30 19:23:07 +01:00
2020-09-15 13:57:31 +02:00
#### Configuration NGINX
2022-10-17 23:30:42 +02:00
La configuration doit être mise dans `conf/nginx.conf` . Il s’ agira d’ utiliser **FastCGI** ou un **proxy_pass** suivant l’ application :
* **FastCGI** est utilisé dans les applications PHP :
2020-04-20 19:17:40 +02:00
```nginx
2022-10-17 23:30:42 +02:00
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location __PATH__ / {
proxy_pass http://127.0.0.1:__PORT__/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
2016-01-30 19:23:07 +01:00
}
```
2016-01-30 19:41:17 +01:00
* **`proxy_pass`** dans le cas d’ applications Python, Node.js, Go et Java :
2022-10-17 23:30:42 +02:00
2020-04-20 19:17:40 +02:00
```nginx
2022-10-17 23:30:42 +02:00
#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent;
location __PATH__ / {
proxy_pass http://127.0.0.1:__PORT__/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
2016-01-30 17:47:49 +01:00
}
```
2016-01-30 19:41:17 +01:00
#### Script d’ installation
2022-10-17 23:30:42 +02:00
2016-03-30 14:32:52 +02:00
Il s’ agit de modifier le fichier `conf/nginx.conf` avec les paramètres de l’ application. Pour cela, on utilise des termes génériques `YNH_EXAMPLE_PATH` que l’ on modifie par des valeurs souhaitées avec la commande `sed` :
2022-10-17 23:30:42 +02:00
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
```
2022-10-17 23:30:42 +02:00
Il faut ensuite déplacer ce fichier de configuration dans la configuration de NGINX, puis 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
```
2022-10-17 23:30:42 +02:00
2020-09-15 13:57:31 +02: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
2022-10-17 23:30:42 +02:00
Il s’ agit 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
2018-04-12 00:09:24 +02:00
```