主配置文件为nignx.conf,主配置文件包含的所有配置文件统一放入extra目录,虚拟主机的配置文件起名为nginx_vhosts.conf,也可以把每个虚拟主机配置成一个单独的配置文件。
[[email protected]]# pwd
/application/nginx/conf
[[email protected]]# mkdir extra
[[email protected]]# vi nginx.conf #内容如下
user nginx nginx;
worker_processes 8;
error_log /app/logs/nginx_error.log crit;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
include 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"‘;
sendfile on;
keepalive_timeout 65;
include extra/nginx_vhosts.conf; #引用独立虚拟文件
}
[[email protected]]# cat nginx_vhosts.conf #内容如下
server {
listen 80;
server_name www.51cto.com 51cto.com; #域名
location / {
root /data0/www/www; #站点目录
index index.html index.htm;
access_log /app/logs/www_access.log main; #日志文件
}
}
###
server {
listen 80;
server_name bbs.51cto.com;
location / {
root /data0/www/bbs;
index index.html index.htm;
access_log/app/logs/bbs_access.log main;
}
}
###
server {
listen 80;
server_name blog.etiantian.org ;
location / {
root /data0/www/blog;
index index.html index.htm;
access_log /app/logs/blog_access.log main;
}
}
#以上是把3个虚拟站点目录配置,从nignx.conf分离出来,在extra下建立一个nginx_vhosts.conf。
#也可以从nginx_vhosts.conf虚拟主机文件中分出3个独立的虚拟主机文件:
[[email protected]]# sed -n ‘10,19p‘ nginx_vhosts.conf > bbs.conf
[[email protected]]# sed -n ‘20,30p‘ nginx_vhosts.conf > blog.conf
[[email protected]]# sed -n ‘1,9p’ nginx_vhosts.conf > www.conf
把虚拟主文件分成三个独立的文件之后,在nginx.conf中要分别做三个引入,如下:
include extra/nginx_vhosts.conf; #引用独立虚拟文件
include extra/bbs.conf;
include extra/blog.conf;
include extra/www.conf;
总而言之,有三种虚拟主机配置方式:一种是所以虚拟主机配置都放在nginx.conf中配置;第二种方式,建立extra目录,在该目录下建立一个nginx_vhosts.conf,三个虚拟站点目录配置文件放在该文件中;第三种方式,分别建立三人独立的虚拟主机文件,通过主配置文件来引入。