nginx二级域名

目标:

访问 a.test.comb.test.com这两个子域名在浏览器中显示This is a sample site:aThis is a sample site:b

步骤:

安装nginx

sudo apt-get install nginx

查看nginx版本, 也可以用于确认是否安装上

nginx -v

测试nginx的配置文件(很多地方都能用到)

pi@raspberrypi:~ $ sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

需要用sudo, 不然会failed, 还可以从这里看到配置文件的位置/etc/nginx/nginx.conf

打开配置文件nginx.conf

sudo cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
sudo vim /etc/nginx/nginx.conf

我们需要找虚拟主机(Virtual Host),在vim里面搜索

/Host

可以找到这样的内容

 57         ##
 58         # Virtual Host Configs
 59         ##
 60
 61         include /etc/nginx/conf.d/*.conf;
 62         include /etc/nginx/sites-enabled/*;

虚拟主机的配置文件在/etc/nginx/sites-enabled/*, 退出vim

cd /etc/nginx/sites-enabled

有一个默认的文件

pi@raspberrypi:/etc/nginx/sites-enabled $ ls
default

编辑,在文件最下面加入下面的代码, 保存退出

server{ 
server_name a.test.com; # 主机名
listen 80; # 监听端口
root /data/sites/a; # 根目录

# access_log /data/sites/nginx/a-access.log mian; #日志
location /
{

}
}
server{
server_name b.test.com;
listen 80;
root /data/sites/b;

# access_log /data/sites/nginx/a-access.log mian;
location /
{

}
}

新建文件夹ab

sudo mkdir -p /data/sites/a
sudo mkdir -p /data/sites/b

需要加p参数, 不然可能会报找不到此文件夹

sudo vim /data/sites/a/index.html

生成一个页面

<!DOCTYPE html>
<html>
<head>
</head>
<body>
This is a sample site:a
</body>
</html>

保存退出

sudo cp /data/sites/a/index.html /data/sites/b/index.html

打开/data/sites/b/index.htmlThis is a sample site:a改为This is a sample site:b

启动nginx

sudo nginx

测试

本地测试

得到nginx服务器的ip,假设为192.168.1.200

用windows电脑访问, 修改host文件, 加上下面的字段

192.168.1.200    b.test.com
192.168.1.200    a.test.com
192.168.1.200    test.com

然后用浏览器访问a.test.comb.test.com

就可以得到如下的结果

a.test.com

b.test.com

网络配置

主要是DNS配置, 这里以DNSPod为例

打开dnspod, 其实就是配置泛解析,把*.test.com都解析到你的ip上

dns泛解析


优de良
333 声望13 粉丝

好好写代码


引用和评论

0 条评论