【问题标题】:How can I setup subdomain on DO NGINX droplet?如何在 DO NGINX 液滴上设置子域?
【发布时间】:2017-11-24 14:27:26
【问题描述】:

我在 DigitalOcean 有一个 droplet,我在 Ubuntu 上使用了 LEMP 的一键安装。

我在添加子域时遇到了问题。这就是我正在做的事情。

  1. 我设置了域并将其指向我的服务器。

  2. 我还为我的子域 sub.mydomain.com 创建了一条 A 记录

  3. 我使用以下命令为我的子域创建了一个新目录:sudo mkdir -p /var/www/sub.mydomain.com/html

  4. 我也这样做了:sudo chown -R $USER:$USER /var/www/sub.mydomain.com/html

  5. 我使用以下命令创建了一个新的服务器块: sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/sub.mydomain.com

  6. 在这里我正在尝试修改我的服务器块,我认为这是我做错了什么

    ##
    # You should look at the following URL's in order to grasp a solid understanding
    # of Nginx configuration files in order to fully unleash the power of Nginx.
    # http://wiki.nginx.org/Pitfalls
    # http://wiki.nginx.org/QuickStart
    # http://wiki.nginx.org/Configuration
    #
    # Generally, you will want to move this file somewhere, and start with a clean
    # file but keep this around for reference. Or just disable in sites-enabled.
    #
    # Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
    ##
    
    # Default server configuration
    #
    server {
    listen 80 default_server;
    listen [::]:80 default_server;
    
    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Note: You should disable gzip for SSL traffic.
    # See: https://bugs.debian.org/773332
    #
    # Read up on ssl_ciphers to ensure a secure configuration.
    # See: https://bugs.debian.org/765782
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;
    
    root /var/www/html;
    
    # Add index.php to the list if you are using PHP
    index index.php index.html index.htm index.nginx-debian.html;
    
    server_name sub.mydomain.com;
    
    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }
    
    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #   include snippets/fastcgi-php.conf;
    #
    #   # With php7.0-cgi alone:
    #   fastcgi_pass 127.0.0.1:9000;
    #   # With php7.0-fpm:
    #   fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    #}
    
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #   deny all;
    #}
    }
    
    
    # Virtual Host configuration for example.com
    #
    # You can move that to a different file under sites-available/ and symlink that
    # to sites-enabled/ to enable it.
    #
    #server {
    #   listen 80;
    #   listen [::]:80;
    #
    #   server_name example.com;
    #
    #   root /var/www/example.com;
    #   index index.html;
    #
    #   location / {
    #       try_files $uri $uri/ =404;
    #   }
    #}
    

我到底做错了什么?我应该在服务器块文件中包含什么?

【问题讨论】:

    标签: nginx subdomain digital-ocean


    【解决方案1】:

    你应该改变吗:

    listen 80 default_server;
    listen [::]:80 default_server;
    

    收件人:

    listen 80;
    listen [::]:80;
    

    然后将符号链接添加到:

    /etc/nginx/sites-enabled
    

    命令:

    $ cd /etc/nginx/sites-enabled
    $ sudo ln -s /etc/nginx/sites-available/sub.mydomain.com
    

    希望对您的问题有所帮助

    【讨论】:

    • 你的 nginx 重启了吗?
    猜你喜欢
    • 2022-01-13
    • 2011-08-21
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 2021-03-02
    • 2010-11-13
    • 2012-09-19
    • 1970-01-01
    相关资源
    最近更新 更多