设置nginx绑定多个域名

nginx绑定多个域名,可把多个域名规则写一个配置文件里,也可分别建立多个域名配置文件,一般为了管理方便,建议每个域名建一个文件,有些同类域名也可写在一个总的配置文件里。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的天心网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

一、每个域名一个文件的写法

首先打开nginx域名配置文件存放目录:/usr/local/nginx/conf/servers ,如要绑定域名www.itblood.com 则在此目录建一个文件:www.itblood.com.conf然后在此文件中写规则,如:

server{

listen 80;

server_name www.itblood.com; #绑定域名

index index.htm index.html index.php; #默认文件

root /home/www/itblood.com; #网站根目录

include location.conf; #调用其他规则,也可去除

}

然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart

二、一个文件多个域名的写法

一个文件添加多个域名的规则也是一样,只要把上面单个域名重复写下来就ok了,如:

server{

listen 80;

server_name www.itblood.com; #绑定域名

index index.htm index.html index.php; #默认文件

root /home/www/itblood.com; #网站根目录

include location.conf; #调用其他规则,也可去除

}

server{

listen 80;

server_name msn.itblood.com; #绑定域名

index index.htm index.html index.php; #默认文件

root /home/www/msn.itblood.com; #网站根目录

include location.conf; #调用其他规则,也可去除

}

三、不带www的域名加301跳转

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

server

{

listen 80;

server_name itblood.com;

rewrite ^/(.*) http://www.itblood.com/$1 permanent;

}

四、添加404网页

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

server{

listen 80;

server_name www.itblood.com; #绑定域名

index index.htm index.html index.php; #默认文件

root /home/www/itblood.com; #网站根目录

include location.conf; #调用其他规则,也可去除

error_page 404 /404.html;

}

四种规则方法,就可以自己独立解决nginx 多域名配置问题了。

配置多域名

方法一:多个的.conf方法(优点是灵活,缺点就是站点比较多配置起来麻烦)

这里以配置2个站点(2个域名)为例,n个站点可以相应增加调整,假设:

IP地址:192.168.1.100

域名1 example1.com放在/ www / example1

域名2 example2.com放在/ www / example2

配置nginx虚拟主机的基本思路和步骤如下:

把2个站点example1.com,example2.com放到nginx可以访问的目录/ www /

给每个站点分别创建一个nginx配置文件example1.com.conf,example2.com.conf,并把配置文件放到/ usr / local / nginx / vhosts /

然后在/usr/local/nginx/nginx.conf里面加一句包括进步2创建的配置文件全部包含进来(用*号)

重启nginx

1,打开/usr/local/nginx/nginix.conf文件,在相应位置加入包括把以上2个文件包含进来

用户www www;

worker_processes 1;

#主服务器错误日志

error_log /usr/local/nginx/log/nginx/error.log;

pid /usr/local/nginx/nginx.pid;

事件{

worker_connections 51200;

}

#主服务器配置

http {

包括mime.types;

default_type application / octet-stream;

log_format main’$ remote_addr – $ remote_user [$ time_local] $ request’

‘“$ status”$ body_bytes_sent“$ http_referer”’

‘“$ http_user_agent”“$ http_x_forwarded_for”’;

发送文件;

#tcp_nopush on;

#keepalive_timeout 0;

keepalive_timeout 65;

gzip上

服务器{

听80

服务器名称 _;

access_log /usr/local/nginx/log/nginx/access.log main;

server_name_in_redirect关闭

位置 / {

root / usr / share / nginx / html;

index index.html;

}

}

#包含所有的虚拟主机的配置文件

包括/ usr / local / nginx / vhosts / *;

}

2,在/ usr / local / nginx下创建vhosts目录

mkdir / usr / local / nginx / vhosts

3,在/ usr / local / nginx / vhosts /里创建一个名字为example1.com.conf的文件,把以下内容拷进去

