nginx配置虚拟主机

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx配置虚拟主机相关的知识,希望对你有一定的参考价值。

准备站点

我们站点统一放到/home/website下,每个站点根目录名称都和域名相同,具体如下。
新建a.ttlsa.com的站点根目录

# mkdir -p /home/website/a.yuliang.com

# cd a.yuliang.com

# echo "this is a.yuliang.com" > index.html   ===新建默认页


新建b.ttlsa.com站点根目录

# mkdir -p /home/website/b.yuliang.com

# cd b.yuliang.com

# echo "this is b.yuliang.com" > index.html   ===新建默认页


    新建日志文件目录

# mkdir -p /home/logs/nginx


将日志存放到/home/logs下,这边是存放nginx日志,所以nginx日志保持在当前的nginx目录下.日志统一存放相对来说比较规范
配置nginx虚拟主机

增加nginx主配置文件nginx.conf

先配置nginx日志格式,在nginx.conf找到如下内容,并且将#注释标志去掉

#log_format main ‘$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.conf
server{
server_name a.yuliang.com;
listen 80;
root /home/website/a.yuliangcom;

access_log /home/logs/nginx/a.yuliang.com-access.log main;
location /
{

}
}

server{
server_name b.yuliang.com;
listen 80;
root /home/website/b.yuliangcom;

access_log /home/logs/nginx/b.yuliang.com-access.log main;
location /
{

}
}


配置讲解

server{}:配置虚拟主机必须有这个段。
server_name:虚拟主机的域名,可以写多个域名,类似于别名,比如说你可以配置成
server_name a.yuliang.com  b.yuliang.com,这样的话,访问任何一个域名,内容都是一样的
listen 80,监听ip和端口,这边仅仅只有端口,表示当前服务器所有ip的80端口,如果只想监听127.0.0.1的80,写法:listen 127.0.0.1:80
root /home/wensite/a.yuliang.com:站点根目录,你网站文件存放的地方。
access_log /home/logs/nginx/a.yuliang.com-access.log main:访问日志
location /{} 默认url


重启并打开站点

nginx -t 检查nginx配置是否ok,命令如下:
# /usr/local/nginx-1.5.1/sbin/nginx -t
nginx: the configuration file /usr/local/nginx-1.5.1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx-1.5.1/conf/nginx.conf test is successful

看到以上两行ok和successful就表示配置问题,启动nginx

启动nginx
# /usr/local/nginx-1.5.1/sbin/nginx或service nginx restart

将如下内容增加到C:\Windows\System32\Drivers\etc\hosts
192.168.11.7 a.yuliang.com
192.168.11.7 b.yuliang.com

以上是windows绑定hosts方式,如下是linux方式
echo "192.168.11.7 a.yuliang.com
192.168.11.7 b.yuliang.com" >> /etc/hosts

使用浏览器访问这两个站点。我这边使用curl来访问。
[[email protected] conf]# curl http://a.yuliang.com
this is a.yuliang.com //a站点内容
[[email protected] conf]# curl http://b.yuliang.com
this is b.yuliang.com! //b站点内容


    关闭nginx
/usr/local/nginx-1.5.1/sbin/nginx -s stop

    重载nginx
/usr/local/nginx-1.5.1/sbin/nginx -s reload  =====修改配置之后reload


本文出自 “亮公子” 博客,请务必保留此出处http://iyull.blog.51cto.com/4664834/1864396

以上是关于nginx配置虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

nginx虚拟主机配置

Nginx 虚拟主机配置

nginx常用配置系列-虚拟主机

nginx基础配置(多个虚拟主机)

nginx 配置

nginx虚拟主机配置