私はこのトピックの初心者です。役立つ記事とガイダンスが必要です。RESTFul
APIWebサービスを構築したい。選択したhttpサーバーとしてnginx
。JSON
しかし、リクエストを処理してに返すJavaモジュールにクエリをリダイレクトする方法については何も知りません(記事が見つかりませんでした)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 に答える