您的位置:首页 > 运维架构 > Nginx

Nginx一个IP配置多个主机

2013-07-10 22:59 253 查看
今天,朋友有个网站要挂在我的服务器上,鼓捣了一下Nginx中配置多个主机和域名,具体的要求是:

主机只有一个IP地址 123.123.123.123

有两个功能不同的网站,一个是我现在的blog,一个是朋友的购物网站

有两个域名 www.wusay.org www.AusForYou.com,一个是我的blog,一个是朋友的域名

需要用户通过不同的域名访问不同的网站内容


安装两个站点的源代码

/srv/www/
下建立了两个目录,分别用来存放我的blog和朋友的购物网站,目录分别是
wusay
AusForYou
,具体的代码安装和数据库安装就不说了


修改NGINX配置

我用的Nginx是1.1.19版本,配置信息都在
/etc/nginx/
下,主配置文件是nginx.conf,不过这个文件安装好了以后不用怎么修改了,注意看看里面的
include
/etc/nginx/sites-enabled/*;
是否被注释掉了,如果被注释掉请删掉注释,其中sites-enabled文件夹中就是存各个站点的具体配置信息


修改SITES-ENABLED文件夹内的配置

sites-enabled
文件夹中新建两个文件,分别为
wusay
AusForYou
内容如下:
server {
listen  80;
server_name www.wusay.org wusay.org ;
access_log /srv/www/wusay/logs/access.log;
error_log /srv/www/wusay/logs/error.log;
root /srv/www/wusay/public_html;

location / {
# root /srv/www/wusay/public_html;
index  index.html index.htm index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}

location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/wusay/public_html$fastcgi_script_name;
}

}


AusForYou的文件内容也和这个类似,不过server_name那里要用www.ausforyou.com这个域名,另外,所有的路径中的
wusay
都要改成
AusForYou
,这样,就为这台主机添加了两个虚拟主机,Nginx会根据域名来决定是将用户指引到哪一台虚拟主机上进行操作。


删除SITES-AVAILABLE中的文件

之前我都配好了,但是一直就弄不了两个虚拟主机,后来发现sites-available这个目录下有个
default
文件,里面有一些默认配置可能影响了使用,删掉就行了


重启NGINX进程

最后,运行
/etc/init.d/nginx restart
重启Nginx进程,加载新配置,完成任务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: