我尝试使用Nginx自带的基本HTTP身份validation来确保几个位置的安全,但由于某些原因,它不起作用。 我有: website.com/admin(用户ADMIN可访问)website.com/admin/secret.php(只能由用户SECRET访问) 我曾经在Lighttpd中工作过: "/admin/secret.php" => ( "method" => "basic", "realm" => "Server Administrator", "require" => "user=SECRET" ), "/admin" => ( "method" => "basic", "realm" => "Administrators", "require" => "user=ADMIN" ) 任何想法如何可以转换为Nginx。 我已经尝试了以下,但只有ADMIN会要求input密码: location /admin/secret.php { auth_basic "Restricted"; auth_basic_user_file /home/passwords/SECRET; try_files $uri = 404; fastcgi_pass localhost:9000; } location ^~ /admin/.+\.php$ { auth_basic "Restricted"; auth_basic_user_file /home/passwords/ADMIN; […]
经过很长时间的共享主机,我正在把我的东西移动到一个VPS,并有必要了解Nginx + uWSGI部署我的应用程序(python)。 花了几个星期的时间学习基础知识之后,我正在设置我的本地机器(ubuntu 11.04)在Nginx + uWSGI上运行我的应用程序。 我正在使用“Hello world”Ubuntu 10.10 linode指南 。 设置很简单,但是当我运行http://localhost/或http://127.0.0.1我每次都得到一个502 Bad Gateway。 欣赏如何让设置工作的指针。 我的nginx.conf: [我备份了默认的nginx conf(工作正常,当我打到http://localhost/时显示“Welcome to Nginx”),并用linode指南中的这个自定义nginx conf取而代之,它把nginx链接到uWSGI服务器。 ] worker_processes 1; events { worker_connections 1024; } http { server { listen 80; server_name localhost; access_log /srv/www/myHostname/logs/access.log; error_log /srv/www/myHostname/logs/error.log; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9001; } location /static { root /srv/www/myHostname/public_html/static/; […]
同样在Apache中有一种方法可以在nginx中设置多个头文件? location ~.*\.(css|html|js)$ { expires 30d; 我目前有这样的设置,但是我想让js和css在90天后过期。 那可能吗?
我有大约50个相同的域名与不同的tld类似:domain.net,domain.org,domain.de,domain.biz,domain.ca …现在我想转发所有传入的请求到这个域有和没有www在Nginx的: http : //domain.com我怎么能做到这一点,而不需要列出每个域? 像这样:将所有请求转发到.domain。 或域。*到: http : //domain.com永久
我有两个在两台Linode服务器上运行的站点。 当我重新启动服务器#1时,它会立即再次自动启动NGINX 当我重新启动服务器#2,它不! 我怎样才能configuration我的服务器,以便重启服务器时重启NGINX? 提前致谢… 博
到目前为止,我一直在尝试使用uWSGIreplace构build的许多kludgy服务器代码,并在监督下为Python wsgi应用程序进行设置。 我正在同时运行几十个这样的小项目(Django,Flask等)。 目前我在Virtualhost模式下运行,我允许NGINX基本上调用应用程序。 但是,似乎重新加载function“触摸重新加载”是为了一个特定的文件。 有没有办法使用“触摸重新加载”来监视正在运行的模块,通过指定每个站点或自动? 或者有没有办法让触摸重新加载被configuration为每个应用程序? 我也看到了皇帝模式,这似乎可能是一个稍微不好的替代品,但我不确定我的用例是否会导致数十甚至数百个进程产卵。 我喜欢虚拟主机模式,因为它基本上共享了所有应用程序的工作者池,这对我来说似乎是最有效的。 当前configuration: uWSGI <uwsgi> <vhost-host/> <master/> <gid>www-data</gid> <uid>www-data</uid> <catch-exceptions/> <socket>/var/tmp/uwsgi.sock</socket> <chmod-socket/> <idle>300</idle> <processes>6</processes> <no-orphans/> <enable-threads/> <reload-mercy>5</reload-mercy> <threads>10</threads> <no-default-app/> <touch-reload/> <!– <reload-on-rss>128</reload-on-rss> Reload at 128MB of RSS (memory usage) –> </uwsgi> 更新: 在做了一些关于uWSGI如何处理closures空闲工作人员的研究后,我想我终究需要皇帝模式。 我想要做的是让很less使用的应用程序不占用资源,而且使用的应用程序占用更多的资源。 我试图做到这一点,同时保持一个像PHP-FPM一样简单的托pipe部署。 虚拟模式实现了这一点,但似乎closures所有的工作人员,只有所有的应用程序已经空闲,这是没有用的,如果任何应用程序收到稳定的stream量。 如果不真实,我很乐意在这个问题上予以纠正。 使用皇帝模式的缺点是我将不得不为每个应用程序(Blech!)制作套接字文件和configuration文件。 我仍然想知道是否有可能实现上述每个应用程序重新加载。
我安装了nginx,并在Amazon EC2中的Ubuntu 11.04上显示了默认页面。 如何设置一个网站的多个域名服务器,并通过亚马逊EC2托pipe? 我已经在使用EBS图像,并经常拍摄快照。 我真的只需要帮助build立和注册与nginx和亚马逊的EC2服务的名称服务器。
我遇到了一个我以前没有遇到的问题,并且很好奇,看看这里有没有人可能对造成这个问题有什么想法。 我们从Slicehost运行一个VPS,昨天有一段时间,我们主机的网站出现故障(在我对服务器做了任何事情之后,正常工作了好几个月),但只有那些通过HTTP(使用端口8080)的网站。 HTTPS站点(标准端口)仍在运行, 如果它们是专门使用https://site.com访问的(而不是放入site.com并让redirect工作)以及SSH连接直接连接到服务器。 它一直呆到今天早上。 我重新启动服务器,但没有帮助。 我SSH进入,并确保一切正常,运行正常。 Nginx日志或其他日志中没有错误信息。 但是,没有任何改变。 突然间,大概半小时后,我正在寻找原因,网站又开始工作了。 我从来没有发现什么可能导致这个问题(我发现的一切都是客户端问题),所以我很好奇,可能会导致这个问题。 这样,如果再发生这样的事情,我可以更好地诊断和修复它。
我成功地能够设置nginx和Apache组合服务wordpress博客的帮助下, 这个网站 。 我完全遵循该网站提供的所有代码,以下是我的博客和子博客的目录结构。 main.com(wordpress) —/mainBlog(wordpress) 在冲浪(main.com)时我没有任何问题,但有时,如果我打电话 http://main.com/mainBlog 浏览器被redirect到 http://main.com:8080/mainBlog 并从浏览器中得到“无法连接到服务器”的错误。 “8080”被用作代理端口,其中nginx将所有dynamic内容stream量传输到Apache。 但是如果我再次在同一个地址栏中input这个http://main.com/mainBlog ,问题就会消失。 如果用户不知道要重新加载没有“8080”端口的页面,这会很麻烦。 编辑:我刚刚发现,如果我离开斜线在URL的末尾,我得到了这个问题,但如果我把斜线,没有问题。 我可以在哪里定义这个问题?
我试图添加一个模块到现有的Django项目,但一旦我完成了它,我得到一个502错误。 服务器正在运行Ubuntu。 我不认为它与应用程序代码有关,因为我在django开发服务器上运行它。 当我从settings.py中取出应用程序的名字并重新启动gunicorn时,它就会消失。 这是日志的一部分 2011/07/15 01:24:45 [error] 16136#0: *75593 connect() failed (111: Connection refused) while connecting to upstream, client: 24.17.8.152, server: staging.site.org, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8020/", host: "staging.site.org" 这是nginxconfiguration文件。 Nginx的configuration文件 我不确定还需要其他信息。 不知道gunicorn日志所在的位置。 我的服务器pipe理技能是缺乏的。 我应该做些什么来弄清问题的起点。