使用Nginx在端口80上访问Web应用程序
首先
我开始进行将论文搜索应用程序部署到EC2的工作。
我们使用Gradio作为Web应用程序框架,并且该应用程序在端口8080上启动,因此访问时必须指定端口号,如https://example.com:8080。
由于这种方式并不理想,所以我使用了反向代理的方法,以便无需指定端口号即可访问该应用程序。以下是该设置方法的简要说明。
在EC2上安装Nginx。
我使用Amazon Linux 2023作为EC2的机器映像,但是不再使用之前的安装方法,而是使用下面的命令进行安装。
sudo dnf install nginx
(亚马逊 Linux 在 2023 年之前)
sudo amazon-linux-extras install nginx1
Nginxを起動しておきます。
sudo service nginx start
反向代理服务器的配置
ここからが本題になるのですが、上で立てたNginxのHTTPサーバのポート80で受け取ったリクエストを自分のアプリケーションに受け渡すようにします。
そのために設定ファイル/etc/nginx/nginx.confに以下を追加します。(アプリケーションのURLは任意で変更してください)
server {
...
location / {
proxy_pass http://0.0.0.0:8080/;
}
...
}
通过进行这样的修改,您可以在不指定任何端口号的情况下访问应用程序。