linux中nginx如何配置一个ip多个域名

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中nginx如何配置一个ip多个域名相关的知识,希望对你有一定的参考价值。

nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。
一、每个域名一个文件的写法
       首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.rodine.org 则在此目录建一个文件:www.rodine.org.conf然后在此文件中写规则,如:server


listen 80;
server_name www.rodine.org; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/rodine.org; #网站根目录
include location.conf; #调用其他规则,也可去除

然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart
二、一个文件多个域名的写法
一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:

server

listen 80;
server_name www.rodine.org; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/rodine.org; #网站根目录
include location.conf; #调用其他规则,也可去除
server

listen 80;
server_name msn.rodine.org; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/msn.rodine.org; #网站根目录
include location.conf; #调用其他规则,也可去除

三、不带www的域名加301跳转
如果不带www的域名要加301跳转,那也是和绑定域名一样,先绑定不带www的域名,只是不用写网站目录,而是进行301跳转,如:

server

listen 80;
server_namerodine.org;
rewrite ^/(.*) http://www.rodine.org/$1 permanent;

四、添加404网页

       添加404网页,都可又直接在里面添加,如:

server

listen 80;
server_name www.rodine.org; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/rodine.org; #网站根目录
include location.conf; #调用其他规则,也可去除
error_page 404 /404.html;

学会上面四种规则方法,基本就可以自己独立解决nginx 多域名配置问题了

参考技术A 一个server段对应一个域名。配置多个server段就行 参考技术B 创建多个虚拟主机。
http://zl382378867.blog.163.com/blog/static/407944212011124115813231/

关于centos7下nginx配置多个server的问题?

centos7下nginx配置多个server,使多个域名或者同一个域名使用多个端口号或者多个ip访问同一个网页,我使用了多个域名或者多个ip都不能成功,但使用了同一个域名使用多个端口号使成功了,我就上网查为什么使用多个域名或者多个ip都不成功的解决方法,在一个网站中说因为我在/etc/hosts要配置我设置域名的配置,但这个网站只是简单说在/etc/hosts要配置我设置域名的配置,但没有说在/etc/hosts怎样配置,请各位高手指教一下怎样在/etc/hosts配置一个域名对应的 ip谢谢,多个域名这个问题我已解决了,原来在/etc/hosts最后面增加一行,内容是ip 我在nginx配置的域名就可以了,但多个ip现在还没有解决,请各位高手多多出手,谢谢!!!!!!!!!!

参考技术A 你是说要多个IP指向同一个域名吗?这个可以在你用来管理IP的域名服务商那里设置,你在域名服务商的网站上,将IP地址指向需要的域名就可以了。
如果你是仅仅在内部网络设置,应该也可以在 /etc/hosts 文件最后增加一行:IP 域名 就可以了,不同IP可以指向同一个域名的。
楼主如果对Linux系统感兴趣,想学习更多Linux系统操作知识,可以百度《Linux就该这么学》,里面有很多实用的技巧。
参考技术B
    说的简单点就是你使用域名的时候没有dns服务器请在你客户端,服务端手动更改host这里的目的,和域名解析类似希望可以帮助你,请采纳,谢谢
追问

我的意思是在nginx设置多个域名(即多个网址)使用多个网址同一个网页的内容,这个问题我已解决了,现在还剩下使用多个ip访问同一个网页的内容还没有解决

追答

先搞清楚 域名到底是什么 域名和IP是什么关系

本回答被提问者采纳

以上是关于linux中nginx如何配置一个ip多个域名的主要内容,如果未能解决你的问题,请参考以下文章

阿里云Linux系统Nginx配置多个域名的方法

一个ip对应多个域名多个ssl证书配置-Nginx实现多域名证书HTTPS

nginx如何自动添加域名端口?

关于centos7下nginx配置多个server的问题?

nginx+tomcat实现单ip,多域名,多项目配置,session有效

nginx如何配置访问时域名中不带某字符就强制重定向