服务器如何新建子域名

遇到的问题:希望通过子域名的形式,访问服务器中的不同的端口。

解决方式:

提问:我目前的域名地址为:new123.vip:9880/。 我希望可以用一个子域名来替换,使用nginx来启动。我需要如何在服务器上面编写呢。请给我服务器操作的步骤、命令、脚本文件、配置文件。谢谢

以下为AI回答:

为了使用 Nginx 将一个子域名指向您的应用,并且通过 http://new123.vip:9880/ 进行访问,您需要完成以下几步。我假设您已经拥有了一个子域名,并且可以对其 DNS 记录进行管理。

1. 配置 DNS

首先,您需要在您的域名注册商提供的控制面板中为您的子域名添加一条 A 记录,指向您的服务器的公网 IP 地址。这个步骤因提供商而异,通常涉及添加一条新的记录,记录类型选择 A,主机名填写您的子域名(如 sub.new123.vip),指向地址填写您服务器的 IP。

我的是腾讯云注册的域名: 地址: console.cloud.tencent.com/cns

添加子域名,按照操作,进行执行即可

2. 安装 Nginx

如果您的服务器还没有安装 Nginx,可以通过以下命令安装:

bash 复制代码
sudo apt update
sudo apt install nginx -y

确保 Nginx 服务正在运行:

bash 复制代码
sudo systemctl enable nginx
sudo systemctl start nginx

3. 配置 Nginx

接下来,您需要创建一个新的 Nginx 配置文件来定义如何处理进入您子域名的请求。这涉及到设置一个反向代理,将请求从您的子域名转发到您的应用上(运行在 http://localhost:9880 或任何您指定的内部地址)。

  1. 创建一个新的配置文件:
bash 复制代码
sudo nano /etc/nginx/sites-available/sub.new123.vip
  1. 在文件中添加以下配置,用于定义服务器监听的域名以及如何处理进入该域名的请求:
nginx 复制代码
server {
    listen 80;
    server_name sub.new123.vip;

    location / {
        proxy_pass http://localhost:9880;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}
  1. 保存并关闭文件。

  2. 启用新的站点配置:

bash 复制代码
sudo ln -s /etc/nginx/sites-available/sub.new123.vip /etc/nginx/sites-enabled/
  1. 测试 Nginx 配置是否正确:
bash 复制代码
sudo nginx -t
  1. 如果测试显示为 successful,则重新加载 Nginx 以应用新配置:
bash 复制代码
sudo systemctl reload nginx

4. 配置防火墙(可选)

如果您的服务器启用了防火墙,确保 80 端口(HTTP)和 443 端口(如果使用 HTTPS)是开放的。例如,如果您使用 UFW 防火墙,可以使用以下命令:

bash 复制代码
sudo ufw allow 'Nginx Full'
sudo ufw reload

现在,当用户访问 http://sub.new123.vip 时,他们的请求应该会被 Nginx 代理到您的应用上,即运行在 http://localhost:9880 的服务。

如果您希望启用 HTTPS(强烈建议),您可以使用 Let's Encrypt 提供的 Certbot 免费获取和安装 SSL/TLS 证书。 Certbot 的安装和配置略复杂,需要额外的步骤,包括安装 Certbot、运行它以获取证书,以及配置 Nginx 以使用这些证书。

相关推荐
SomeB1oody4 小时前
【RustyML入门】6.3. 并行归约
开发语言·后端·机器学习·rust·教程
Profile排查笔记5 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
用户938515635075 小时前
用 AI 结对编程从 0 搭一个"单词后台管理系统":Next.js + Supabase + Drizzle + shadcn/ui 全记录
后端·postgresql·next.js
爱学习的小邓同学5 小时前
Golang --- (1)第一个Golang程序
开发语言·后端·golang
小灰灰搞电子7 小时前
Rust+Slint 实现的“DNA双螺旋”加载动画源码分享
后端·rust·slint·加载动画
面向Google编程7 小时前
向量库不再囤数据:Milvus 3.0 零拷贝直读数据湖
后端
IT_陈寒8 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
Python私教8 小时前
AI 漫剧角色一进分镜就变脸?把提示词升级成“角色 ID + 镜头合同”
后端
Python私教8 小时前
一次生成 20 个角色却全都撞脸:我用“角色合同”重做了批量生成流程
后端
用户594404103569 小时前
Go 语言高性能 Web 服务开发:基于 Gin + GORM + Redis 构建 RESTful API
后端