前端js获取服务器响应,如何在服务器上部署节点JS后端和响应JS前端?

这是一种方法(使用节点服务器作为apache服务器提供的react网站的API)。

您可以让nodejs在端口5000(远程服务器上)上运行,但请确保您没有使用

localhost

但是

0.0.0.0

.

IE.

app.listen(5000, "0.0.0.0")

;

现在,您应该能够通过该端口IE上的公共IP/DNS名称与节点服务器通信。

MyPublicIPordnsName:5000个

. (假设您已安装

nodejs

以及

npm

=>注意版本,

apt-get install nodejs

默认情况下,将获取旧版本)

如果您需要更新版本的

诺迪斯

然后您可以通过以下步骤获取它(您可以替换它

setup_8.x

与您的首选版本分离)。

cd ~

curl -sL https://deb.nodesource.com/setup_8.x -o nodesource_setup.sh

sudo bash nodesource_setup.sh

sudo apt-get install nodejs

使用Apache2服务器为静态(react,css,…)文件提供服务(不需要运行

create-react-app server

)

sudo apt-get update

sudo apt-get install apache2

使用

npm run build

然后将创建的文件放在

/build

文件夹(在React文件夹中)到

/var/www/html

(在远程服务器上)。请注意,您需要将文件和文件夹从

建造

文件夹,而不是

建造

文件夹本身。

现在,当您键入

MyPublicIPordnsName(MyPublicIPordnsName)

地址(假设Apache正在运行

sudo systemctl start apache2

)

为了让Apache正常工作(如果您使用的是前端路由-ie.

react-router-dom

)您需要转到

/etc/apache2/sites-enabled/000-default.conf

并放置此配置

RewriteEngine on

# Don't rewrite files or directories

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^ - [L]

# Rewrite everything else to index.html to allow html5 state links

RewriteRule ^ index.html [L]

在下面

文件中的节。(阿帕奇不知道你的反应路线。这将使它推送不知道如何处理根目录的每个请求,并留下react handle路由)

然后您需要确保rewriteengine正在运行(否则在重新启动Apache服务器时会出错)。

sudo a2enmod rewrite

最后,重新启动Apache服务器

sudo /etc/init.d/apache2 restart

现在,它应该起作用了。

请注意,您需要在使用新的公共IP/DNS时修改Ajax调用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值