配置 – 使用子域配置Nginx

我已完成我之前的研究,但似乎无法找到如何正确配置nginx以接受子域.

我目前已为mydomain.com正确配置,但不是analytix.mydomain.com:

server {
        listen       80;
        server_name     *.mydomain.com;
        access_log /home/ubuntu/virtualenv/mydomain/error/access.log;
        error_log /home/ubuntu/virtualenv/mydomain/error/error.log warn;
        connection_pool_size 2048;

        fastcgi_buffer_size 4K;
        fastcgi_buffers 64 4k;

        root /home/ubuntu/virtualenv/mydomain/homelaunch/;

        location /static/ {
            alias /home/ubuntu/virtualenv/mydomain/homelaunch/static/;
        }

        location / {
            proxy_pass http://127.0.0.1:8001;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"';
        }
    }

server_name声明接受< anyhere> .mydomain.com这是好的.

如果我访问analytix.mydomain.com,它会抛出Http 500默认值,这很好,因为它从mydomain.com的现有应用程序中抛出它

该域名已经传播到我正在尝试访问它的服务器上.

如何在路径中指定文件夹来存放analytix.mydomain.com的内容?我想我会要求更改nginx conf中的属性(如上所示)

最佳答案
创建一个新的服务器块,将server_name设置为所需的域. nginx的普通目录和文件结构如下:

/etc/nginx
|
|---- /sites-available
|     |
|     |---- default.conf
|
|---- /sites-enabled
      |
      |---- default.conf -> ../sites-available/default.conf

您必须在站点中创建一个新文件 – 其中包含新的服务器块用于您的子域,并在启用站点的位置创建指向此新文件的符号链接.简单的重新加载nginx将使您的新服务器启动.

您的新文件结构如下所示:

/etc/nginx
|
|---- /sites-available
|     |
|     |---- analytix.conf
|     |
|     |---- default.conf
|
|---- /sites-enabled
      |
      |---- analytix.conf -> ../sites-available/analytix.conf
      |
      |---- default.conf -> ../sites-available/default.conf

以下是直接在您的服务器上执行此操作所涉及的命令:

# cd /etc/nginx/sites-available
# cat default.conf > analytix.conf
# editor analytix.conf

更改行server_name * .mydomain.com;到server_name analytix.mydomain.com.

# ln -s analytix.conf ../sites-enabled/
# nginx -t

只有在说你的配置没问题时才会继续(应该是这样).

# service nginx restart

就是这样(请注意,以上所有命令都适用于基于Debian的发行版,如果使用其他内容,某些命令可能会有所不同).

为了在服务器上提供不同软件的内容,您必须更改配置中的root指令并将其指向其他软件的文档根目录.

# editor analytix.conf

改变root / home / ubuntu / virtualenv / mydomain / homelaunch /;到root / path / to / other / software;并重新加载你的nginx.

# nginx -t && service nginx reload

就是这样,你的新应用程序现在应该服务.

转载注明原文:配置 – 使用子域配置Nginx - 代码日志