2017-09-01 64 views
0

我在运行单个应用程序的ubuntu上有一个nginx服务器。我想让多个域指向此服务器。在nginx服务器上设置多个域

目前我的/ etc/nginx的/网站可用/默认看起来是这样的:

(website1.com是一样,我不想让我的真实域名为例)

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 


    root /var/www/website/public; 
    index index.php index.html index.htm; 


    server_name website1.com; 

    location/{ 

      try_files $uri $uri/ /index.php?$query_string; 
    } 

    location ~ \.php$ { 
      try_files $uri /index.php =404; 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; 
      fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME 
      $document_root$fastcgi_script_name; 
      include fastcgi_params; 

    } 

} 

这有效果当有人去website1.com

现在,如果来自website2.com的人,我只是再次完全复制代码,并更改server_name?

或者还有什么我必须做的?

回答

1

您可以只列出在您的服务器名称指令

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 


    root /var/www/website/public; 
    index index.php index.html index.htm; 


    server_name website1.com website2.com website3.com; 
... 

记住,你需要解析website2.com到相同的IP也website2.com一个DNS尽可能多的域名!

+0

谢谢兄弟!当涉及SSL证书时,我会怎么做? – virepo

+0

如果您使用子域名,您可以使用通配符证书,但是如果您的网站类似于website1.com和website2.com而不是web2.website.com和web1.website.com,则您需要为每个网站设置一个服务器块几乎相同的东西,只是改变server_name和ssl部分。 –

+0

如果符合您的期望,请接受答案:D –