服务器{

听80

server_name example1.com www。example1.com;

access_log / www / access_ example1.log main;

位置 / {

root /www/example1.com;

index index.php index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root / usr / share / nginx / html;

}

#将PHP脚本传递给FastCGI服务器,侦听127.0.0.1:9000

位置〜.php $ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /www/example1.com/$fastcgi_script_name;

包括fastcgi_params;

}

位置〜/.ht {

拒绝所有

}

}

4,在/ usr / local / nginx / vhosts /里创建一个名字为example2.com.conf的文件,把以下内容拷进去

服务器{

听80

server_name example2.com www。example2.com;

access_log / www / access_ example1.log main;

位置 / {

root /www/example2.com;

index index.php index.html index.htm;

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root / usr / share / nginx / html;

}

#将PHP脚本传递给FastCGI服务器,侦听127.0.0.1:9000

位置〜.php $ {

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME /www/example2.com/$fastcgi_script_name;

包括fastcgi_params;

}

位置〜/.ht {

拒绝所有

}

}

5,重启Nginx

/etc/init.d/nginx重启

方法二

动态目录方法(优点是方便,每个域名对应一个文件夹,缺点是不灵活)

这个简单的方法比起为每一个域名建立一个vhost.conf配置文件来讲,只需要在现有的配置文件中增加如下内容:

根据需求改变这个端口

听80; #could也可以是1.2.3.4:80也可以是1.2.3.4:80的形式

#多个主机名由空格分隔。更换这些。

#多个主机名可以用空格隔开,当然这个信息也是需要按照你的需求而改变的

。server_name star.yourdomain.com * .yourdomain.com http://www.*.yourdomain.com/;

#Alternately:_ *

#或者可以使用:_ *(具体内容参见本维基其他页面)

root / PATH / TO / WEBROOT / $ host;

error_page 404 http://yourdomain.com/errors/404.html;

access_log logs / star.yourdomain.com.access.log;

location / {

root / PATH / TO / WEBROOT / $ host /;

index index.php;

}

#直接提供静态文件

#直接支持静态文件(从配置上看不是直接支持啊)

位置〜* ^。+。(jpg | jpeg | gif | css | png | js | ico | html)$ {

access_log off;

到期30d;

}

位置〜.php $ {

#一定要使用不同的服务器为fcgi进程,如果你需要

#如果需要,你可以为不同的FCGI进程设置不同的服务信息

fastcgi_pass 127.0.0.1:YOURFCGIPORTHERE;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME / PATH / TO / WEBROOT / $ host / $ fastcgi_script_name;

fastcgi_param QUERY_STRING $ query_string;

fastcgi_param REQUEST_METHOD $ request_method;

fastcgi_param CONTENT_TYPE $ content_type;

fastcgi_param CONTENT_LENGTH $ content_length;

fastcgi_intercept_errors on;

}

位置〜/.ht {

deny all;

}

最后附另外一个二级域名匹配的方法

绑定域名

server_name * .abcd.com;

获取

主机名if($ host〜*(。*)。(。*)。(。*))

{

set $ domain $ 1;

}

定义目录

root html / abc / $ domain /;

location /

{

root html / abcd / $ domain;

index index.html index.php;


数安时代(GDCA)致力于网络信息安全,已通过WebTrust 的国际认证,是全球可信任的证书签发机构。GDCA专业技术团队将根据用户具体情况为其提供最优的产品选择建议,并针对不同的应用或服务器要求提供专业对应的HTTPS解决方案。GDCA一直以“构建网络信任体系,服务现代数字生活”的宗旨,致力于提供全球化的数字证书认证服务。其自主品牌——信鉴易 TrustAUTH SSL证书:包括 OVSSL、EVSSL、代码签名证书等。为涉足互联网的企业打造更安全的生态环境,建立更具公信力的企业网站形象。

分享标题:设置nginx绑定多个域名
分享地址:https://www.cdcxhl.com/article4/cggeoe.html

成都网站建设公司_创新互联,为您提供品牌网站建设品牌网站设计品牌网站制作建站公司商城网站网站制作

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联