mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-03 19:17:07 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			142 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. _installation nginx:
 | 
						|
 | 
						|
==================
 | 
						|
Install with nginx
 | 
						|
==================
 | 
						|
 | 
						|
.. sidebar:: public HTTP servers
 | 
						|
 | 
						|
   On public searx instances use an application firewall (:ref:`filtron
 | 
						|
   <filtron.sh>`).
 | 
						|
 | 
						|
.. contents:: Contents
 | 
						|
   :depth: 2
 | 
						|
   :local:
 | 
						|
   :backlinks: entry
 | 
						|
 | 
						|
If nginx is not installed (uwsgi will not work with the package
 | 
						|
nginx-light):
 | 
						|
 | 
						|
.. tabs::
 | 
						|
 | 
						|
   .. group-tab:: Ubuntu / debian
 | 
						|
 | 
						|
      .. code:: sh
 | 
						|
 | 
						|
         sudo -H apt-get install nginx
 | 
						|
 | 
						|
Hosted at ``/``
 | 
						|
===============
 | 
						|
 | 
						|
Create the configuration file ``/etc/nginx/sites-available/searx`` with this
 | 
						|
content:
 | 
						|
 | 
						|
.. code:: nginx
 | 
						|
 | 
						|
    server {
 | 
						|
        listen 80;
 | 
						|
        server_name searx.example.com;
 | 
						|
        root /usr/local/searx/searx;
 | 
						|
 | 
						|
        location /static {
 | 
						|
        }
 | 
						|
 | 
						|
        location / {
 | 
						|
                include uwsgi_params;
 | 
						|
                uwsgi_pass unix:/run/uwsgi/app/searx/socket;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
Create a symlink to sites-enabled:
 | 
						|
 | 
						|
.. code:: sh
 | 
						|
 | 
						|
   sudo -H ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/searx
 | 
						|
 | 
						|
Restart service:
 | 
						|
 | 
						|
.. tabs::
 | 
						|
 | 
						|
   .. group-tab:: Ubuntu / debian
 | 
						|
 | 
						|
      .. code:: sh
 | 
						|
 | 
						|
         sudo -H systemctl restart nginx
 | 
						|
         sudo -H systemctl restart uwsgi
 | 
						|
 | 
						|
from subdirectory URL (``/searx``)
 | 
						|
==================================
 | 
						|
 | 
						|
Add this configuration in the server config file
 | 
						|
``/etc/nginx/sites-enabled/default``:
 | 
						|
 | 
						|
.. code:: nginx
 | 
						|
 | 
						|
    location /searx/static {
 | 
						|
            alias /usr/local/searx/searx/static;
 | 
						|
    }
 | 
						|
 | 
						|
    location /searx {
 | 
						|
            uwsgi_param SCRIPT_NAME /searx;
 | 
						|
            include uwsgi_params;
 | 
						|
            uwsgi_pass unix:/run/uwsgi/app/searx/socket;
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
**OR** using reverse proxy (Please, note that reverse proxy advised to be used
 | 
						|
in case of single-user or low-traffic instances.)
 | 
						|
 | 
						|
.. code:: nginx
 | 
						|
 | 
						|
    location /searx/static {
 | 
						|
            alias /usr/local/searx/searx/static;
 | 
						|
    }
 | 
						|
 | 
						|
    location /searx {
 | 
						|
        proxy_pass http://127.0.0.1:8888;
 | 
						|
        proxy_set_header Host $host;
 | 
						|
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 | 
						|
        proxy_set_header X-Scheme $scheme;
 | 
						|
        proxy_set_header X-Script-Name /searx;
 | 
						|
        proxy_buffering off;
 | 
						|
    }
 | 
						|
 | 
						|
Enable ``base_url`` in ``searx/settings.yml``
 | 
						|
 | 
						|
.. code:: yaml
 | 
						|
 | 
						|
    base_url : http://your.domain.tld/searx/
 | 
						|
 | 
						|
Restart service:
 | 
						|
 | 
						|
.. tabs::
 | 
						|
 | 
						|
   .. group-tab:: Ubuntu / debian
 | 
						|
 | 
						|
      .. code:: sh
 | 
						|
 | 
						|
         sudo -H systemctl restart nginx
 | 
						|
         sudo -H systemctl restart uwsgi
 | 
						|
 | 
						|
 | 
						|
disable logs
 | 
						|
============
 | 
						|
 | 
						|
For better privacy you can disable nginx logs about searx.  How to proceed:
 | 
						|
below ``uwsgi_pass`` in ``/etc/nginx/sites-available/default`` add:
 | 
						|
 | 
						|
.. code:: nginx
 | 
						|
 | 
						|
    access_log /dev/null;
 | 
						|
    error_log /dev/null;
 | 
						|
 | 
						|
Restart service:
 | 
						|
 | 
						|
.. tabs::
 | 
						|
 | 
						|
   .. group-tab:: Ubuntu / debian
 | 
						|
 | 
						|
      .. code:: sh
 | 
						|
 | 
						|
         sudo -H systemctl restart nginx
 |