Articles of nginx

为什么try_files将每个path追加在一起?

我正在使用这样的try_files : http { 服务器{ error_log / var / log / nginx debug; 听127.0.0.1:8080; 位置 / { 索引closures default_type application / octet-stream; try_files / files1 $ uri / files2 / $ uri / files3 $ uri; } } } 在错误日志中,它显示了这一点: * [错误] 15077#0: 45399在内部redirect到“/files1/files2/files3/path/to/my/image.png”,client:127.0.0.1,server:,request:“GET /path/to/my/image.png HTTP / 1.1“,主机:”mydomain.com“,引荐来源:” http://mydomain.com/folder “ 谁能告诉我为什么/files1/files2/files3/path/to/my/image.png正在寻找/files1/files2/files3/path/to/my/image.png而不是/files1/path/to/my/image.png /files2/path/to/my/image.png和/files3/path/to/my/image.png ? 谢谢

Nginx(openresty)生成随机数字

我有openresty设置在服务器上(包括lua模块的nginx包),我试图创build一个脚本,具有在用户的浏览器上设置cookie的特定几率。 我的代码如下所示: location =/index.php { set $random_num 0; rewrite_by_lua ' marth.randomseed(1); nvx.var.random_num = math.random(0,3); '; add_header Set-Cookie "random_num=$random_num; path=/; domain=…com;"; } 我知道我的随机种子函数实际上并不是非常随机的,但我想我会在稍后处理。 目前我只是试图让nginx设置一个随机数,但这样做会产生这个错误: 2012/07/11 11:27:20 [error] 5492#0: *44 lua handler aborted: runtime error: [string "rewrite_by_lua"]:3: attempt to ind ex global 'marth' (a nil value) stack traceback: 任何人都可以告诉我我做错了什么,如果有任何其他的方式来获得一个在Nginx的随机数字?

负载平衡器 – >清漆 – > Nginx

我现在头痛了几个小时,想看看有没有人可以帮忙。 1)我有一台负载均衡器,后端有6台服务器。 2)后台服务器是Nginx,为了获得访问者的真实IP地址,我只需要在每个Nginx安装中进行以下操作,我就可以得到每个访客的真实客户端IP地址。 set_real_ip_from 192.168.255.0/24; <– to handle the load balancer IP real_ip_header X-Forwarded-For; 3)现在,我已经在每个在127.0.0.1上执行caching的Nginx前安装了Varnish,由于某种原因,现在Nginx并没有看到来自LoadBalancer的实际客户端IP地址 – > Varnish – > Nginx 这是打印以下内容: IP地址:192.168.255.9 < – 这应该是真正的客户端IP地址,而不是192.168(假设正在打印负载均衡器IP地址) 更详细的主机地址:192.168.255.9 很多谢谢,如果你能帮助。 戴夫 更新: 没有清漆的方程中,我有以下LB – > NGINX和NGINX内存在 set_real_ip_from 192.168.255.0/24; real_ip_header X-Forwarded-For; 当NGINXloggingremote_addr时,下面的第一个条目打印真实的客户端IP地址 log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; 213.205.234.x – […]

类似Cherokee的WebUI for nginx

有没有提供类似切诺基的Webpipe理面板的nginx模块? pipe理虚拟服务器和其他东西会非常有帮助。 我正在寻找它,因为我喜欢nginx这个速度和简单,但切诺基有很好的pipe理WebUI。

如何在nginx虚拟主机中添加open_basedirpath

在php.ini中我已经设置 open_basedir = /home/user/web/ 现在我想在一个需要包含/ usr / share / phppgadmin文件的子域上运行phppgadmin。 所以我在这个主机的nginx-config中添加了下面一行: fastcgi_param PHP_VALUE open_basedir="/home/user/web/:/usr/share/phppgadmin/"; 并重新启动了nginx。 但是,由于以下错误,我无法访问该网站: (错误)31440#0:* 1在stderr中发送了FastCGI:“PHP警告:include_once():open_basedir限制有效,文件(/usr/share/phppgadmin/libraries/lib.inc.php)不在允许的path( / home / user / web /)在/usr/share/phppgadmin/info.php在第10行 可能是第二条路不在这里列出的原因? 还有什么需要添加open_basedir到虚拟主机? 我只使用/ sites-available中的默认文件。 编辑总是想到重新启动fpm … service php5-fpm restart

