我想弄清楚如何configurationnginx和tomcat正确协同工作。 Nginx有一个worker connections设置,并且tomcat具有max threads (假设为tomcat的本地apr连接器)。 由于nginx与HTTP / 1.0连接后端,tomcat不需要keepalive。 我在nginx中将keep-alive timeout设置为30秒。 如果100 req / s是目标,并且每个请求在1s内完成,则可以有100个请求* 30秒每个= 3000个可以打开到nginx的并发连接,并且将有100个到tomcat的并发连接。 所以如果我把nginx中的worker connections设置为6000(工作进程为1,nginx每个请求占用2个连接,我认为一个用于客户端,另一个用于后端), max threads为100(在tomcat中默认为200)这将工作。 这个计算有没有概念上的问题? 确切的数字并不重要。 谢谢。
我正准备与一个应用程序,并想知道是否有人可以给我一些见解我的基准。 他们如何比较,我可以做什么系统级的调整,以提高他们等等。 我的设置如下: m1.large amazon ec2实例,运行Ubuntu 11.04 Natty。 Nginx作为Web请求的反向代理。 这些请求被unix socket套接到一群提供ruby(1.9.2)应用程序的独angular兽工作者(Sinatra作为框架) 当运行apache替代时,如下ab -n 10000 -c 10 http://localhost/我得到的内存消耗可以忽略不计,还有更高的CPU峰值。 我看到大约75-80%的CPU使用率 最佳结果: Cpu(s): 43.1%us, 20.9%sy, 0.0%ni, 21.5%id, 1.0%wa, 0.0%hi, 2.4%si, 11.1%st 我的基准testing结果如下: Server Software: nginx/0.8.54 Server Hostname: loalhost Server Port: 80 Document Path: / Document Length: 3683 bytes Concurrency Level: 10 Time taken for tests: 13.072 seconds Complete […]
我已经在CentOS 6系统(在Amazon EC2中托pipe)中安装了nginx服务器和php-fpm,并遵循以下说明: http://emka.web.id/linux/centos-linux/2011/installing-nginx-with-php-and-php-fpm/ 一个静态的html(index.html)加载时,我去我的公共DNS提供的亚马逊,所以nginx的作品,但是当我尝试加载一个PHP页面在“index.php或hello.php”相同的目录中一个错误页面显示以下消息:“您正在查找的页面暂时不可用,请稍后再试。” 当我运行php-fpm没有参数,并再次尝试加载一个php页面,不发送给我的网页,而是显示一条短信:“没有input文件指定”。 / usr / share / nginx / html文件的默认目录 我认为我的configuration有问题,但是我不知道是在php还是在nginx的conf文件中。 /etc/nginx/nginx.conf中有几行我认为是最相关的: # # The default server # server { listen 80; server_name _; #charset koi8-r; #access_log logs/host.access.log main; location / { root /usr/share/nginx/html; index index.html index.htm; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } # redirect server […]
我打算一起使用nginx和haproxy。 我这样做是因为haproxy不支持gzip压缩。 我的目标是首先使用nginx进行gzip压缩,然后将其转发给haproxy进行负载平衡。 我很好,直到那一刻。 但是在做这件事时,我想创build透明代理。 由于nginx不支持tproxy,我使用了X-Forward-For头。 然后在haproxyconfiguration我添加了source 0.0.0.0 usesrc hdr_ip(X-Forwarded-For,-1)行,但我得到了503错误代码在我的浏览器。 没有这条线他们工作正常,但不是我想要的方式。 谢谢你的帮助,我希望我能解释我想要的:)
我正在使用nginxcaching来自上游apache服务器的请求,但是我想要从apache一直提取几块内部。 我希望ssi可以做到这一点,但是SSI标签不经过预处理就输出给用户。 location ~* ^.+\.html$ { proxy_pass http://localhost:9999; proxy_cache_key "$prime$scheme$host$request_uri"; ssi on; ssi_silent_errors off; log_subrequest on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Country $country_code; proxy_cache my-cache; proxy_cache_bypass $http_x_refresh_cache; proxy_cache_valid 200 302 30d; proxy_cache_valid 404 10m; proxy_cache_valid any 1m; } 这是相关的nginx conf。
我可以在我的错误日志中看到一个奇怪的域请求: 2011/11/03 09:04:18 [error] 1203#0:* 4044 FastCGI在stderr中发送:“成功提取” http://jeannie733.2itb.com/oxycodonepricesideef.html':GET response code 200“while reading来自上游的响应报头,客户端:41.222.211.141,服务器:contra.net.au,请求:“POST /wp-comments-post.php HTTP / 1.1”,上游: 这是否表明我的网站已被黑客入侵?
任何人都可以在我的nginx错误日志中的以下行上说明一些情况。 我正试图让Perl和Nginx互相交谈,但迄今为止没有成功。 unix:/var/run/nginx/cgiwrap-dispatch.sock failed (111: Connection refused)2011/11/20 09:18:34 [error] 24054#0: *1186 connect() to unix:/var/run/nginx/cgiwrap-dispatch.sock failed (111: Connection refused) while connecting to upstream, client: 150.101.221.75, server: example.com, request: "GET /dspam.cgi HTTP/1.1", upstream: "fastcgi://unix:/var/run/nginx/cgiwrap-dispatch.sock:", host: "example.com" 相关的nginxconfiguration。 location ~ \.cgi$ { gzip off; include /etc/nginx/fastcgi_params; fastcgi_pass unix:/var/run/fcgiwrap.socket; fastcgi_index index.pl; fastcgi_param SCRIPT_FILENAME /var/www/dspam$fastcgi_script_name; }
我是一个运行Debian 6的新Linode / Linux用户。我试图让我的Unicorn服务器在启动时启动,但由于某种原因,它不是,我无法追查任何错误信息。 Nginx开始正常,我有一个多用户RVM安装。 我的直觉是这与RVM有关。 这是/rails/todo我的unicorn_init.sh文件,在/etc/init.d/unicorn有一个符号链接: # unicorn_init.sh #!/bin/sh set -e TIMEOUT=${TIMEOUT-60} APP_ROOT=/rails/todo PID=$APP_ROOT/tmp/pids/unicorn.pid CMD="$APP_ROOT/bin/unicorn_rails -D -c $APP_ROOT/config/unicorn.rb -E production" GEM_HOME="/usr/local/rvm/gems/ruby-1.9.2-p290@global" action="$1" set -u old_id="$PID.oldbin" cd $APP_ROOT || exit 1 export GEM_HOME=$GEM_HOME sig () { test -s "$PID" && kill -$1 `cat $PID` } oldsig () { test -s $old_pid && kill -$1 `cat […]
我在NGINX上有以下简单的服务器块: server { listen 80; listen 8090; server_name domain.com; autoindex on; root /home/docroot; location ~ \.php$ { include /usr/local/nginx/conf/fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/docroot$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; } } 在我的主机文件中包含相关设置后,出现以下(意外)行为: http://domain.com/和http://domain.com:8090/正常工作; http://domain.com:8090/future-cell-phone-technology-01-150×150.jpg作品; http://domain.com/future-cell-phone-technology-01-150×150.jpg – >错误! “连接被重置” (注意 – 在http后面添加一个空格,以避免链接保护,但这并不是真正的促销) 我已经排除故障(3)几个小时,我无法确定罪魁祸首。 我在Debian 6.0.2 32位上运行了NGINX 1.0.10(最新版本)。 这NGINX实例运行另外40或50个站点没有问题。
我正在运行托pipe平台来发布Markdown文档。 目前我为每个用户提供了一个子域名,但是现在头号请求是自定义域名。 我的服务器堆栈是NGINX和uWSGI来处理用户活动和报告工具。 所发布的文档是从NGINX直接输出的。 我还没有解决function要求,但我一直在做一些研究,目前看来我可以通过使用redis2和lua模块来解决它。 这两个模块一起应该处理查询传入的主机头对redis中的键值表来匹配域和用户文件夹。 我会爱你的想法和经验,尤其是潜在的问题,可能会出现什么,以及要看什么。 奖金:任何人都有第三方域名提供商的良好经验,要么通过API销售,并收集每个买域名推荐费?