对于小流量的网站来说,在nginx服务器上只运行一个网站太浪费服务器资源了,如果我们的公司有多个网站业务,在一台服务器上同时运行多个网站,不禁能充分利用起服务器的性能,还能减少公司成本。那么这个功能如何实现呢?
我们先来看一看nginx的配置文件:
vim /usr/local/nginx/conf/nginx.conf
http
{
server
{
listen 81; #监听的端口,前边可添加IP。
server_name localhost; #主机名
access_log logs/access.log combined; #日志位置
location /
{
root html; #网页文件存放的目录
index index.html index.htm; #默认首页文件,优先级从左到右
}
}
}
只需要看这一部分就可以了。每一个server模块(红色部分)就相当于一台独立的主机。我们只需要在http模块中添加sever即可。
示例:
如果我们有a、b两个网站,分别为www.a.com和www.b.com,同时在这台nginx中运行。首先需要在网站主目录中添加两个目录如www.a.com和www.b.com:
mkdir /usr/local/nginx/html/www.a.com
mkdir /usr/local/nginx/html/www.b.com
在两个目录中分别添加两个index.html文件内容分别为:
This is A!
This is B!
然后修改nginx配置文件的http部分内容为:
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 81;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 81;
server_name www.a.com;
access_log logs/www.a.com.access.log combined;
location / {
root html/www.a.com;
index index.html index.htm;
}
}
server {
listen 81;
server_name www.b.com;
access_log logs/www.b.com.access.log combined;
location / {
root html/www.b.com;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
然后重启nginx服务后访问网站:
http://115.159.184.248:81/a/ -------- This is A!
http://115.159.184.248:81/b/ -------- This is B!
这样,简单的虚拟主机便配置好了。
原文地址:http://liupengfang1015.blog.51cto.com/6627801/1767890