linux多域名站点配置,Nginx配置多域名多站点

原标题:Nginx配置多域名多站点

为了更好的利用资源和运维,我们一般在一台服务器上可能会配置多个域名多个站点,本文以Nginx服务为例,给大家介绍在Linux(CentOS7)上配置多个域名多个站点的方法。

阅读本文前,我假设你已经按照本站文章:CentOS7使用源码编译安装Nginx安装好了Nginx,并且对配置进行了优化:Nginx配置优化解读

这篇文章适合新手,如果你是大牛请绕行,到本站看看其他的有没有对你有用的。如果文章未作特别说明的话,本站有关系统运维的技巧文章都是基于CentOS7系统,请大家知晓。

准备

现在我假设在我的Linux服务器上有两个站点,域名分别是www.helloweba.net和m.helloweba.net,两个域名分别对应站点目录:/home/web/www.helloweba.net/和/home/web/m.hellowba.net。为了测试,我们可以在两个站点目录下分别放置两个index.html静态文件,文件内容随意。我们要实现的是分别访问两个域名对应两个不同的站点内容。

在Nginx配置优化解读文中,我们知道了Nginx的配置文件nginx.conf中的http模块下的server模块是用来配置站点参数的。那么多个域名多个站点的话就应该有多个server模块。当然,为了运维方便,我把多个站点配置分解成多个独立的配置文件(后缀为.conf),这些配置文件通过在nginx.conf中的http模块下的最后一行添加include vhost/*.conf;关联起来。

开始配置

现在我们开始来配置。

1.在Nginx配置目录/usr/local/nginx/conf/下再创建目录:vhost/

mkdir vhost

2.进入vhost目录,创建配置文件:www.helloweba.net.conf。

cd vhost

vi www.helloweba.net.conf

3.编辑配置文件www.helloweba.net.conf。

server

{

listen 80;

server_name www.helloweba.net;

index index.html;

root /data/web/www.helloweba.net;

error_page 404/ 404.html;

location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

}

location ~ .*.(js|css)?$

{

expires 12h;

}

access_log /data/logs/www.helloweba.net.log access;

}

以上配置文件中,我们绑定域名www.helloweba.net到站点目录/data/web/www.helloweba.net下,并监听80端口。设置404错误页面,设定静态文件缓存时间以及记录访问日志。设置好后保存文件。

4.重复步骤2和3,新建配置文件m.helloweba.net.conf,并把配置中的域名www.helloweba.net改成m.helloweba.net。

5.重启Nginx服务使配置生效。

/usr/local/nginx/sbin/nginx -s reload

6.测试。正式上线的话只需把两个域名解析到服务器IP上绑定即可。这里我们只要测试配置是否正确有效,因此,我们在测试机上,比如本机我是Win10平台,我们只需配置本地host即可,然后打开浏览器,分别输入两个域名,就可以看到你要的效果。

我们的web服务器ip是192.168.31.130,在本地C:WindowsSystem32driversetcHOST文件中添加以下两行。

192.168.31.130www.helloweba.net

192.168.31.130m.helloweba.net

保存即生效。

此外,比如我们希望用户输入不带www的域名:helloweba.net会跳转到www.helloweba.net,这个时候我们需要做301跳转。有关301域名跳转的配置我会专门安排一篇文章给大家讲解Nginx rewrite重定向的配置技巧,敬请关注。

番外篇

假如有很多二级域名代表着不同的个人主页,通过访问不同的二级域名,展示不同的页面内容,这时我们可以使用正则来配置多域名。

server

{

listen 80;

server_name ~^(.+)?.helloweba.net$;

set $www_root$1;

root /data/web/helloweba/ $www_root/;

...

}

保存后重启Nginx服务。现在我们在目录/data/web/helloweba/下分别创建子目录s1/和s2/,并在文件夹下放置不同内容的index.html文件,然后在本地host文件中配置s1.helloweba.net和s2.helloweba.net,然后使用浏览器分别访问两个域名,是不是可以看到不同的页面。返回搜狐,查看更多

责任编辑:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值