96 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			3.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
Setup werc with NGINX
 | 
						|
=====================
 | 
						|
 | 
						|
You probably will want to to use fcgiwrap, called from spawn-fcgi or similar.
 | 
						|
 | 
						|
Here is an extremely basic nginx configuration, with this configuration static files will be handled by werc and not nginx, this is clearly dumb, but works:
 | 
						|
 | 
						|
        worker_processes  1;
 | 
						|
 | 
						|
        #error_log  logs/error.log;
 | 
						|
        #error_log  logs/error.log  notice;
 | 
						|
        error_log  logs/error.log  info;
 | 
						|
 | 
						|
        pid        logs/nginx.pid;
 | 
						|
 | 
						|
        events {
 | 
						|
            worker_connections  1024;
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        http {
 | 
						|
        include       mime.types;
 | 
						|
        default_type  application/octet-stream;
 | 
						|
 | 
						|
        #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
 | 
						|
        #                  '$status $body_bytes_sent "$http_referer" '
 | 
						|
        #                  '"$http_user_agent" "$http_x_forwarded_for"';
 | 
						|
 | 
						|
        #access_log  logs/access.log  main;
 | 
						|
 | 
						|
        sendfile        on;
 | 
						|
        #tcp_nopush     on;
 | 
						|
 | 
						|
        #keepalive_timeout  0;
 | 
						|
        keepalive_timeout  65;
 | 
						|
 | 
						|
        #gzip  on;
 | 
						|
 | 
						|
        server {
 | 
						|
            listen       80;
 | 
						|
            server_name  test.cat-v.org; # Replace with your domain name.
 | 
						|
 | 
						|
            #charset utf-8;
 | 
						|
 | 
						|
            #access_log  logs/host.access.log  main;
 | 
						|
 | 
						|
            location / {
 | 
						|
 | 
						|
            # FastCGI params, usually stored in fastcgi_params
 | 
						|
            # and imported with a command like the following:
 | 
						|
            #include        fastcgi_params;
 | 
						|
 | 
						|
            # Typical contents of fastcgi_params (inlined here):
 | 
						|
            fastcgi_pass localhost:9000;
 | 
						|
 | 
						|
            fastcgi_param  QUERY_STRING       $query_string;
 | 
						|
            fastcgi_param  REQUEST_METHOD     $request_method;
 | 
						|
            fastcgi_param  CONTENT_TYPE       $content_type;
 | 
						|
            fastcgi_param  CONTENT_LENGTH     $content_length;
 | 
						|
 | 
						|
            #fastcgi_param  SCRIPT_FILENAME   /var/www/werc/bin/werc.rc;
 | 
						|
            fastcgi_param  SCRIPT_NAME        /var/www/werc/bin/werc.rc;
 | 
						|
            #fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
 | 
						|
 | 
						|
            fastcgi_param  REQUEST_URI        $request_uri;
 | 
						|
            fastcgi_param  DOCUMENT_URI       $document_uri;
 | 
						|
            fastcgi_param  DOCUMENT_ROOT      $document_root;
 | 
						|
            fastcgi_param  SERVER_PROTOCOL    $server_protocol;
 | 
						|
 | 
						|
            fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
 | 
						|
            fastcgi_param  SERVER_SOFTWARE    nginx/$nginx_version;
 | 
						|
 | 
						|
            fastcgi_param  REMOTE_ADDR        $remote_addr;
 | 
						|
            fastcgi_param  REMOTE_PORT        $remote_port;
 | 
						|
            fastcgi_param  SERVER_ADDR        $server_addr;
 | 
						|
            fastcgi_param  SERVER_PORT        $server_port;
 | 
						|
            fastcgi_param  SERVER_NAME        $server_name;
 | 
						|
            fastcgi_param  REMOTE_USER        $remote_user;
 | 
						|
 | 
						|
            #root   /var/www/werc/sites/$server_addr; # XXX This doesn't work, not sure why :(
 | 
						|
            root /;
 | 
						|
            #index  index.html index.htm;
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
Then you can use spawn-fcgi or similar to get wrapcgi going:
 | 
						|
 | 
						|
	spawn-fcgi -a 127.0.0.1 -p 9000 -f /home/uriel/dvl/ext/fcgiwrap/fcgiwrap # Use the path to your fcgiwrap binary here
 | 
						|
 | 
						|
 | 
						|
Other Setups
 | 
						|
------------
 | 
						|
 | 
						|
More elaborate setups with direct handling of static files, caching, and multiple fcgi/cgi handlers should be easy, if you have any please post them to the werc9 mailing list.
 |