nginx二级域名
目标:
访问 a.test.com
和b.test.com
这两个子域名在浏览器中显示This is a sample site:a
和This 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 /
{
}
}
新建文件夹a
和b
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.html
把This 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.com
和b.test.com
就可以得到如下的结果
网络配置
主要是DNS配置, 这里以DNSPod为例
打开dnspod, 其实就是配置泛解析,把*.test.com
都解析到你的ip上
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。