【问题标题】:React: How to publish page on server using React-starter-kitReact:如何使用 React-starter-kit 在服务器上发布页面
【发布时间】:2015-12-17 15:58:50
【问题描述】:

所以,我使用来自以下位置的 repo 创建了一个页面: https://github.com/kriasoft/react-starter-kit

我有自己的全球 ftp 服务器。现在我想在服务器上发布我的项目。

最好的方法是什么。我应该将所有文件复制到 ftp 服务器并只执行命令“npm start”吗?或者我应该部署它?

我是网络部署的新手,不知道它是如何工作的。

感谢任何提示。

【问题讨论】:

  • 你用的是linux服务器还是windows?
  • 我使用的是linux服务器。

标签: node.js ftp reactjs npm


【解决方案1】:

这可能比仅仅通过 ftp 启动您的项目要复杂一些。以下是我在 digitalocean 设置服务器时使用的说明。

sudo apt-get update
sudo apt-get install npm
sudo apt-get install git
sudo apt-get install ufw

sudo apt-get install build-essential libssl-dev
curl https://raw.githubusercontent.com/creationix/nvm/v0.20.0/install.sh | bash
nvm install stable  //may require new ssh session before this

ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw allow 80/tcp
ufw allow out to any port 53
ufw enable

sudo npm install -g forever
sudo npm install -g node-gyp
cd /var
mkdir www
cd www
git clone https://github.com/calitek/palminfo --recursive
npm install
npm ls -depth 0
export PORT=80
node js/server.js
test using ip / when good exit then
forever start js/server.js
set dns

服务器需要支持你添加 node.js。然后你需要最好使用 github 来克隆项目。您需要在服务器上执行 npm install 以确保您使用的是正确的模块。第一次出来有点复杂,下次做笔记就好了。

【讨论】:

  • 最后还是选择在 Heroku 上发布,不过还是谢谢大家。
【解决方案2】:

这是一个很重要的话题,无论你的 Linux 发行版是什么,你可能总是需要两台服务器——一个代理服务器和一个应用服务器。

我建议您使用简单的 Node.js 服务器(如 Express 或 Hapi)来包装已编译的站点。然后配置 nginx 以正确地将所有请求路由到应用程序。查看 DigitalOcean 的一些详细指南

  1. CentOS:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-centos-7
  2. Ubuntu:https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-14-04

小步骤可能略有不同,但你明白了

【讨论】:

  • 谢谢,我决定使用本教程在 Heroku 上发布它:link
  • @PrzemysławJasiński 太棒了,是的,heroku 更容易。
【解决方案3】:

一种方法是在服务器上构建应用程序,但您需要像 Heroku 这样您已经决定使用的东西。

但另一种方法是进行范式转换。你的应用程序基本上只是一些 html、css 和 javascript,它们被编译并提供给公众。您可以使用 npm run build 自己编译,然后将编译后的文件复制到您的托管服务器,该服务器可以使用它想要的任何服务器:apache httpd、nginx 等。这也更便宜,因为您只需要基本的托管,而不是一些复杂的nodejs编译服务器。

我创建了一个入门工具包http://redux-minimal.js.org/,它可以帮助您以最少的软件包数量和非常简单的配置设置来创建丰富的实际应用程序。如果查看文件夹结构可以看到应用程序使用了 public 文件夹中的 index.html,然后在 public 文件夹中直接编译了 css 和 js 文件。这样可以更轻松地将公用文件夹复制到您想要的任何服务器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 2017-11-08
    • 1970-01-01
    • 2016-06-05
    • 2017-07-28
    • 2015-12-02
    相关资源
    最近更新 更多