使用nginx和Namecheap设置子域名
问题描述:
似乎有很多不同的冲突方式做事情,所以我有点困惑,需要一些帮助。 我有几个网站在不同的端口上运行在我的服务器上。 我在8085端口上有一个项目管理站点,在3000上有一个仪表板,等等。 我想为每个端口创建子域,我希望能够使用nginx而不是屏蔽来实现。使用nginx和Namecheap设置子域名
现在我有一个DNS A记录指向我的IP地址,并且它成功显示“Welcome to nginx!”页。 我该如何做到这一点,如果我访问这个页面,比如说projects.url.com,nginx会将代理传递给http://localhost:8085,并且正确的url会继续显示在浏览器中?
感谢您的帮助!
这是我目前的网站文件片段,它似乎并没有这样的伎俩:
server {
listen 80;
server_name projects.calben.xyz www.projects.calben.xyz;
location/{
proxy_pass http://localhost:8085/;
}
}
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location/{
try_files $uri $uri/ =404;
}
}
答
首先建立一个通配符子域名指向你的服务器IP。或者,如果你想要,你可以设置你想要的特定子域名。
假设你已经有一个CONFIGS nginx的保持在/etc/nginx/sites-available
您将备份并删除/etc/nginx/sites-available/default.conf
。然后,您将添加文件,您的子域名
sub.example.com.conf
server {
listen 80;
server_name sub.example.com;
location/{
proxy_pass http://127.0.0.1:8085;
}
}
然后符号链接/etc/nginx/sites-enabled/sub.example.com.conf
这个文件并重新启动nginx的。现在你的网站应该可以在http://sub.example.com
我添加了我当前的nginx设置。你可以看看它,看看它有什么问题吗?谢谢! – calben
你正在得到什么错误? –
没有错误,但是当我试图访问projects.calben.xyz时,我被提供了默认的nginx页面。 – calben