nginx绑定多个域名可又把多个域名规则写一个配置文件里,也可又分别建立多个域名配置文件,我一般为了管理方便,每个域名建一个文件,有些同类域名也可又写在一个总的配置文件里。
成都创新互联专注于宁津网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供宁津营销型网站建设,宁津网站制作、宁津网页设计、宁津网站官网定制、成都小程序开发服务,打造宁津网络公司原创品牌,更为您提供宁津网站排名全网营销落地服务。
一、每个域名一个文件的写法
首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名 则在此目录建一个文件:然后在此文件中写规则,如:server
{
listen 80;
server_name ; #绑定域名
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 ; #绑定域名
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 ^/(.*) permanent;
}
四、添加404网页
添加404网页,都可又直接在里面添加,如:
server
{
listen 80;
server_name ; #绑定域名
index index.htm index.html index.php; #默认文件
root /home/www/rodine.org; #网站根目录
include location.conf; #调用其他规则,也可去除
error_page 404 /404.html;
}
学会上面四种规则方法,基本就可以自己独立解决nginx 多域名配置问题了
etc/hosts 文件的具体内容如下: # Do not remove the following line, or various programs # that require network functionality will fail. 127.0.0.1 localhost.localdomain localhost fc4 192.168.1.3 a.test.com a 192.168.1.1 b.test.cn b /etc/host.conf 文件: order hosts,bind 表示先用hosts文件做解析,在用DNS解析 /etc/resolv.conf 文件: ; generated by NetworkManager, do not edit! search test.com nameserver 127.0.0.1 search test.cn nameserver 192.168.1.1 nameserver 61.144.56.100 /etc/named.conf 文件: // // named.conf for Red Hat caching-nameserver // options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; /* * If there is a firewall between you and nameservers you want * to talk to, you might need to uncomment the query-source * directive below. Previous versions of BIND always asked * questions using port 53, but BIND 8.1 uses an unprivileged * port by default. */ // query-source address * port 53; }; // // a caching only nameserver config // controls { inet 127.0.0.1 allow { localhost; } keys { rndckey; }; }; zone "." IN { type hint; file "named.ca"; }; zone "test.com"IN { type master; file "test.com"; allow-update { none; }; }; zone "1.168.192.in-addr.arpa"IN { type master; file "192.168.1.rev"; allow-update { none; }; }; zone "test.cn"IN { type master; file "test.cn"; allow-update { none; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN { type master; file "named.ip6.local"; allow-update { none; }; }; zone "255.in-addr.arpa" IN { type master; file "named.broadcast"; allow-update { none; }; }; zone "0.in-addr.arpa" IN { type master; file "named.zero"; allow-update { none; }; }; include "/etc/rndc.key"; 在/var/name/test.com 文件下: $TTL 86400 @ IN SOA a.test.com. root.a.test.com ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS a.test.com. IN MX 10 mail.test.com. a IN A 192.168.1.3 mail IN A 192.168.1.3 //其中root.a.test.com的含义是管理员的邮箱 /var/name/test.cn 文件下: $TTL 86400 @ IN SOA b.test.cn. root.a.test.com ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS b.test.cn. IN MX 10 mail.test.cn. b IN A 192.168.1.1 mail IN A 192.168.1.1 /var/name/192.168.1.rev 文件下: $TTL 86400 @ IN SOA 1.168.192.in-addr.arpa. root.test.com. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS a.test.com. IN NS b.test.cn. IN MX 10 mail.test.com. IN MX 10 mail.test.cn. 3 IN PTR a.test.com. 3 IN PTR mail.test.com. 1 IN PTR b.test.cn. 1 IN PTR mail.test.cn. 然后用/etc/init.d/named restart重启DNS服务,在重启过程中,我曾经出现过好几次的错误,按照出错的提示,会提示是named.conf文件第几行出错的。或者提示在那些包含文件例如test.cn这些文件里面的问题,然后一个一个排除。 最后还有一些nslookup的命令比较有用: set all用于显示使用nslookup工具这台机器上的DNS服务器的一些信息 set type=any会显示完整信息包括域中邮件服务器和主从DNS服务器的名字和IP地址 server 192.168.0.1更换查询的DNS服务器地址。
在linux下可以通过命令查看域名,那么具体是怎么操作的呢?下面由我为大家整理了linux下查看域名的命令,希望对大家有所帮助。
1.linux查看域名的命令——ifconfig
Linux查看IP地址的命令--ifconfig
ifconfig命令用于查看和更改网络接口的地址和参数
$ifconfig -a
lo0: flags=849 mtu 8232
inet 127.0.0.1 netmask ff000000
hme0: flags=863 mtu 1500
inet 211.101.149.11 netmask ffffff00 broadcast 211.101.149.255
ether 8:0:20:a7:4d:21
系统会显示网络接口的名称,接口的状态(up or down),
接口的IP地址和掩码等信息
2.扩展:如何更改网络接口的IP地址
#ifconfig hme0 down
#ifconfig hme0 211.101.149.233 netmask 255.255.255.0 up
首先,使用down命令参数把网络接口hme0的服务暂时停止,然后再用Linux查看ip的ifconfig命令给
接口分配新的IP地址和掩码,并启动网络接口服务
也可以通过改变文件/etc/hosts中的IP地址的值并重新启动系统来更改机器的IP地址。
/etc/hosts/: 211.101.149.11 sampdt
定义主机名在/etc/hostname.hme0及IP地址。
更改了网卡/增加了网卡,系统不能自动启动该接口服务,这时需要手动创建网口服务:
#ifconfig hme0 plumb
Linux查看ip即可以为接口le0创建网口服务
相应地,用ifconfig带unplumb参数可以停止服务并关闭网络.
netconfig 用来设置IP地址
绑定和解析
在tomcat下面配置域名(如:www.***.com)的时候,同时又不希望客户通过我们网站的ip或者域名访问到tomcat默认的root,配制方法如下:
2.在server.xml中将原有的host name=“localhost“ appbase=“webapps“ ……修改为host name=“您要配置的域名“ appbase=“webapps“…… 【程序编程相关:Java 理论与实践:并发在一定程度上使】
1.打开tomcat安装目录下的\conf\server.xml文件 【推荐阅读:用Java的New IO开发网络协议】
3.在\conf\catalina目录下建立目录“您要配置的域名的名称”,然后建立root.xml文件,其格式与\conf\lo
context displayname="welcome to 56world!" docbase="d:\workplace\inbuilding" path="" 【程序编程相关:Java 理论与实践:并发在一定程度上使】
?xml version=1.0 encoding=utf-8? 【推荐阅读:用Java的New IO开发网络协议】
其中docbase中的内容就是你希望的打开您的域名(www.***.com) 的时候映射到的目录与默认的网页(如:index.jsp) 【扩展信息:枚举类型入门】
/context
4.启动tomcat服务器,就可以直接敲入域名访问你要访问的地址了
1、首先用putty远程登录服务器。
2、进入此文件夹。cd /var/www/conf/ 编辑httd.confi文件vi httpd.conf,然后按I,进入编辑模式,修改如下参数:
例如:
VirtualHost *:80
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
erverName v7o.cn #如果要修改主域名,修改此处域名并保存即可。
ErrorLog logs/dummy-host.example.com-error_log --记录错误日志文件路径
CustomLog logs/dummy-host.example.com-access_log common--客户访问日志路径
/VirtualHost
如果要添加一个域名,添加ServerAlias字段即可。如添加abc123.com作为网站的第二个域名:
VirtualHost *:80
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot /www/docs/dummy-host.example.com
ServerName v7o.cn
ServerAlias v7o.cn
ErrorLog logs/dummy-host.example.com-error_log --记录错误日志文件路径
CustomLog logs/dummy-host.example.com-access_log common--客户访问日志路径
/VirtualHost
3、重启服务
# /var/www/bin/apachectl restart
修改完毕保存配置文件,需重启apache才能生效。
hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,包含了IP地址和主机名之间的映射,还包括主机名的别名。文件目录位于 /etc/hosts ,作用相当于DNS 。 这个与 /etc/hostname 文件不一样,这个文件只包含hostname这一个名字(命令行hostname返回就是这个文件的内容), hosts文件存放的是域名与ip的对应关系。修改主机名时,这两个文件都需要修改。
在没有域名服务器的情况下,系统上的所有网络程序都通过查询/etc/hosts文件来解析对应于某个主机名的IP地址,实现快速访问。
在支持 mDNS(multicast DNS) 多播DNS的局域网中,使用主机名加上”.local”即可直接访问主机名对应的设备。这个就不需要配置/etc/hosts文件来完成P地址与域名解析,笔者的小米路由器支持这个功能。但是笔者觉得配置/etc/hosts文件更加方便,也可以设置别名。
下图是笔者配置的,填入局域网内所有linux服务器的IP和域名,而且每个服务器都需要设置一样。当主机互连时,每台主机都需要设置自己的ip与域名,同时在对方的hosts文件里加入自己的ip和主机名。笔者遇到的linux服务器上,都配置了这个文件,方便通过域名或别名来访问。
下图是笔者实验的两个树莓派配置信息。
hosts文件的格式如下:
第一部份:网络IP地址,比如192.168.31.76。
第二部份:主机名或域名,比如host1。
第三部份:主机名别名,比如host_maria。
在marai服务器上测试域名和别名, ping host2或者ping host_LAMP都可以实现,笔者在这里就不把测试结果贴出来了。