千家信息网

nginx+tomcat单个域名及多个域名配置教程

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,项目开发接近尾声,开始着手在生产环境部署项目,开发阶段部署项目都没用nginx。项目是采用SOA架构,多系统开发,主要包括服务系统、中台系统、后台系统、金融系统、接口系统、调度系统、报表系统等。这类分
千家信息网最后更新 2026年11月02日nginx+tomcat单个域名及多个域名配置教程

项目开发接近尾声,开始着手在生产环境部署项目,开发阶段部署项目都没用nginx。项目是采用SOA架构,多系统开发,主要包括服务系统、中台系统、后台系统、金融系统、接口系统、调度系统、报表系统等。这类分布式的系统,一般也都会用到nginx来做负载均衡。

从公司刚成立就进来,赶鸭子上架来做架构师,负责公司的所有研发事情,搭建公司的整个技术架构,起初的所有核心业务代码基本都由自己亲自把关来进行编码。系统也从最初的只有一个pc端,发展到如今pc中台、后台、android端3个app、iOS端3个app,产品越做越多,亲自负责招聘面试、培训。之前很多时候都有过无助和苦恼,因为负责公司整个架构,又要负责核心业务的编码,技术难点的攻克,新员工的招聘及培训,现在团队已经都发展到16个人,而且这全是研发人员。

回想这一路,觉得之前看似爬不过去的山也不过如此,也许这就是成长吧,成长总是会伴随些许汗水与泪水吧。由于是负责团队的所有事情,所以数据库的维护、迁移数据、建索引等性能优化,项目部署等所有事情必须得一肩挑,不要问我为什么公司没有DBA?为什么没有运维?我真的只能给你一个眼神,让你慢慢去体会。

话不多说,直接开始技术干货分享。

nginx做负载均衡的优势网上有很多介绍资料,这里我不再多做介绍。因为有很多系统要部署,涉及到域名、二级域名、多个域名等的部署。在实际的部署由于对nginx的不够熟悉,遇到过很多坑,其中这种多域名的配置,xxxx.com转发到www.xxxx.com、访问域名转发到tomcat里的项目等,现在先总结一部坑的解决办法。

如将xxxx.com这个域名指向8082端口里的tomcat项目,在做这个介绍前先讲个插曲,如访问xxxx.com需转向到www.xxxx.com,这一点很多人都会忽略。

现在如果要部署中台、后台、金融系统,找到nginx/conf/nginx.conf,修改配置:

upstream web{  server localhost:8082;}upstream admin{  server localhost:8083;}upstream finance{  server localhost:8084;}server {  listen    80;  server_name finance.xxxx.com;  #charset koi8-r;  #access_log logs/host.access.log main;  location / {    proxy_pass http://finance;    proxy_set_header Host $http_host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  }  #error_page 404       /404.html;  # redirect server error pages to the static page /50x.html  #  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  html;  }}server {  listen    80;  server_name www.xxx.com;  #charset koi8-r;  #access_log logs/host.access.log main;  location / {    proxy_pass http://web;    proxy_set_header Host $http_host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }  #error_page 404       /404.html;  # redirect server error pages to the static page /50x.html  #  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  html;  }  # proxy the PHP scripts to Apache listening on 127.0.0.1:80  #  #location ~ \.php$ {  #  proxy_pass  http://127.0.0.1;  #}  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  #  #location ~ \.php$ {  #  root      html;  #  fastcgi_pass  127.0.0.1:9000;  #  fastcgi_index index.php;  #  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;  #  include    fastcgi_params;  #}  # deny access to .htaccess files, if Apache's document root  # concurs with nginx's one  #  #location ~ /\.ht {  #  deny all;  #}}server {  server_name xxxx.com;  rewrite ^(.*) http://www.xxxx.com$1 permanent;}server {  listen    80;  server_name admin.xxxx.com;  #charset koi8-r;  #access_log logs/host.access.log main;  location / {    proxy_pass http://admin;    proxy_set_header Host $http_host;    proxy_set_header X-Real-IP $remote_addr;    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;        }  #error_page 404       /404.html;  # redirect server error pages to the static page /50x.html  #  error_page  500 502 503 504 /50x.html;  location = /50x.html {    root  html;  }  # proxy the PHP scripts to Apache listening on 127.0.0.1:80  #  #location ~ \.php$ {  #  proxy_pass  http://127.0.0.1;  #}  # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  #  #location ~ \.php$ {  #  root      html;  #  fastcgi_pass  127.0.0.1:9000;  #  fastcgi_index index.php;  #  fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;  #  include    fastcgi_params;  #}  # deny access to .htaccess files, if Apache's document root  # concurs with nginx's one  #  #location ~ /\.ht {  #  deny all;  #}}

上面的配置还包括了访问xxxx.com转向www.xxxx.com的配置,如下:

server {   server_name xxxx.com;   rewrite ^(.*) http://www.xxxx.com$1 permanent; }

nginx的基本配置大致就是这样,如果绑定多个域名(不管是一级域名还是二级域名),需配置多个server,你会发现这几个server配置都差不多,主要是更改server_name及proxy_pass指向即可。upstream节点其实就是代理服务的访问路径。

如果此时访问域名,你会发现nginx的配置生效了,只是目前显示的是tomcat的默认界面。nginx的配置基本就这样了,接下来对tomcat做些配置的修改。找到tomcat里的conf/server.xml,注释掉默认的Host配置,添加如下Host配置:

              

以上是windows服务器下的配置,如为linux,只需更改appBase和docBase,指向项目的路径。tomcat的配置也已经完成,重启tomcat,访问域名就指向了tomcat里的项目。

总结

以上所述是小编给大家介绍的nginx+tomcat单个域名及多个域名配置,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

配置 域名 系统 项目 公司 多个 指向 架构 事情 后台 就是 技术 开发 服务 均衡 业务 二级域名 团队 数据 核心 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 科技互联网项目 互联网下的科技发展 百单互联网科技有限公司 奇酷互联网络科技公司 壕鑫互联网络科技 郑州华宇互联网科技 互联网科技英文翻译 互联网科技公司做什么 广西拼得多互联网科技有限公司 北京大学互联网科技怎么样 团飞科技与伯堂互联网服务平台 互联网金融科技公司干啥的 互联网科技研发水平 企晟互联网信息科技有限公司 上海京穆互联网科技有限公司 浙南科技城互联网大厦招聘 上海同邻互联网科技有限公司规模 容联科技互联网电商 易租星互联网科技有限公司 知域互联网科技有限公司官网 广州为想互联网科技有限公司 科技互联网龙头 互联网科技行业发展 重庆互联网络科技 丰台科技园 互联网 伴你行互联网科技有限公司 互联网科技博主是什么意思 常德市电业局互联网科技部 宁夏科技产业互联网案例 互联网媒体平台算高科技产业
0