我有两个react应用程序,一个用于客户端,一个用于管理员,我想要的是将这两个应用程序部署在一个ec2服务器上。我没有域名,所以我想使用ec2服务器的公共IP地址作为我的域。我尝试了许多方法来部署使用nginx,但没有一个工作。我设法部署客户端应用程序成功,但管理员是不工作。我希望管理应用程序是客户端应用程序的子域,因此在我的示例中,假设ec2服务器的公共IP地址为12.12.12.12,则管理URL应为admin.12.12.12.12。这两个应用程序都使用react-router,并具有多个页面,以防需要了解静态文件位置。我尝试在/etc/nginx/sites-available/文件夹中为客户端和管理员创建两个不同的配置文件,并将它们链接起来。仅供参考,我使用pm2部署节点js服务器,它运行良好。
客户端配置
server {
listen 80;
server_name 12.12.12.12;
root /var/www/client/build;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /api {
proxy_pass http://localhost:5000;
proxy_redirect http://localhost:5000 http://$host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
}
}
管理配置文件
server {
listen 80;
server_name admin.12.12.12.12;
root /var/www/admin/build;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
1条答案
按热度按时间yqyhoc1h1#
购买一个域名并用域名替换IP地址是最简单的解决方案。