使用Nginx要在同一個域名下配置多個項目有兩種方式:
- nginx按不同的目錄分發給不同的項目
- 啟用二級域名,不同的項目分配不同的二級域名
1.nginx按不同的目錄分發給不同的項目:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
server { listen 80; server_name example.com; location ^~ /project1 { proxy_pass http: //localhost :8081; 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 ^~ /project2 { proxy_pass http: //localhost :8082; 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 / { proxy_pass http: //localhost :8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } |
這里配置了三個項目:
- http://example.com/project1路徑分發到http://localhost:8081
- http://example.com/project2路徑分發到http://localhost:8082
- 其他路徑分發到http://localhost:8080
2.啟用二級域名,不同的項目分配不同的二級域名
注意:很多同學說無效,原因是一定要先對二級域名添加A記錄到主機,同一個域名可以添加N個二級域名到同一個主機
1
2
3
4
5
6
7
8
9
10
|
server { listen 80; server_name example.com; location / { proxy_pass http: //localhost :8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } |
project1
1
2
3
4
5
6
7
8
9
10
|
server { listen 80; server_name project1.example.com; location / { proxy_pass http: //localhost :8081; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } |
project2
1
2
3
4
5
6
7
8
9
10
|
server { listen 80; server_name project2.example.com; location / { proxy_pass http: //localhost :8082; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } |
注意:這三個項目屬于不同的域名,項目之間通過http訪問會存在跨域問題。
到此這篇關于Nginx同一個域名配置多個項目的實現方法的文章就介紹到這了,更多相關Nginx同域名配置多項目內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/cc_want/article/details/83780435