如何在 ubuntu 服务器中设置我的 React 应用程序

How can I setup my react app in ubuntu server

我在 React js 中完成了一些任务,我想将它们移动到服务器以供我的客户审查。但我不知道,如何在服务器中运行这个 React 应用程序。目前我正在使用 http://localhost:3000

这里我有几个问题。 1. 我们是否也需要在 ubuntu 服务器中配置所有必要的设置..? 2. 我有一个 IP 地址指向我的 Ubuntu。那么,如何将该 IP 用于 运行 服务器中的应用程序?

这是我的 webpack.production.js 文件

var path = require('path');
var webpack = require('webpack');
module.exports = {
  entry: './main.js',
  output: {
    path: path.join(__dirname, '/dist/assets'),
    filename: '[name].bundle.js',
    publicPath: '/',
    sourceMapFilename: '[name].map'
  },

  plugins: [
    new webpack.LoaderOptionsPlugin({
      minimize: true,
      debug: false
    }),
    new webpack.optimize.UglifyJsPlugin({
      beautify: false,
      mangle: {
        screw_ie8: true,
        keep_fnames: true
      },
      compress: {
        screw_ie8: true
      },
      comments: false
    })
  ],
  module: {
    loaders: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',
        query: {
          presets: ['es2015', 'react']
        }
      }
    ]
  }
}

"scripts": {
    "start": "if-env NODE_ENV=production && npm run start:prod || npm run start:dev",
    "start:dev": "webpack-dev-server --inline  --history-api-fallback",
    "start:prod": "webpack && node server.js",
    "build": "webpack -p --config ./webpack.production.config.js",
    "build:dev": "webpack --env=dev --progress --profile --colors",
    "build:dist": "webpack --env=production --progress --profile --colors"
  }

谢谢

如果您使用 Webpack 创建包,则需要移动 index.htmlbundle.js 到您客户端的服务器,并配置 Nginx 或 Apache 等 HTTP 服务器以指向 index.html 文件。

这个问题很宽泛。如果你有一个服务器,你需要使用 ssh 登录并安装 Apache 或其他服务器,如 nginx。我猜你的 reacft 应用程序不依赖于 PHP 或节点,所以它是静态的 html 与 JS。所以基本上:

sudo apt-get install apache2

将安装服务器并检查它是否 运行 只需使用浏览器并导航至 http://<your server ip>,您应该会看到一个页面,上面写着:»正在运行«

如果是:

cd /var/www/html
rm -rf *
exit

cd /your/local/project
scp -r * user@<your server ip>:/var/www/html

那应该将您的所有文件上传到 /var/www/html。如果随后收到 Forbidden 响应,则需要 sudo chown -R www-data:www-data * in /var/www/html

看这里https://help.ubuntu.com/lts/serverguide/httpd.html

但是,但是,设置服务器变得更加复杂,具体取决于您的需要:喜欢 node/php/mysql 支持,当然还有 OS,上面的说明适用于 ubuntu .此外,不包括有关安全的注意事项,所以如果不知道自己在做什么,请小心!