Nginx一个IP配置多个主机

来源:互联网 发布:sql contains 用法 编辑:程序博客网 时间:2024/05/19 12:15

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

  • 主机只有一个IP地址 123.123.123.123
  • 有两个功能不同的网站,一个是我现在的blog,一个是朋友的购物网站
  • 有两个域名 www.wusay.org www.AusForYou.com,一个是我的blog,一个是朋友的域名
  • 需要用户通过不同的域名访问不同的网站内容

安装两个站点的源代码

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

修改NGINX配置

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

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

sites-enabled文件夹中新建两个文件,分别为wusayAusForYou内容如下:

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进程,加载新配置,完成任务