我创建了一个简单的应用程序,其中包含一个reactjs前端和一个Spring Boot应用程序作为后端。在我的本地环境下工作正常; React应用程序在端口3000上运行,而spring应用程序在端口9000上运行。
我正在尝试在暂存环境中托管此应用程序。我想在digitalocean上的Ubuntu服务器上托管reactjs和spring boot应用程序。我已经设法使用nginx部署了reactjs前端,现在我想使用apache2部署后端。
我在部署Spring Boot应用程序时遇到困难。我已经生成了一个WAR文件。
在我的react应用程序中,我调用后端spring应用程序以充当浏览器前端的api。我已经设置了apache应用程序以监听9000端口,如下所示:
<VirtualHost *:9000>
ServerName 46.101.34.160
ServerAdmin webmaster@localhost
DocumentRoot
/var/www/html/BackEndBookingAndCollections
</VirtualHost>
我在前端的配置详细信息如下所示;
/ etc / nginx / sites-available / FEBookingAndCollections
内容如下:
server {
listen 80;
root /var/www/FEBookingAndCollections/build;
listen [::]:80 default_server;
server_name 46.101.34.160;
index index.html index.htm;
location / {
try_files $uri /index.html;
}
location /api/bookings/ {
proxy_pass http://46.101.34.160:9000/api/bookings;
}
}
在谷歌浏览器的浏览器中,出现以下错误:
Failed to load resource: net::ERR_CONNECTION_REFUSED :9000/api/bookings:1
答案 0 :(得分:1)
使用spring boot,您不必使用外部Tomcat。您可以将应用程序打包到带有嵌入式tomcat的jar中。您可以在这里找到更多信息-https://www.baeldung.com/deployable-fat-jar-spring-boot。
答案 1 :(得分:0)
没有服务器就无法部署war文件。只需按照下面的步骤
1)安装tomcat
2)查找tomcat webapps路径(/ usr / local / tomcat / webapps)
3)将您的war文件复制到webapps。 (使用scp)
4)确保您的war文件和tomcat在同一端口上侦听。 8080或9000
5)通过apache代理您的api