mirror of
https://github.com/YunoHost/doc.git
synced 2024-09-03 20:06:26 +02:00
2 KiB
2 KiB
NGINX configuration
This tutorial aim to help setup NGINX configuration for application packaging.
NGINX configuration
Configuration must be in conf/nginx.conf
. We must use FastCGI or a proxy_pass following the application:
- FastCGI is used with PHP applications:
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
in Python, Node.js, Go and Java applications:
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;
}
Install script
We must modify conf/nginx.conf
file with application arguments. For this, we use generic terms YNH_EXAMPLE_PATH
that we modify by desired values with sed
command:
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
We must move that configuration file in NGINX configuration, then reload NGINX configuration:
cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
sudo service nginx reload
If NGINX won't restart, it's possible that this configuration file isn't right.
Remove script
We must remove NGINX configuration of this application, then reload NGINX configuration:
rm -f /etc/nginx/conf.d/$domain.d/$app.conf
sudo service nginx reload