Nginx使用 | Nginx 搭建多服务站点

0. 前言知识

多服务站点是什么意思?简单来说就是一台机子上可以搭建多个web网站,比如有两个域名blog.dawnguo.cnwww.dawnguo.cn,那么这两个域名访问的网站内容是不同的,但是网站的资源都是放在同一台机子上的。即一个IP地址对应多个域名支持多站点访问,你想在一个IP地址下面放多少个站点都行。那么怎么配置呢?主要是通过Virtual Host来实现。

1.实验环境

本实验所采用的Nginx version为nginx/1.10.3 (Ubuntu),关于nginx的配置目录是在/etc/nginx/下,因为nginx版本的不同,该目录中的内容一般都会不同,该目录在我机子上的内容如下所示:

$ ls
conf.d/  fastcgi.conf  fastcgi_params  koi-utf  koi-win  mime.types  nginx.conf  proxy_params  scgi_params  sites-available/  sites-enabled/  snippets/  uwsgi_params  win-utf

nginx.conf是最最最重要的配置文件,其中nginx.conf文件又会把conf.d/目录中.conf文件内容和sites-enabled/目录中的文件内容直接include进来,include语句主要是这几句:

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;

2.配置过程

假设需要配置以下两个站点:

域名1 www.dawnguo.cn 放在 /var/www/html
域名2 blog.dawnguo.cn 放在 /var/www/blog
  • 首先为每个站点创建一个配置文件:在sites-enabled/目录下分别创建www.dawnguo.cnblog.dawnguo.cn两个文件(Hint:你可以不在sites-enabled/中创建,你可以自己创建一个目录,然后把这两个文件放进去,那么下面include的路径也记得要变掉)

    www.dawnguo.cn文件内容如下所示

    server {
        listen 443;
        server_name www.dawnguo.cn;
        ssl on;
        root /var/www/html;
        index index.html index.htm;
        ssl_certificate  cert/www.dawnguo.cn.pem;
        ssl_certificate_key cert/www.dawnguo.cn.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    
        location / {
            index index.html index.htm;
        }
    }
    

    blog.dawnguo.cn文件内容如下

    server {
        listen 443;
        server_name blog.dawnguo.cn;
        ssl on;
        root /var/www/blog;
        index index.html index.htm;
        ssl_certificate  cert/blog.dawnguo.cn.pem;
        ssl_certificate_key cert/blog.dawnguo.cn.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
    
        location / {
            index index.html index.htm;
        }
    }
    

    其实主要修改的就下面几个,理解了就好

    • server_name的值
    • root的值
    • 假如你的站点都是https方式访问的话,那么SSL证书也记得修改掉
  • 之后打开/etc/nginx/nginx.conf文件,把上述两个文件include进来,比如我上面把他们放在sites-enabled/目录中,那么相关的语句为

    include /etc/nginx/sites-enabled/*;
    

    可能有的nginx.conf文件已经有了这句话,那么就不用加了

  • 之后重启nginx服务即可

    service nginx restart
    

在这里插入图片描述

欢迎关注微信公众号【一口程序锅】,一口想煮点技术的锅。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值