使用Nginx将大模型Web应用部署到公网

使用Nginx将大模型Web应用部署到公网

大模型训练完毕后,我们可以用SWIFT快速构建一个Web Demo大模型Web应用,本文将介绍如何使用Nginx将大模型Web应用部署到公网。

在进行后续步骤之前,先按照搭建一个大模型API服务中的方法安装好SWIFT框架,并激活到你的conda环境。

启动大模型Web应用

使用SWIFT提供的Web-UI启动大模型Web应用:

CUDA_VISIBLE_DEVICES=0 swift app-ui --model_type qwen1half-14b-chat --model_id_or_path /yldm0226/models/Qwen1.5-14B-Chat

运行成功后,可以看到以下输出:

Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

此时,我们就可以通过http://127.0.0.1:7860访问该Web应用了。

如果我们想让其他人也能访问到这个网址,需要将Web应用部署到公网。

配置Nginx服务器

这里我们使用Nginx来实现需求,Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

以Ubuntu系统为例,使用以下命令安装Nginx:

sudo apt update
sudo apt install nginx

找到Nginx的配置文件。通常情况下,在Ubuntu中,配置文件位于/etc/nginx/nginx.conf。使用文本编辑器打开配置文件。

在配置文件中找到http块,然后在其中添加一个新的server块。示例如下:

server {
       listen 80;
       server_name 你的服务器ip地址;

       location / {
       proxy_pass http://localhost:7860;
       proxy_http_version 1.1;
       proxy_set_header Upgrade $http_upgrade;
       proxy_set_header Connection "Upgrade";
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       }
   }

保存并关闭配置文件。

运行以下命令检查Nginx配置是否有语法错误:

sudo nginx -t

如果没有错误,可以看到以下输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果有错误,请仔细检查并纠正错误。

运行以下命令启动nginx服务:

service nginx start

如果服务器上启用了防火墙(如iptables),需要确保将Nginx监听的80端口放行。

检查当前的iptables规则:

iptables -L

如果没有现有的规则允许80端口的流量通过,可以使用以下命令添加规则:

iptables -A INPUT -p tcp --dport 80 -j ACCEPT

这将允许TCP流量通过80端口。

如果服务器上运行着防火墙软件(如UFW),还需要确保它允许80端口的流量通过。可以使用以下命令启用UFW的80端口:

ufw allow 80

如果权限不足,需要在命令前加上sudo以获取管理员权限。

成功之后,就可以在本地浏览器中通过http://ip来访问服务器上的大模型Web应用了:

请注意,如果你的服务器网络是内网,本地需要额外的代理才能正常访问Web应用。

posted @ 2024-03-15 10:18  一蓑烟雨度平生  阅读(427)  评论(0编辑  收藏  举报