如何将nginx连接到我的java模块
我是这个话题的初学者,我需要一些有用的文章和你的指导。如何将nginx连接到我的java模块,java,web-services,rest,nginx,Java,Web Services,Rest,Nginx,我是这个话题的初学者,我需要一些有用的文章和你的指导。 我想构建RESTFulAPI web服务。作为选择的http服务器nginx。但我不知道(找不到任何文章)如何将查询重定向到java模块,该模块处理请求并在JSON中返回到nginx。如果我对后端类型的看法不正确,请帮助我解决这个问题……您需要在自己的应用服务器中构建Java服务——Tomcat将是一个不错的选择。从这里开始,只需配置nginx作为Tomcat的代理即可。您的nginx配置将如下所示: user www-data; work
我想构建
RESTFul
API web服务。作为选择的http服务器nginx
。但我不知道(找不到任何文章)如何将查询重定向到java模块,该模块处理请求并在JSON
中返回到nginx
。如果我对后端类型的看法不正确,请帮助我解决这个问题……您需要在自己的应用服务器中构建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.
这里最重要的是代理\u pass
的设置。这就是告诉nginx接受端口80上的请求并将它们重定向到端口8080(Tomcat的标准端口) 我们可以用java、clojure或groovy编写内容处理程序、重写处理程序、访问处理程序和头过滤器。e、 g
在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
};
}
}
package-mytest;
导入java.util.Map;
导入nginx.clojure.java.ArrayMap;
导入nginx.clojure.java.NginxJavaRingHandler;
导入静态nginx.clojure.MiniConstants.*;
公共类HelloService实现NginxJavaRingHandler{
@凌驾
公共对象[]调用(映射请求){
返回新对象[]{
NGX_HTTP_OK,//HTTP状态200
create(CONTENT_TYPE,“text/plain”),//头映射
“你好,Java&Nginx!”//响应主体可以是字符串、文件或数组/字符串或文件的集合
};
}
}