Nginx配置80端口用于多个域名

文章介绍了如何在阿里云ECS服务器上使用nginx配置多个域名,通过不同端口实现网站的跳转。首先安装nginx,然后编辑配置文件设置多个server块,监听不同端口并代理到相应的网站源码目录。接着开放安全组端口,进行域名解析,并最后重启nginx服务使配置生效。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大家都知道80端口是可以通过域名直接访问的(无需加端口号),正常80端口只能使用于一个域名,但通过nginx配置可以实现多个。以阿里云ECS服务器为例,通过命令安装nginx后,打开nginx配置文件

vim /etc/nginx/conf.d/default.conf 

按以下方式配置多个域名跳转

# 官网1跳转

server {

    listen       8088;

    root         /data/webdata/apps/官网源码1

    index        index.html;

    location / {

        try_files $uri $uri/ /index.html;

    }

}

# 官网2 跳转

server {

    listen       8089;

    root         /data/webdata/apps/官网源码2

    index        index.html;

    location / {}

}

# nginx 80

server {

    listen  80;

    server_name  跳转官网1的域名

    charset utf-8;

    index index.html;

    location / {

        proxy_pass      [http://localhost:8088;](http://localhost:8088;)

    }

}

# nginx 80

server {

    listen  80;

    server_name    跳转官网2的域名

    charset utf-8;

    index index.html;

    location / {

        proxy_pass      [http://localhost:8089;](http://localhost:8089;)

    }

}

2、 按配置的路径上传源码

3、 在阿里云ecs服务器上安全组配置,开放配置的端口。路径 ECS服务 - 更多 - 网络和安全组 - 安全组配置 - 配置规则 - 添加你想开放的端口。

4、域名添加对应解析

5、重启nginx。完成。

nginx -s reload
### 配置Nginx实现同一80端口下支持多个不同域名的虚拟主机 为了使Nginx能够在同一80端口下处理来自不同域名的请求,可以通过配置虚拟主机来达成这一目标。每个`server`块代表一个独立的虚拟主机,能够响应特定域名的HTTP请求。 #### 修改Nginx配置文件 编辑位于`/etc/nginx/sites-available/default`或`nginx/conf.d/`目录下的相应配置文件,在其中入如下所示的内容: ```nginx http { server { listen 80; server_name www.example1.com; location / { proxy_pass http://localhost:port_for_example1; # 将此替换为实际的服务端口号 proxy_set_header Host $host; 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; } access_log /var/log/nginx/example1.access.log; error_log /var/log/nginx/example1.error.log; } server { listen 80; server_name www.example2.com; location / { proxy_pass http://localhost:port_for_example2; # 同样地,这里也需要指定具体的应用程序端口 proxy_set_header Host $host; 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; } access_log /var/log/nginx/example2.access.log; error_log /var/log/nginx/example2.error.log; } } ``` 上述配置展示了两个不同的`server`区块分别用于处理来自`www.example1.com`和`www.example2.com`这两个域名的流量[^1]。需要注意的是,对于每一个新的网站都需要创建一个新的`server`区块,并设置对应的`listen`指令以及唯一的`server_name`属性值。 此外,还需确保DNS记录已正确指向服务器公网IP地址,并且防火墙允许外部访问TCP 80端口。 最后一步是重启Nginx服务以应用更改后的配置: ```bash sudo systemctl restart nginx ``` 或者如果是Debian系Linux发行版,则可能需要执行以下命令: ```bash sudo service nginx restart ``` 这样就完成了基本的多域名共享80端口Nginx配置工作[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

石云升

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值