本节主要讲解如果使用nginx配置多个虚拟主机,也就是我们通常说的配置域名.接下来我们配置两个域名a.ttlsa.com,b.ttlsa.com。
如果你还不会安装nginx的话,请看第一节内容:ttlsa教程系列之nginx – nginx安装(1)
序列号 | CPU | RAM | HDD | 带宽 | 售价(美元) | 免费试用 |
---|---|---|---|---|---|---|
香港服务器1 | E5-2620 | 32G | 1T HDD | 50M/无限流量 | $196.00 | 立即申请 |
香港服务器2 | E5-2650 | 32G | 1T HDD | 50M/无限流量 | $256.00 | 立即申请 |
香港服务器3 | E5-2680 | 32G | 1T HDD | 50M/无限流量 | $316.00 | 立即申请 |
香港服务器4 | E5-2690 | 32G | 1T HDD | 50M/无限流量 | $336.00 | 立即申请 |
香港服务器5 | E5-2697 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器6 | E5-2620*2 | 32G | 1T HDD | 50M/无限流量 | $376.00 | 立即申请 |
香港服务器7 | E5-2650*2 | 32G | 1T HDD | 50M/无限流量 | $436.00 | 立即申请 |
香港服务器8 | E5-2680*2 | 32G | 1T HDD | 50M/无限流量 | $476.00 | 立即申请 |
香港服务器9 | E5-2690*2 | 32G | 1T HDD | 50M/无限流量 | $556.00 | 立即申请 |
香港服务器10 | E5-2697*2 | 32G | 1T HDD | 50M/无限流量 | $596.00 | 立即申请 |
香港服务器11 | E5-2680v4*2 | 32G | 1T HDD | 50M/无限流量 | $696.00 | 立即申请 |
香港服务器12 | E5-2698v4*2 | 32G | 1T HDD | 50M/无限流量 | $796.00 | 立即申请 |
准备站点
我们站点统一放到/data/site下,每个站点根目录名称都和域名相同,具体如下。新建a.ttlsa.com的站点根目录
#mkdir-p/data/site/a.ttlsa.com
新建a站的首页index.html
#cat/data/site/a.ttlsa.com/index.htmlthisisa.ttlsa.com!
新建b.ttlsa.com站点根目录
#mkdir-p/data/site/b.ttlsa.com
新建b站首页index.html,内容如this is b.ttlsa.com!
#cat/data/site/b.ttlsa.com/index.htmlthisisb.ttlsa.com!#mkdir-p/data/logs/nginx
我们统一讲日志存放到/data/logs下,这边是存放nginx日志,所以nginx日志保持在当前的nginx目录下.日志统一存放相对来说比较规范(如果你不习惯,你可以按自己的方式来做)
配置nginx虚拟主机
增加nginx主配置文件nginx.conf
先配置nginx日志格式,在nginx.conf找到如下内容,并且将#注释标志去掉
#log_formatmain'$remote_addr-$remote_user[$time_local]"$request"'#'$status$body_bytes_sent"$http_referer"'#'"$http_user_agent""$http_x_forwarded_for"';
配置nginx主配置文件
#vim/usr/local/nginx-1.5.1/conf/nginx.confserver{server_namea.ttlsa.com;listen80;root/data/site/a.ttlsa.com;access_log/data/logs/nginx/a.ttlsa.com-access.logmain;location/{}}server{server_nameb.ttlsa.com;listen80;root/data/site/b.ttlsa.com;access_log/data/logs/nginx/b.ttlsa.com-access.logmain;location/{}}
server{}:配置虚拟主机必须有这个段。
server_name:虚拟主机的域名,可以写多个域名,类似于别名,比如说你可以配置成server_name b.ttlsa.com c.ttlsa.comd.ttlsa.com,这样的话,访问任何一个域名,内容都是一样的listen80,监听ip和端口,这边仅仅只有端口,表示当前服务器所有ip的80端口,如果只想监听127.0.0.1的80,写法如下:listen 127.0.0.1:80root/data/site/b.ttlsa.com:站点根目录,你网站文件存放的地方。注:站点目录和域名尽量一样,养成一个好习惯access_log /data/logs/nginx/b.ttlsa.com-access.log main:访问日志location /{} 默认uri,location具体内容后续讲解,大家关注一下.
重启并打开站点
nginx -t 检查nginx配置是否ok,命令如下:
#/usr/local/nginx-1.5.1/sbin/nginx-tnginx:theconfigurationfile/usr/local/nginx-1.5.1/conf/nginx.confsyntaxisoknginx:configurationfile/usr/local/nginx-1.5.1/conf/nginx.conftestissuccessful
如果看到以上两行ok和successful就表示配置问题,那接下来我们启动nginx
启动nginx
#/usr/local/nginx-1.5.1/sbin/nginx
访问a.ttlsa.com、b.ttlsa.com(我这边DNS已经解析到了192.168.1.201,在测试的情况下,我们可以通过版本hosts即可),绑定host方法如下:讲如下内容增加到C:WindowsSystem32Driversetchosts
192.168.1.201a.ttlsa.com192.168.1.201b.ttlsa.com
以上是windows绑定hosts方式,如下是linux方式
echo"192.168.1.201a.ttlsa.com192.168.1.201b.ttlsa.com">>/etc/hosts
使用浏览器访问这两个站点。我这边使用curl来访问。
[[email protected]conf]#curlhttp://a.ttlsa.comthisisa.ttlsa.com!//a站点内容[[email protected]conf]#curlhttp://b.ttlsa.comthisisb.ttlsa.com!//b站点内容其他指令/usr/local/nginx-1.5.1/sbin/nginx-sstop/usr/local/nginx-1.5.1/sbin/nginx-sreload//修改配置之后reload,实际上严格意义来说这不是