Nginx Tomcat 实现网站二级域名
2018-06-26
阅读 {{counts.readCount}}
评论 {{counts.commentCount}}
centos下的nginx简单安装配置,和搭配tomcat使用实现二级域名
小网站成本有限,用二级域名可以大大降低经济和时间人力的成本,二级域名类似于baidu.com 和tieba.baidu.com的关系。
那么java网站目前我知道的实现方法有2种,tomcat直接实现和nginx + tomcat实现
之前用的tomcat方案效果有点小问题,今天重新用nginx + 多个tomcat再实现一次
安装配置nginx
- #安装
- sudo yum install epel-release
- sudo yum install nginx
- #启动 start 也sudo systemctl restart nginx sudo systemctl stop nginx
- sudo systemctl start nginx
- #配置 每次配置完需要重启服务
- vim /etc/nginx/nginx.conf
原版安装完成以后,配置文件里有这样一段,我是直接注释掉的
- server {
- listen 80 default_server;
- listen [::]:80 default_server;
- server_name _;
- root /usr/share/nginx/html;
- # Load configuration files for the default server block.
- include /etc/nginx/default.d/*.conf;
- location / {
- }
- error_page 404 /404.html;
- location = /40x.html {
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
然后替换为以下的内容
相当于
www.tczmh.club 会访问第一个tomcat的地址
bz.tczmh.club 会访问第二个tomcat的地址
- server {
- listen 80;
- server_name www.tczmh.club;
- location / {
- proxy_pass http://localhost:8080;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- server {
- listen 80;
- server_name bz.tczmh.club;
- location / {
- #root html;
- #index index.html index.htm;
- proxy_pass http://localhost:8081;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- }
方案2 是单tomcat下多个项目 也可以与方案1混用
- server {
- listen 80;
- server_name www.tczmh.club;
- location / {
- proxy_pass http://localhost:8080;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- server {
- listen 80;
- server_name bz.tczmh.club;
- location / {
- #root html;
- #index index.html index.htm;
- proxy_pass http://localhost:8080/bz/;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- }
也可以是多域名对应单项目
- server {
- listen 80;
- server_name www.tczmh.club;
- location / {
- proxy_pass http://localhost:8080;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- server {
- listen 80;
- server_name bz.tczmh.club;
- location / {
- #root html;
- #index index.html index.htm;
- proxy_pass http://localhost:8080/bz/;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- }
- server {
- listen 80;
- server_name www.jjbz.xyz;
- location / {
- #root html;
- #index index.html index.htm;
- proxy_pass http://localhost:8080/bz/;
- proxy_set_header Host $host:$server_port;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Scheme $scheme;
- proxy_connect_timeout 3;
- proxy_read_timeout 3;
- proxy_send_timeout 3;
- access_log off;
- break;
- }
- }
每次改完配置文件都要执行重启服务命令
- sudo systemctl restart nginx
最终实现了单服务器 二级域名的解决方案,
可以访问www.tczmh.club bz.tczmh.club 实现不同项目的效果
还可以继续深入,使用新域名,CNAME方案解析到二级域名。
达到单服务器单项目多域名的效果,节省多服务器的开支。
评论区空空如也,赶紧添加一条评论吧
评论 {{counts.commentCount}}
{{comment.name}}
{{comment.os}}
{{comment.browser}}
{{comment.reply.name}}
{{comment.reply.os}}
{{comment.reply.browser}}