我想用NGINX部署一个简单的Ruby Rack服务.我在互联网上阅读了各种各样的东西,其中没有一个是有用的.让我说我有这个(实际上它有点复杂,但仍然<200行代码服务):
require 'rack'
class HelloWorld
def call(env)
[200, {"Content-Type" => "text/plain"}, ["Hello world!"]]
end
end
Rack::Handler::Mongrel.run HelloWorld, Port: 9292
Run Code Online (Sandbox Code Playgroud)
我想知道用NGINX部署它的最佳方法是什么.也许是FCGI还是其他什么?
小智 15
这是一个基本的nginx配置,用于你正在使用的案例unicorn
/ thin
解决方案:
upstream rack_upstream {
server 127.0.0.1:9292;
}
server {
listen 80;
server_name domain.tld;
charset UTF-8;
location / {
proxy_pass http://rack_upstream;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~* ^.+\.(jpg|jpeg|gif|png|css|js)$ {
root /path/to/static/files;
}
}
Run Code Online (Sandbox Code Playgroud)
如果你以root身份运行nginx,你就可以在端口80上为你的站点提供服务.
否则listen 80
改为listen SOME-AVAILABLE-PORT
替换domain.tld
为您的站点名称
你也可以在(jpg|jpeg|gif|png|css|js)
正则表达式中添加nginx服务的文件扩展名,并用它们分隔|
更多信息请访问:
http://wiki.nginx.org/DirectiveIndex
http://wiki.nginx.org/ServerBlockExample
http://wiki.nginx.org/FullExample
归档时间: |
|
查看次数: |
6205 次 |
最近记录: |