mirror of
https://github.com/YunoHost/doc.git
synced 2024-09-03 20:06:26 +02:00
60 lines
2.3 KiB
Markdown
60 lines
2.3 KiB
Markdown
# Configuration NGINX
|
||
|
||
Ce tutoriel a pour but d’aider à la mise en place d’une configuration NGINX pour le packaging d’application.
|
||
|
||
#### Configuration NGINX
|
||
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 :
|
||
```nginx
|
||
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 d’applications Python, Node.js, Go et Java :
|
||
```nginx
|
||
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 d’installation
|
||
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` :
|
||
```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
|
||
```
|
||
Il faut ensuite déplacer ce fichier de configuration dans la configuration de NGINX, puis recharger la configuration de NGINX :
|
||
```bash
|
||
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 s’agit de supprimer la configuration NGINX pour cette application, puis de recharger la configuration de NGINX :
|
||
```bash
|
||
rm -f /etc/nginx/conf.d/$domain.d/$app.conf
|
||
sudo service nginx reload
|
||
```
|