通过Nginx为网站配置二级域名

需求:服务器上面运行多个项目;实现每个二级域名访问对应项目;

服务器:阿里云服务器;域名:阿里云注册;

配置域名解析

即配置DNS解析。一定要首先配置,否则访问不到二级域名;

登录阿里云后台,要在域名解析上面添加主机记录值(即你要设置的二级域名名称)

配置Nginx

进入你的Nginx的 /conf 配置文件夹中,编辑 nginx.conf 文件

文件结构如下:

http {
(全局的配置参数...)
server {
(本server的配置参数...)
}
server {
(本server的配置参数...)
}
(全局的配置参数...)#可添加include vhost/*.conf;
}

关于server位置:

  • 可以将所有的server配置都写在nginx.conf配置文件中;

  • 也可另外定义一个文件夹存放配置文件,将配置文件包含进主配置文件中即可;

    我的做法:新建一个vhost文件夹来放配置文件;在主配置文件写上include vhost/*.conf;表示主配置文件引用它;

配置server

  1. 通过代理转发配置:

    即通过nginx转发到你想访问的项目;
server {
listen 80;
server_name demo.test.com;#你的二级域名;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8000; #你启动的服务的ip:端口号;
}
}

这样配置之后可以通过Nginx转发到对应ip端口上运行的项目;

  1. 通过根目录配置:

你也可以通过指定项目的根目录来配置二级域名:

server {
listen 80;
server_name demo.test.com; # 要绑定的域名(或子域名)
root /home/www/; # 该网站的根目录
location / { # 不用管
}
}

重启Nginx

查看是否成功配置;

补充

default_server

http {
# 如果没有显式声明 default server 则第一个 server 会被隐式的设为 default server
server {
listen 80;
server_name _; # _ 并不是重点 __ 也可以 ___也可以
return 403; # 403 forbidden;
}
server {
listen 80;#添加默认server:在后面加上default_server
server_name www.a.com;
...
}
}

Nginx 的 default_server 指令可以定义默认的 server 去处理一些没有成功匹配 server_name 的请求;

参考:https://www.cnblogs.com/kuku0223/p/10740735.html

location

可以指定多个项目;

   location /Demo01 {
......#项目1;根目录,代理转发
}
location /demo02 {
......
}

参考:

https://blog.csdn.net/xuxile/article/details/51705372

https://blog.csdn.net/lizhiyuan_eagle/article/details/90639448

上一篇:Nginx 泛解析配置请求映射到多端口实现二级域名访问


下一篇:Android View 简析