本文场景
由于自己进行学习,所以只买了一台服务器,但是想弄多个项目部署在同一台机器上,通过不同的域名访问不同的项目。例如:
输入 www.xxx.com 访问的是服务器上8080端口的项目
输入 www.yyy.com 访问的是服务器上8081端口的项目
最后决定通过Nginx反向带来实现。
什么是Nginx反向代理?
反向代理(Reverse Proxy): 是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端
Nginx反向代理简单实现
准备一台服务器(该服务器的IP需要已经和域名进行解析,一个IP可以解析多个域名):
- 一个安装好的Nginx
- tomcat1 :127.0.0.1:8080
- tomcat2 :127.0.0.1:8081
安装完毕Nginx后,进入conf下面找到nginx.conf文件。
找到http下面的server,进行如下配置一个server表示一个代理
server {
listen 80;
server_name 域名A;
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;
}
}
server {
listen 80;
server_name 域名B;
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;
}
}
然后进入nginx/sbin下面 重启nginx
./nginx -s reload
重启之后,就可以通过域名A访问到服务器8080端口的项目了。