我最近在Ubuntu 10.04上安装了Nginx,试图学习如何在Apache上使用它。 我使用aptitude进行安装。 我在/etc/nginx/sites-available下正确设置了一个虚拟主机,并创build了一个到/etc/nginx/sites-enabled的符号链接,并删除了默认值。 该网站工作正常,直到我手动编辑aptitude源文件并执行升级,现在我注意到我分配的虚拟主机被覆盖/etc/nginx/conf.d的新configuration文件。 如何恢复从/sites-enabled目录中检测虚拟主机? 为什么nginx检测到虚拟主机的更新发生了变化?
我使用树脂(tomcat)在nginx(apache)中parsingJSP文件,如下所示: location ~ \.jsp { // 88 is resin(tomcat) port proxy_pass http://localhost:88; } 我应该激活keepalive树脂(tomcat)?
早上好! 我有在运行GWT应用程序的docker6前面设置nginx。 我试图转发的IP地址,所有我在网上find的答案告诉我这样做: proxy_pass http://localhost:8080; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 这工作得很好,除了jetty的日志不显示X-Real-IP,他们显示127.0.0.1。 另外,jetty / GWT对于getThreadLocalRequest().getRemoteAddr()具有127.0.0.1,但是我可以访问X-Real-IP来获得正确的远程IP。 任何想法如何获得正确的远程ip为jetty日志,也getThreadLocalRequest().getRemoteAddr()正常工作? 谢谢!
你有什么想法,是否有任何更容易的解决scheme来传递请求到不同的上游基于访客的IP地址? 我目前唯一find的解决scheme是: upstream live { ip_hash; server 10.0.0.1; } upstream test { ip_hash; server 10.0.0.2; } location / { if ($remote_addr = "10.0.0.101") { proxy_pass http://test; } proxy_pass http://live; // the rest of the bla bla } 这解决了这个问题,如果你只是“位置”,只有一个IP地址,应该去“testing”上游。 包含configuration文件(不工作)时,我尝试了if语句。 我也试图把当上游声明的时候(相同,不工作)。 所以,如果有人正在做类似的事情,将不胜感激(我敢肯定,我不是唯一有这个问题的人)。 我需要这个解决scheme让我们的开发人员testing真正的环境…这是因为我们使用的支付解决scheme允许我们只从当前的基础设施发送请求。 谢谢。
http://很好,但是,如果我试图访问https://主机,我得到一个错误,说:“加载页面时重置服务器的连接。 (Firefox 8)。 此外,简单地joinlisten 443 ssl default; 弄乱了另一个SSL vir server { listen 443 ssl default; server_name _; server_name_in_redirect off; #rewrite ^ http://$server_name$request_uri? permanent; rewrite ^ http://$host$request_uri? permanent; } server { listen 80 default; server_name _; server_name_in_redirect off; root "/var/www/virtualhosts/dev.anuary.com/default"; include /etc/nginx/anuary_location_php; }
我有一个服务器上的多个webapps,每个在一个单独的端口: HTTP://本地主机:8080 HTTP://本地主机:8081 现在,我试图在前台使用nginx作为代理服务器。 目标是使用webapps.local.domain / mywebapp1和webapps.local.domain / mywebapp2而不是上面的URL。 我试过这个,但是没有成功: server { listen 80; server_name webapps.local.domain; access_log /var/log/nginx/webapps.local.domain-access.log; location /mywebapp1 { proxy_pass http://127.0.0.1:8080; proxy_redirect http://127.0.0.1:8080 /mywebapp1/; } } 这将加载webapp的第一页的HTML。 但没有CSS,图像和其他任何东西。 我的错在哪里?
我下载并提取了nginx源文件到〜/ nginx-1.0.11,然后直接下载了PCRE 8.20,因为最新版本的Passenger安装程序无法自动下载。 我做了典型的./configure,make,sudo make install,默认把它放在/ usr / local / lib中。 到现在为止还挺好。 使用passenger-install-nginx-module并指定源目录为/home/username/nginx-1.0.11就行了。 当我用/ opt / nginx / sbin / nginx -t运行语法检查时,我被告知无法findlibpcre.so.0。 我对nginx运行了ldd,得到了以下结果: linux-vdso.so.1 => (0x00007fff1dd7b000) libpthread.so.0 => /lib/libpthread.so.0 (0x00007fbfcde57000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fbfcdc1e000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fbfcd909000) libm.so.6 => /lib/libm.so.6 (0x00007fbfcd686000) libpcre.so.0 => not found (truncated after this line) 由于nginx能够在/ usr / lib中find文件,我用./configure –prefix […]
我有一个严重依赖websocket的Node.js应用程序。 我想redirect任何人尝试通过http(80)访问它到https(443)。 我会使用nginx,但它不能很好地与websockets。 没有其他服务需要在服务器上运行。 什么是做这个redirect的最佳方式?
我有一个VPS服务2个WordPress的安装。 使用清漆> Nginx> PHP-FPM现在我在nginx的conf.d文件夹中有这个: domain1.com.conf domain2.com.conf 一个域的configuration示例如下所示: server { server_name domain1.com www.domain1.com *.domain1.com; listen 127.0.0.1:81; expires max; root /home/domain1.com; index index.php; Varnish的默认VCL文件: backend default { .host = "127.0.0.1"; .port = "81"; .connect_timeout = 600s; .first_byte_timeout = 600s; .between_bytes_timeout = 600s; } 所有的域都有相同的监听值,127.0.0.1:81。 如何使Varnish实际提供正确的域的caching版本?
我有一些运行nginx的文件托pipe服务器,提供平均大小从500MB到6GB的静态文件。 服务器使用Lustre1.8作为集群文件系统。 文件保留在条带大小= 512KB的raid6arrays上。 在正常情况下,nginx工作得很好。 _磁盘I / O:设备:tps MB_read / s MB_wrtn / s MB_read MB_wrtn sdc 727.00 136.23 5.75 136 5 sdd 627.00 124.36 0.01 124 0 _出车: iface Rx Tx总数 eth2:480.00 b / s 551.30 Mb / s 551.30 Mb / s eth3:480.00b / s 481.72Mb / s 481.72Mb / s eth4:136.47 Mb […]