NGINX Reverse Proxy 反向代理
类别: NGINX 标签: NGINX WebSocket 反向代理目录
通过 CPU 服务器访问 GPU 服务器
NGINX 配置文件
sudo vim /etc/nginx/sites-available/default
配置反向代理
server {
listen 8888;
server_name cpu1;
location / {
proxy_pass http://cpu1:8300/;
}
}
配置 WebSocket 反向代理
server {
listen 8001;
server_name cpu1;
location / {
proxy_pass http://gpu1:8001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
proxy_http_version 1.1
,proxy_set_header Upgrade $http_upgrade
和proxy_set_header Connection "upgrade"
这些行是为了支持WebSocket连接。
配置多个反向代理
server {
listen 8888;
server_name cpu1;
location /oneapi {
proxy_pass http://cpu1:8100/;
}
location /chatgpt {
proxy_pass http://cpu1:8300/;
}
location /chatbot {
proxy_pass http://gpu1:8001/;
}
location /chatbot-arena {
proxy_pass http://gpu1:8002/;
}
}
没有达到目标。服务里面有引用绝对路径的情况,这时候就出现 404 了,这时候就需要配置 proxy_redirect
了。
配置负载均衡
重启
sudo systemctl restart nginx
调试
GitHub Copilot: 调试Nginx的一个常见方法是查看其错误日志。Nginx的错误日志通常位于/var/log/nginx/error.log
,但这可能会根据你的系统和Nginx配置的不同而变化。
你可以使用以下命令查看错误日志:
sudo tail -f /var/log/nginx/error.log
这个命令会显示错误日志的最后几行,并在新的日志条目出现时实时更新。这可以帮助你找出问题的原因。
另外,你也可以尝试增加Nginx的错误日志级别,以获取更详细的信息。你可以在Nginx的配置文件中,将error_log
指令的级别设置为debug
。例如:
error_log /var/log/nginx/error.log debug;
然后,你需要重新加载或重启Nginx以应用新的配置。
请注意,debug
级别的日志非常详细,可能会占用大量的磁盘空间。因此,你应该只在需要调试问题时使用它,并在问题解决后将日志级别改回原来的设置。
日志查看
sudo tail -f /var/log/nginx/access.log