AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 413148
Accepted
Arcticooling
Arcticooling
Asked: 2017-12-27 08:57:49 +0800 CST2017-12-27 08:57:49 +0800 CST 2017-12-27 08:57:49 +0800 CST

Nginx - criando um subdomínio com link para outro site (local)

  • 772

Eu tenho um VPS da DigitalOcean baseado no Ubuntu 16.04 com um Nginx puro (gerencio DNSs por meio da ferramenta de gerenciamento de DNS da DigitalOcean). No meu ambiente Nginx, tenho 2 sites em /var/www/html/. Um é example.com(HTTPS) e o outro é um site sem domínio com um diretório chamado test(HTTP).

Como criar um subdomínio para example.com que levará ao teste ? ( test.example.com)?


1) Meu nginx.conf .

2) Meu example.comsite-conf:

server {
    root /var/www/html/example.com;
    server_name example.com www.example.com;

    location ~ /\.ht {
        deny all;
    }

    location / {
        index index.php index.html index.htm fastcgi_index;
        try_files $uri $uri =404 $uri/ /index.php?$args;
    }

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js|ttf|woff|pdf)$ {
        expires 365d;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    listen 80; # managed by Certbot

    listen 443 ssl http2; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    # Redirect non-https traffic to https
    # if ($scheme != "https") {
    #     return 301 https://$host$request_uri;
    # } # managed by Certbot
}

3) Meu testsite-conf:

server {
    root /var/www/html/test;

    location ~ /\.ht {
        deny all;
    }

    location / {
        index index.php index.html index.htm fastcgi_index;
        try_files $uri $uri =404 $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    listen 80;
}

Atualizar:

  • Ainda não alterei nada na ferramenta de gerenciamento de DNS do meu provedor de hospedagem VPS.
  • Quero que todos no mundo possam acessar o testsite por meio do subdomínio.
dns ip
  • 1 1 respostas
  • 1917 Views

1 respostas

  • Voted
  1. Best Answer
    Thomas Ward
    2017-12-27T12:49:36+08:002017-12-27T12:49:36+08:00

    Duas coisas são necessárias em qualquer ambiente Nginx e DNS para criar corretamente um novo subdomínio com uma raiz de documento diferente:

    1. Um server { }bloco adicional para lidar com isso (além do que você já tem no item #3).

    2. Um registro DNS para apontar o outro subdomínio para o servidor web adequado.

    Com base na configuração fornecida, você precisa fazer 2 coisas:

    1. Falta uma diretiva test.example.comna configuração do seu site. server_name test.example.com;Adicione um e reinicie o nginxprocesso.

    2. Defina um test.example.comregistro DNS no DNS para seu domínio principal (provavelmente, da ferramenta de gerenciamento de DNS da sua nuvem).

    Sempre diga ao NGINX quais sites processar com quais blocos de servidor. Como mantenedor do pacote nginxno Ubuntu, estou familiarizado com a maioria das armadilhas no nível do usuário que as pessoas encontram, como esta.


    Você nos deu isso:

    server {
        root /var/www/html/test;
    
        location ~ /\.ht {
            deny all;
        }
    
        location / {
            index index.php index.html index.htm fastcgi_index;
            try_files $uri $uri =404 $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        listen 80;
    }
    

    Então , literalmente , apenas adicione logo antes da sua rootlinha, esta linha:

    server_name test.example.com;
    

    ... e você obtém este arquivo de configuração:

    server {
        root /var/www/html/test;
        server_name test.example.com;
    
        location ~ /\.ht {
            deny all;
        }
    
        location / {
            index index.php index.html index.htm fastcgi_index;
            try_files $uri $uri =404 $uri/ /index.php?$args;
        }
    
        location ~ \.php$ {
            fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        listen 80;
    }
    
    • 2

relate perguntas

  • Como posso resolver o nome do host para ip usando diferentes servidores DNS?

  • Colocando IP externo em uma variável - falha na operação grep [duplicado]

  • problema de resolução reversa do bind9

  • Um endereço IP pode terminar em 255 e não ser um endereço IP de transmissão?

  • Como faço para verificar se estou usando 9.9.9.9 para DNS?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve