我是这个主题的真正初学者,我需要一些有用的文章和你的指导。我想构建RESTFul
API Web 服务。作为http服务器选择nginx
。但我不知道(找不到任何文章)任何关于如何将查询重定向到我的 java 模块的信息,该模块处理请求并返回JSON
到nginx
. 如果我对后端类型的想法不正确,请帮助我弄清楚这一点......
问问题
5744 次
2 回答
8
您需要在自己的应用服务器中构建您的 Java 服务——Tomcat 将是一个不错的选择。nginx
从那里开始,配置为 Tomcat 的代理就很简单了。您的nginx
配置将如下所示:
user www-data;
worker_processes 4;
pid /var/run/nginx.pid;
events {
worker_connections 4096;
# multi_accept on;
}
http {
server {
listen 80; #incoming port for nginx
server_name localhost;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
#...and other things, like basic settings, logging, mail, etc.
这里的重要部分是设置proxy_pass
。这说明nginx
接受端口 80 上的请求并将它们重定向到端口 8080(Tomcat 的标准端口)。
于 2013-01-12T19:14:51.317 回答
3
使用nginx-clojure,我们可以在 java、clojure 或 groovy 中编写内容处理程序、重写处理程序、访问处理程序和标头过滤器。例如
在 nginx.conf
location /java {
content_handler_type 'java';
content_handler_name 'mytest.HelloService';
}
HelloService.java
package mytest;
import java.util.Map;
import nginx.clojure.java.ArrayMap;
import nginx.clojure.java.NginxJavaRingHandler;
import static nginx.clojure.MiniConstants.*;
public class HelloService implements NginxJavaRingHandler {
@Override
public Object[] invoke(Map<String, Object> request) {
return new Object[] {
NGX_HTTP_OK, //http status 200
ArrayMap.create(CONTENT_TYPE, "text/plain"), //headers map
"Hello, Java & Nginx!" //response body can be string, File or Array/Collection of string or File
};
}
}
于 2015-08-08T04:00:18.887 回答