Nginx多域名共享80端口配置

前段时间搭建了两个网站,分别是壁纸网站和个人blog。以这两个网站为例介绍一下如何用一个Nginx配置多个域名共享80端口。

已有资源:

服务器 118.24.51.89
顶级域名 yypic.top
二级域名 blog.yypic.top

首先需要设置域名解析

在域名管理控制台添加两条解析记录,设置了域名解析才可以用域名访问站点

一级域名解析设置:yypic.top->118.24.51.89
Nginx多域名共享80端口配置_第1张图片
二级域名解析设置:blog.yypic.top->118.24.51.89
Nginx多域名共享80端口配置_第2张图片

添加Ngin主配置文件

user nobody;
#工作进程个数,一般跟服务器cpu核数相等,或者核数的两倍
worker_processes 2;

#单个进程最大连接数
events{
    worker_connections 1024; 
}

http{
    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    types_hash_max_size 2048;
    keepalive_timeout 65;
    gzip on;
    #服务器集群
    upstream picture_cluster{
         server 118.24.51.89:8080;
    }
    include       mime.types;
    default_type  application/octet-stream;
    include /usr/local/nginx/vhosts/*.conf;
}

以上最关键配置:include /usr/local/nginx/vhosts/*.conf; 意思是在http模块里面加入你要引用的虚拟主机配置文件目录。

添加Ngin虚拟主机配置

在Nginx安装目录下建立vhosts文件夹,用来存放所有站点的配置文件。每个站点对应一个虚拟主机配置。

我这里添加了两个配置:blog.conf picture.conf

picture.conf:

 server{
    listen 80;    #端口号
    server_name yywallpaper.top www.yywallpaper.top yypic.top www.yypic.top yypic.xyz www.yypic.xyz; #服务名
      
    location /{
        proxy_pass http://picture_cluster;
    }

    error_page   500 502 503 504  /50x.html;  
    location = /50x.html {  
         root   html;  
    }  
 }

blog.conf :

server{
        listen 80;
        #域名,多个用空格隔开
        server_name blog.yywallpaper.top blog.yypic.top blog.yypic.xyz;
        #配置hexo博客目录
        root /usr/local/hexo/public;
        location / {
           index  index.html index.htm;
        }
        access_log /tmp/logs/nginx/hexo.access.log;
    }

添加好虚拟主机配置后,将配置引入到主配置文件中“include /usr/local/nginx/vhosts/*.conf;”,然后启动Nginx即可。

最终请求效果就是:

访问yypic.top->域名解析后访问118.24.51.89:80->请求到达Nginx(监听80端口)->适配域名->将请求转发到picture_cluster既 118.24.51.89:8080->请求到达Tomcat服务器->将Response一层层返回。

访问blog.yypic.top->域名解析后访问118.24.51.89:80->请求到达Nginx(监听80端口)->适配域名->将请求转发到目录/usr/local/hexo/public->返回该目录静态html文件。

你可能感兴趣的:(【Nginx】)