Tag: Nginx

使用Nginx从一台服务器提供两个站点

我有一个Rails应用程序,并在我的服务器上运行,现在我想添加另一个。 我希望Nginx检查请求是什么,并根据域名拆分stream量 这两个站点有自己的nginx.conf符号链接到网站启用,但我得到一个错误开始nginx Starting nginx: nginx: [emerg] duplicate listen options for 0.0.0.0:80 in /etc/nginx/sites-enabled/bubbles:6 他们都在80听,但不同的事情。 站点#1 upstream blog_unicorn { server unix:/tmp/unicorn.blog.sock fail_timeout=0; } server { listen 80 default deferred; server_name walrus.com www.walrus.com; root /home/deployer/apps/blog/current/public; location ^~ /assets/ { gzip_static on; expires max; add_header Cache-Control public; } try_files $uri/index.html $uri @blog_unicorn; location @blog_unicorn { proxy_set_header X-Forwarded-For […]

为什么许多Unix程序使用像USR1这样的信号?

许多Unix程序都接受像USR1和USR2这样的信号。 例如,要快速升级Nginx的可执行文件,请发送kill -USR2 。 我知道USR1是一个“用户自定义”的信号,意思是说创build这个程序的人可以用它来表示“closures”或“转储你的日志”或“打印上千次”等等。 但我不明白为什么他们必须使用这个任意的名字。 为什么不kill -UPGRADE ,或者kill -GRACEFUL_SHUTDOWN ? Unix只允许特定的信号? 当我们处理它时,Nginx也使用以下信号(参见文档 ): TERM,INT :快速关机 退出 :优雅的关机 HUP : configuration重新加载 用新configuration启动新的工作进程 优雅地closures旧的工作进程 USR1 :重新打开日志文件 USR2 :即时升级可执行文件 WINCH :正常closures工作进程 HUP? 绞盘? 这些名字的原因是什么? 我在哪里可以了解更多关于这个?

在生产中,Apache + mod_wsgi或Nginx + mod_wsgi?

什么用于大型的python WSGI应用程序,Apache + mod_wsgi或Nginx + mod_wsgi? 哪种组合需要更多的内存和CPU时间? 哪一个更快? 哪一个比另一个更稳定? 我也想使用CherryPy的WSGI服务器,但是我听说它不太适合一个非常高负载的应用程序,你对此有什么了解? 注意 :我没有使用任何Python Web框架,我只是从头开始编写整个事情。 注意 :其他build议也是受欢迎的。

事件源/服务器 – 通过Nginx发送事件

在服务器端使用Sinatra和stream块。 get '/stream', :provides => 'text/event-stream' do stream :keep_open do |out| connections << out out.callback { connections.delete(out) } end end 在客户端: var es = new EventSource('/stream'); es.onmessage = function(e) { $('#chat').append(e.data + "\n") }; 当我直接使用应用程序,通过http://localhost:9292/ ,一切工作完美。 连接是持久的,所有的消息都被传递给所有的客户端。 但是,当它通过Nginx, http://chat.dev ,连接被丢弃,重新连接每秒钟都会触发。 Nginx的安装程序看起来对我好: upstream chat_dev_upstream { server 127.0.0.1:9292; } server { listen 80; server_name chat.dev; location / […]

连接到上游时,nginx:connect()失败(111:连接被拒绝)

试图部署我的第一个门户。 当我通过浏览器发送请求时,浏览器中出现502网关超时错误 当我检查日志时,我得到了这个错误 2014/02/03 09:00:32 [error] 16607#0: *1 connect() failed (111: Connection refused) while connecting to upstream, client: 14.159.131.19, server: foo.com, request: "GET HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "22.11.180.154" 是否有任何与权限有关的问题

将http的EC2 elb从httpredirect到https

我想将所有http请求redirect到elb上的https请求。 我有2个EC2实例。 我正在使用nginx的服务器。 我已经尝试重写nginx的conf文件没有任何成功。 我会喜欢它的一些build议。

Nginx的variables类似于Apache中的SetEnv?

我在Apache中使用SetEnv来设置虚拟主机中的一些variables,我使用$_SERVER[the_variable]在PHP中恢复。 现在我正在切换到Perl Catalyst和Nginx,但似乎Nginx中的“env”指令是不一样的。 这是行不通的。 如何完成? 这里是背景图片,以防万一有人可以提出更好的方法,或者我以前的系统不能用于Nginx。 我为许多域使用相同的应用程序。 所有的数据来自不同的数据库,具有相同的结构。 数据库名称在该环境variables中硬编码到虚拟主机。 因为我知道数据库的名字,所以所有的查询都会从第一个查询开始到相应的数据库。 我可以有多个域使用相同的数据库,只是包括相同的variables到指令。

nginx和网站上的多个网站可用

通过nginx的基本安装,您的sites-available文件夹只有一个文件: default sites-available文件夹是如何工作的?我将如何使用它来托pipe多个(单独的)网站?

nginx错误“冲突的服务器名称”忽略

server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 #root /usr/share/nginx/www; root /home/ubuntu/node-login; # Make site accessible from server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com; location /{ proxy_pass http://127.0.0.1:8000/; proxy_redirect off; } } 这导致nignx错误[警告]冲突的服务器名称“ec2 …”在0.0.0.0:80忽略我不明白,任何解释赞赏。 谢谢。

Nginx:stat()失败(13:权限被拒绝)

我正在使用默认configuration,同时在我的Ubuntu 12.04机器上安装nginx添加特定的目录。 server { #listen 80; ## listen for ipv4; this line is default and implied #listen [::]:80 default ipv6only=on; ## listen for ipv6 index index.html index.htm; # Make site accessible from http://localhost/ server_name localhost; location / { # First attempt to serve request as file, then # as directory, then fall back to index.html […]