我看到proxy_request_buffering将缓冲请求和proxy_buffering响应。 不过,我想了解这是什么意思的内部。
我在AWS EC2实例上运行rails应用程序,使用Nginx 1.4.6充当反向代理并提供SSL证书。 我很确定我的问题是与我的Nginxconfiguration。 这里是: upstream puma { server unix:///home/deploy/apps/appname/shared/tmp/sockets/appname-puma.sock; } server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/appname.chained.crt; ssl_certificate_key /etc/nginx/ssl/appname.key; root /home/deploy/apps/appname/current/public; access_log /home/deploy/apps/appname/current/log/nginx.access.log; error_log /home/deploy/apps/appname/current/log/nginx.error.log info; try_files $uri/index.html $uri @puma; location @puma { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://puma; } error_page 500 502 503 504 /500.html; client_max_body_size 10M; keepalive_timeout […]
我已经用SSL和letsencrypt证书设置了nginx。 但是,我无法使OCSP勉强工作。 从我在网上find的,它应该使用下面的configuration,不幸的是它没有。 我的nginx虚拟主机看起来像这样: server { … # SSL Certificates ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/domain.com/fullchain.pem; # Allow Nginx to send OCSP results during the connection process ssl_stapling on; ssl_stapling_verify on; resolver $DNS-IP-1 $DNS-IP-2 valid=300s; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 10s; … } 当我用https://www.ssllabs.com扫描我的域名时,它会报告: OCSP stapling No 我在configuration中缺less什么?
我试图从Apache移动一个Wordpress网站到Nginx。 当我到主站点时,它按预期呈现。 当我点击一个post,它试图下载index.php而不是处理/渲染它。 我按照https://www.linode.com/docs/websites/lemp/lemp-server-on-ubuntu-16-04设置nginx 我的nginx.conf user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; gzip on; gzip_disable "msie6"; include […]
我在为客户设置子域名时遇到了一些麻烦.lipsmack.co.uk。 我已经build立了一个DNS Alogging来指向我的IP地址,并且我已经为nginx和apache创build了代理和虚拟主机信息,但是当我到达这个地址的时候,我得到了一个没有find响应的服务器。 Nginx的configuration如下所示: upstream backend { server 127.0.0.1:8080; } server { listen 80; server_name clients.lipsmack.co.uk; location / { proxy_pass http://backend; include /etc/nginx/proxy.conf; } } 和Apache文件读取: <VirtualHost *:8080> ServerName clients.lipsmack.co.uk <Directory /path/to/wsgi/parent/dir/> Order deny,allow Deny from all </Directory> WSGIDaemonProcess clients.lipsmack.co.uk user=www-data group=www-data threads=25 WSGIProcessGroup clients.lipsmack.co.uk WSGIScriptAlias / /path/to/wsgi/file/ </VirtualHost> 我真的不知道为什么它不工作。 任何人都可以摆脱任何光? 谢谢。 编辑:这个问题似乎已经解决了自己,虽然我不明智如何。 我把Alogging改成了CNAME,这个CNAME什么都没做,所以我把它改回来了。 重写了几次configuration文件之后,它终于奏效了,尽pipe我确信我没有做任何不同的事情。 […]
我正在寻找在我的VPS上运行一些Django站点,nginx作为它的前端。 我一直有mod_python和Apache的一些问题,该网站只是开始错误,每当stream量开始拿起,因为它只是使用这么多的RAM为每个请求。 所以我做了一些研究,发现mod_python真的不是我最好的select,小VPS。 我的设置有nginx服务静态文件(javascript,css,图像),并使用memcached通过cachingApache“制作”的页面来大幅减less对Apache后端的请求,但是这仍然在运行mod_python ,而且昨天我还有一些人说他们无缘无故地得到了500个错误。 我现在要做的就是使用FastCGI来运行Django,我已经读过它可以用更less的内存来处理更高的stream量,但是configuration对于我来说有点奇怪; 我根本就不是专家。 我正在看的主要是这些选项: maxspare=NUMBER max number of spare processes / threads minspare=NUMBER min number of spare processes / threads maxchildren=NUMBER hard limit number of processes / threads method=IMPL prefork or threaded (default prefork) 任何帮助确定我应该设置这些将不胜感激。 我也想知道如何/如果这些提到的进程都与nginx工作进程有关。 服务器托pipe着4个网站,通常每天处理几千个点击,但它们都倾向于与大多数stream量同时发生,这就是问题出现的时间。 此外,我读了一些关于使用Tornado作为Django的WSGI服务器的地方…这可能是一个更好的解决scheme吗? 谢谢!
我试图设置nginx来提供静态文件。 基本上我需要的是http://mydomain.com/site_media/指向/ var / django / myproject / site_media。 我已经尝试了这么多的configuration,当我testing它时,我总是得到一个静态文件的404错误。 任何人都可以告诉我我做错了什么,或者我应该如何设置? 这是我当前的nginxconfiguration文件。 用户www-data; worker_processes 1; #error_log /usr/local/nginx/logs/error.log; #pid /usr/local/nginx/logs/nginx.pid; 事件{ worker_connections 1024; 使用epoll; } http { #在这里列举所有的龙卷风服务器 上游前端{ 服务器127.0.0.1:8000; 服务器127.0.0.1:8001; 服务器127.0.0.1:8002; 服务器127.0.0.1:8003; } 包括mime.types; default_type application / octet-stream; #access_log /usr/local/nginx/logs/access.log; keepalive_timeout 65; proxy_read_timeout 200; 发送文件; tcp_nopush; tcp_nodelay; gzip on; gzip_min_length 1000; gzip_proxied任何; gzip_types文本/纯文本/ html文本/ css文本/ […]
目前我正在使用nginx作为caching启用的反向代理。 但是,主站点具有两种不同的布局,具体取决于用户代理(移动与否)。 我试过类似的东西: # mobile users if ($http_user_agent ~* '(iPhone|iPod|mobile|Android|2.0\ MMP|240×320|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|hiptop|IEMobile)') { set $iphone_request '1'; } if ($iphone_request = '1') { proxy_cache mobile; } if ($iphone_request = '') { proxy_cache site; } proxy_cache_key "$scheme://$host$request_uri"; proxy_pass http://real-site.tld; 但是,nginx提供了一个错误,说明proxy_cache不能在if结构中使用。 任何其他方式从不同的caching服务取决于浏览器? 谢谢,Tuinslak
我有兴趣从Apache / mod_php切换到Nginx的一些非CMS网站我正在运行。 问题的网站是完全静态的HTML文件或简单的PHP,但他们有一个共同点是,我目前正在使用Apache的mod_negotiation服务他们没有文件扩展名。 我不关心实际的内容谈判; 我正在使用这个,所以我不必在我的url中使用文件扩展名。 例如, /info/contact /info/contact.php的文件通过just /info/contact的URL访问 实际的文件是在该位置的.php文件,但我不使用URL中的扩展名。 这给了我稍微更短,更干净的url,也没有向用户公开实质上没有意义的实现细节。 在Apache中,所有这些都需要启用mod_negotiation并将+ MultiView添加到该站点的选项中。 在Nginx中我收集了一些重要的内容,但是对Nginx来说是新的,我不确定如何去做。 这些网站目前工作良好,从Nginx到Apache的代理,但我想尝试只用Nginx / fastcgi运行它们。 只要我使用扩展,它们就可以很好地工作,所以fastcgi方面的工作非常棒。 我现在关心的是删除这些扩展。 请记住,在子目录中,文件名并不总是在URL中。 那是, /foo/bar应该查找/foo/bar.php或/foo/bar/index.php /foo/应该查找/foo/index.php 有没有简单的方法来实现这个与Nginx或我应该坚持与代理到Apache?
我在/ home / raynes / pubgit /目录中有一个git仓库。 我正在尝试使用gitweb来为它提供一个web界面。 我使用nginx作为我的networking服务器的一切,所以我真的不想只为此使用另一个。 我主要是遵循这个指南: http : //michalbugno.pl/en/blog/gitweb-nginx ,这是唯一的指导,我可以通过谷歌find,真的是最近。 fcgiwrap显然不在Lucid Lynx的仓库中,所以我手动安装了它。 我通过spawn-fcgi产生实例: spawn-fcgi -f /usr/local/sbin/fcgiwrap -a 127.0.0.1 -p 9001 这很好。 我的/etc/gitweb.conf如下: # path to git projects (<project>.git) $projectroot = "/home/raynes/pubgit"; $my_uri = "http://mc.raynes.me"; $home_link = "http://mc.raynes.me/"; # directory to use for temp files $git_temp = "/tmp"; # target of the […]