Use
‘proxy_pass’ to forward requests to respective servers.
Set up
the application
Clone
this repository.
$ git clone https://github.com/harikrishna553/nginx.git
Cloning into 'nginx'...
remote: Enumerating objects: 23, done.
remote: Counting objects: 100% (23/23), done.
remote: Compressing objects: 100% (10/10), done.
remote: Total 23 (delta 2), reused 23 (delta 2), pack-reused 0
Unpacking objects: 100% (23/23), done.
Cloned project
structure looks like below.
$ tree
.
└── nginx
├── notification-service
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── sample
│ └── app
│ ├── App.java
│ └── comtroller
│ └── NotificationController.java
└── user-service
├── pom.xml
└── src
└── main
└── java
└── com
└── sample
└── app
├── App.java
└── controller
└── UserController.java
17 directories, 6 files
Go to
'nginx/notification-service/' and execute 'mvn package' command.
Go to
'nginx/user-service/' and execute 'mvn package' command.
After
executing ‘mvn package’ command, you can see two jar files.
a.
notification-service-1.jar
b.
user-service-1.jar
$find . -name *jar
./notification-service/target/notification-service-1.jar
./user-service/target/user-service-1.jar
Run notification-service-1.jar
on port 9090.
Run user-service-1.jar
on port 9191.
Syntax
java -jar
{jarFile} -Dserver.port={portNumber}
java -jar
notification-service-1.jar --server.port=9090
java -jar
user-service-1.jar --server.port=9191
Open the
url ‘http://localhost:9090/’, you can see below screen.
Open the
url ‘http://localhost:9191/’, you can see below screen.
Update
nginx.conf file
nginx.conf
events { } http { include mime.types; server { listen 1234; server_name localhost; location /user { proxy_pass http://localhost:9191/; } location /notification { proxy_pass http://localhost:9090/; } } }
Start
nginx server, by executing the command ‘sudo nginx’.
$sudo nginx
Password:
$
$ps -eaf | grep nginx
0 51927 1 0 9:43PM ?? 0:00.00 nginx: master process nginx
-2 51928 51927 0 9:43PM ?? 0:00.00 nginx: worker process
188003303 51930 43914 0 9:44PM ttys001 0:00.00 grep nginx
Open the
url ‘http://localhost:1234/’, you will se nginx home page.
Open the url ‘http://localhost:1234/user’, you will receive the response from user service.
Open the url ‘http://localhost:1234/notification’, you will receive the response from notification service.
Similary
try with below urls.
No comments:
Post a Comment