配置虚拟主机
本节主要讲解如果使用nginx配置多个虚拟主机,也就是我们通常说的配置域名.接下来我们配置两个域名a.zhangke.com,b.zhangke.com
。
准备站点
我们站点统一放到/data/zhangke
下,每个站点根目录名称都和域名相同,具体如下。
新建a.zhangke.com
的站点根目录,目录新建a站的首页index.html
,内容如下
1 | this is a.zhangke.com |
新建b.zhangke.com
站点根目录,目录下新建b站首页index.html,内容如下
1 | this is b.zhangke.com |
新建日志文件目录
我们统一讲日志存放到/data/logs下,这边是存放nginx日志,所以nginx日志保持在当前的nginx目录下.日志统一存放相对来说比较规范(如果你不习惯,你可以按自己的方式来做),另外当出问题时,可以帮助我们进行分析问题的原因。
配置nginx虚拟主机
增加nginx主配置文件nginx.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
user nginx;
worker_processes 1;
error_log /home/root/logs/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /home/root/logs/access.log main;
error_log /home/root/logs/error.log error;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
# include /etc/nginx/conf.d/*.conf;
## a.zhangke.com 配置
server{
server_name a.zhangke.com;
listen 80;
access_log /home/root/logs/a.zhangke.com-access.log main;
error_log /home/root/logs/a.zhangke.com-error.log error;
location / {
root /home/root/a.zhangke.com/;
index index.html;
}
}
# b.zhangke.com 配置
server{
server_name b.zhangke.com;
listen 80;
access_log /home/root/logs/b.zhangke.com-access.log main;
error_log /home/root/logs/b.zhangke.com-error.log error;
location / {
root /home/root/b.zhangke.com/;
index index.html;
}
}
}配置讲解
server{}:配置虚拟主机必须有这个段。
server_name:虚拟主机的域名,可以写多个域名,类似于别名,比如说你可以配置成
server_name b.zhangke.com c.zhangke.com ,这样的话,访问任何一个域名,内容都是一样的listen 80,监听ip和端口,这边仅仅只有端口,表示当前服务器所有ip的80端口,如果只想监听127.0.0.1的80,写法如下:
1
listen 127.0.0.1:80
root /home/root/b.zhangke.com:站点根目录,你网站文件存放的地方。注:站点目录和域名尽量一样,养成一个好习惯
access_log /home/root/logs/nginx/b.ttlsa.com-access.log main:访问日志
location /{} 默认uri,location具体内容后续讲解
重启并打开站点
nginx -t
检查nginx配置是否ok,命令如下:
1 | #/usr/local/nginx-1.5.1/sbin/nginx -t |
如果看到以上两行ok和successful就表示配置问题,那接下来我们启动nginx
启动nginx,或者重启nginx,我已经启动了nginx,所以使用的重启,命令如下
1 | nginx -s reload |
修改本机的host。添加下面这俩行
1 | 127.0.0.1 a.zhangke.com |
使用浏览器访问这两个站点,就可以看到我们刚才添加的内容