当前位置: 首页 > 后端技术 > Node.js

Nginx反向代理:以node项目为例实现多虚拟主机,对JavaSpring项目适用

时间:2023-04-03 15:12:51 Node.js

Nginx反向代理:以node项目为例,实现多虚拟主机,适用于JavaSpring项目多node项目。而且,我们想通过不同的域名访问不同的节点程序。这种情况下,我们就需要使用反向代理来实现端口分发,满足我们的需求。这里主要介绍如何使用Nginx实现反向代理。之所以选择Nginx作为反向代理,是因为我接手的项目正在使用Nginx。另一个原因是因为我之前知道如何使用Nginx为不同的域名配置https证书,所以我没有想过使用nodejs来做。方向代理。如果有人问,这两种方式哪种性能更好?抱歉,我自己没有测试过。Nginx反向代理,基本与后台语言或框架无关,最近证实也适用于JavaSpring项目。使用场景需要在同一台服务器上运行多个web服务器项目;每个项目使用不同的端口;需要通过不同的域名或者子域名,访问不同的web服务器服务Nginx来安装Nginx的安装方法,网上有很多教程,这里就不赘述了,推荐一篇博客:《centos 6.5下编译安装、配置高性能服务器Nginx(安装笔记)》Nginx反向代理安装完Nginx后,找到Nginx的配置文件:nginx.conf(centOS默认安装的情况下,一般在以下路径:/usr/local/nginx/conf/nginx.conf)在里面新建一个vhost文件夹nginx.conf文件所在的目录。(用于统一存放各个虚拟主机的配置文件,方便以后管理,其他名称也可以)。进入虚拟主机文件夹并创建一个新的demo_host.conf文件。(不需要相同的文件名,但建议使用域名或子域名作为文件名,方便以后修改)在demo_host.conf文件中,写入如下内容:upstreamyourhost{server127.0.0.1:3000;保活64;}服务器{听80;server_nameyourhostname.com;access_log/var/log/nginx/demohost.log;location/{proxy_set_headerX-Real-IP$remote_addr;proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;proxy_set_header主机$http_host;proxy_set_headerX-Nginx-Proxytrue;proxy_set_header连接“”;proxy_passhttp://你的主机;}}下图说明:特别强调:多个.conf中的upstreamyourhost函数不能重命名,否则Nginx会报警告,只有一个.conf生效如果需要为该域名配置https证书,你只需要做如下改动:最后在nginx.conf文件中添加如下代码include/usr/local/nginx/conf/vhost/*.conf;导入位置如下:Done。重启nginx后,反向代理就会生效。后记如果想创建多个虚拟主机,以后只需要在vhost文件夹下新建一个.conf文件即可