如何在 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.html 和 bundle.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 .此外,不包括有关安全的注意事项,所以如果不知道自己在做什么,请小心!
我在 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.html 和 bundle.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 .此外,不包括有关安全的注意事项,所以如果不知道自己在做什么,请小心!