在Linux中使用Nginx实现本地Web服务和Docker应用共用80端口教程

Step 1:安装Nginx

首先,在Linux系统上安装Nginx。可以使用包管理工具来安装Nginx,例如在Ubuntu上使用apt:

sudo apt update
sudo apt install nginx
  • 1.
  • 2.

Step 2:配置本地Web服务

蓝易云服务器 - linux使用nginx实现本地web服务和docker应用,共用80端口教程。_Web

假设您已经在本地搭建了一个Web服务,例如使用Node.js或Python搭建的简单Web应用。默认情况下,Web服务可能会使用80端口。现在我们将其配置为使用其他端口,例如8080端口。编辑Web服务的配置文件,将其监听端口修改为8080:

# 对于Node.js应用,找到应用的启动文件,例如app.js或index.js
# 修改端口号
const port = 8080;
  • 1.
  • 2.
  • 3.

重启Web服务,使其生效。

Step 3:配置Docker应用

假设您已经有一个Docker应用,它也是一个Web服务,默认情况下可能也会使用80端口。现在我们将其配置为使用其他端口,例如8081端口。在Docker容器的启动命令中,将其映射到宿主机的8081端口:

docker run -d -p 8081:80 your_docker_image
  • 1.

Step 4:配置Nginx

现在,我们将配置Nginx来实现本地Web服务和Docker应用共用80端口。

编辑Nginx的配置文件 /etc/nginx/sites-available/default

server {
    listen 80;
    server_name your_domain_name; # 将your_domain_name替换为您的域名或IP地址

    location / {
        proxy_pass http://localhost:8080; # 将localhost:8080替换为您本地Web服务的地址和端口
    }

    location /docker {
        proxy_pass http://localhost:8081; # 将localhost:8081替换为Docker应用的地址和端口
    }
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

Step 5:重启Nginx

保存Nginx配置文件后,重启Nginx使其生效:

sudo service nginx restart
  • 1.

Step 6:测试

现在,您的本地Web服务将通过Nginx代理使用80端口,您可以通过访问 http://your_domain_name/来访问本地Web服务。而Docker应用也通过Nginx代理使用80端口,您可以通过访问 http://your_domain_name/docker/来访问Docker应用。

总结

通过配置Nginx,我们可以实现本地Web服务和Docker应用共用80端口的目的,从而简化了端口访问,方便管理和部署。使用Nginx作为反向代理服务器,可以将客户端的请求均匀地分发到本地Web服务和Docker应用,实现统一的入口。祝您在使用Nginx部署Web服务和Docker应用时取得成功!如果您有其他问题,随时向我询问。