Linux符号链接不按预期工作

我以前曾经多次达到我的“目标”,但却遇到了我以前从未遇到过的一个问题。 我在Ubuntu 12.04 LTS上安装了Nginx的networking服务器。 我有我的系统设置的方式,我通常会试图创build一个符号链接的网站“虚拟主机”从站点可用的站点启用目录。 通常,这是从主nginx目录(以root用户身份)实现的: ln -s /etc/nginx/sites-available/site.com /etc/nginx/sites-enabled/site.com 虽然我可以进入启用的目录,并查看符号链接“工作”,当我尝试直接在启用站点的目录中编辑文件时,我看到该文件是空白的,并被视为新文件。 因此,我的服务器不能按预期工作,页面不加载。 当我只是硬拷贝或硬链接到目录的文件: l /etc/nginx/sites-available/site.com /etc/nginx/sites-enabled/site.com 它没有任何问题。 然而,我坚持使用同一个文件的两个副本,而且没有符号链接。 这是怎么回事? 注意:这里是我当前的Nginx目录的结构: [email protected]:/ etc / nginx#ls -l 总计44 drwxr-xr-x 2 root root 4096 Mar 4 17:28 conf.d -rw-r – r– 1 root root 964 Feb 12 08:41 fastcgi_params -rw-r – r– 1 root root 2837 Feb 12 […]

一起使用nginx的try_files和autoindex

我有以下服务器configuration: server { listen 80; server_name _; root /var/www/; location /calendars/ { autoindex on; try_files $uri.ics $uri =404; } } 如果期望得到访问http://example.com/calendars/的autoindex页面,但是我得到一个404 File not found错误,而不是。 我想让服务器做这样的伪代码: if($uri is directory) { if(one of index pages exists in directory) { show index page; } else { show autoindex page; } } else { if($uri.ics exists) { show $uri.ics; […]

如何禁用清漆X Forwarded For标题

我正在使用nginx <=>清漆<=> apache 我通过nginx proxy_set_header通过客户端IP清漆X-Forwarded-For $ remote_addr; 但清漆也添加X-Forwarded-For为127.0.0.1,所以Apache显示2个IP的逗号为基础。 我需要通过nginx发送IP只我想禁用添加127.0.0.1清漆 清漆版本3.0.0这里是default.vcl 后端默认{.host =“204.29.58.4”; .port =“80”; } sub vcl_recv {if(req.http.Range){return(pipe); }}

无法从uwsgi加载configuration

由于昨天我一直在摔跤这个问题:无法从uwsgi加载configuration 当我谷歌,没有出现。 我想用一个非常简单的uwsgi.ini文件在nginx下运行UWSGI。 该文件被正确指向。 任何人都可以请解释这个错误是什么,以及如何可以诊断和修复它。 如果有更多的信息,我可以发布帮助,然后请只问。 问候, 詹姆士

nginx http server_names_hash_bucket_size

我最近在我的服务器上安装了GitLab&nginx。 一切顺利,但是,我在server_names_hash_bucket_size & server_names_hash_max_size有问题。 我需要增加它,但是我对nginx文档感到困惑。 我不知道把http {}包含在哪里。 我的configuration如下: http { server_names_hash_bucket_size 64; server_names_hash_max_size 512; } server { listen *:80; # eg, listen 192.168.1.1:80; In most cases *:80 is a good idea server_name gitkeeper.adtaco.com; # eg, server_name source.example.com; server_tokens off; # don't show the version number, a security best practice root /home/git/gitlab/public; # individual nginx logs […]