我已经安装了nginx,我正在努力设置我的服务器块。 我已经在/ etc / nginx中创build了站点可用和启用站点的文件夹。 之后,我创build了一个名为我要设置的子域的文件,并放入以下内容:
subdomain.mydomain.com(当然换成我的真实域名)
upstream subdomain.mydomain.com { server 127.0.0.1:1234; keepalive 30; } server { listen 80; listen [::]:80; server_name subdomain.mydomain.com; access_log off; error_log /var/log/nginx/subdomain.mydomain.com-error.log crit; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_pass http://subdomain.mydomain.com; proxy_redirect off; proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; } }
然后我运行下面的命令:
ln -s /etc/nginx/sites-available/subdomain.mydomain.com /etc/nginx/sites-enabled/ service nginx restart
Nginx重启没有问题,但子域不可达。 当我复制粘贴上面的服务器块configuration到我的/etc/nginx/nginx.conf http块,它工作得很好。
我的问题:
为什么它不是从站点可用文件夹加载我的服务器块? 我想这是向nginx添加新网站的首选方式。
Nginx.conf:
https://ghostbin.com/paste/bfgqz
看起来你的发行版的nginxconfiguration根本不读取/etc/nginx/sides-enabled目录; 你可能会遵循另一个发行版本的说明。 nginx查找configuration文件的唯一地方是/etc/nginx/conf.d/ ,由nginx.conf这一行确定:
include /etc/nginx/conf.d/*.conf;
因此,您应该将configuration文件移动到/etc/nginx/conf.d/subdomain.mydomain.com.conf (请注意.conf后缀),或者将nginx主configuration更改为包含启用了站点的文件( 不推荐使用 ,因为发行版的软件包pipe理器可能会在将来的更新中覆盖它)。