diff --git a/conf/nginx/README.md b/conf/nginx/README.md new file mode 100644 index 0000000..9cad2b1 --- /dev/null +++ b/conf/nginx/README.md @@ -0,0 +1,12 @@ +/usr/local/www/ +/usr/local/www/run +/usr/local/www/run/slowcgi.sock +/usr/local/www/bouquins +/usr/local/www/bouquins/cgi-bin +/usr/local/www/bouquins/cgi-bin/main.o +/usr/local/www/bouquins/cgi-bin/bouquins +/usr/local/www/bouquins/cgi-bin/db.o +/usr/local/www/bouquins/cgi-bin/json.o +/usr/local/www/data +/usr/local/www/data/metadata.db + diff --git a/conf/nginx/fastcgi_params_bouquins b/conf/nginx/fastcgi_params_bouquins new file mode 100644 index 0000000..12f47b3 --- /dev/null +++ b/conf/nginx/fastcgi_params_bouquins @@ -0,0 +1,25 @@ + +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_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 REQUEST_SCHEME $scheme; +fastcgi_param HTTPS $https if_not_empty; + +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; + +# PHP only, required if PHP was built with --enable-force-cgi-redirect +fastcgi_param REDIRECT_STATUS 200; diff --git a/conf/nginx/nginx.conf b/conf/nginx/nginx.conf new file mode 100644 index 0000000..e1b4816 --- /dev/null +++ b/conf/nginx/nginx.conf @@ -0,0 +1,141 @@ +load_module /usr/local/libexec/nginx/ngx_mail_module.so; +load_module /usr/local/libexec/nginx/ngx_stream_module.so; + +#user nobody; +worker_processes 1; + +# This default error log path is compiled-in to make sure configuration parsing +# errors are logged somewhere, especially during unattended boot when stderr +# isn't normally logged anywhere. This path will be touched on every nginx +# start regardless of error log location configured here. See +# https://trac.nginx.org/nginx/ticket/147 for more info. +# +#error_log /var/log/nginx/error.log; +# + +#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 localhost; + + #charset koi8-r; + + #access_log logs/host.access.log main; + + location / { + root /usr/local/www/nginx; + index index.html index.htm; + } + + #error_page 404 /404.html; + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/local/www/nginx-dist; + } + + # proxy the PHP scripts to Apache listening on 127.0.0.1:80 + # + #location ~ \.php$ { + # proxy_pass http://127.0.0.1; + #} + + # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 + # + #location ~ \.php$ { + # root html; + # fastcgi_pass 127.0.0.1:9000; + # fastcgi_index index.php; + # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; + # include fastcgi_params; + #} + + location /bouquins { + root "/usr/local/www/"; + location ~ /cgi-bin/.* { + fastcgi_pass unix:/usr/local/www/run/slowcgi.sock; + fastcgi_index bouquins; + fastcgi_split_path_info ^(/bouquins/cgi-bin/[^/]+)(.*); + fastcgi_param PATH_INFO $fastcgi_path_info; + fastcgi_param SCRIPT_NAME /bouquins/cgi-bin/bouquins; + include fastcgi_params_bouquins; + } + } + location ~ ^/cgi-bin/.* { + fastcgi_pass unix:/usr/local/www/run/slowcgi.sock; + fastcgi_index index; + include fastcgi_params; + } + + # deny access to .htaccess files, if Apache's document root + # concurs with nginx's one + # + #location ~ /\.ht { + # deny all; + #} + } + + + # another virtual host using mix of IP-, name-, and port-based configuration + # + #server { + # listen 8000; + # listen somename:8080; + # server_name somename alias another.alias; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + + + # HTTPS server + # + #server { + # listen 443 ssl; + # server_name localhost; + + # ssl_certificate cert.pem; + # ssl_certificate_key cert.key; + + # ssl_session_cache shared:SSL:1m; + # ssl_session_timeout 5m; + + # ssl_ciphers HIGH:!aNULL:!MD5; + # ssl_prefer_server_ciphers on; + + # location / { + # root html; + # index index.html index.htm; + # } + #} + +}