2017-05-31 78 views
0

任何人都请解释一下。如何在数字海洋上部署创建反应应用程序?

我与this.I努力遵循了这一博客帖子https://www.davidmeents.com/blog/how-to-simply-deploy-a-react-app-on-digital-ocean/ 但这一切我有的用配置我得到404未找到错误乱搞后得到了现在的nginx的默认页面或。

nginx里面有两个floders 1)sites-availble 2)sites-enabled 我不确定哪一个在这里相关。

我的配置是这样的

server { 
    listen 80; 
    server_name 139.59.25.228; 
    root /www/mywebsite/app/build; 
    rewrite ^/(.*)/$ $1 permanent; 
    location/{ 
     try_files $uri index.html; 
    } 
} 

谢谢 - :)

+0

你必须使用网站启用。 –

+0

试过没有运气。 – Abhishek

回答

3

这不是那么复杂,你只需要:

1 /启动反应的应用程序像往常一样,也许npm start,那么也许它会打开3000端口为您(或任何数字)

2 /配置nginx的80端口指向该localhost:3000(或您的defin ED端口):

server { 
    listen 80 default_server; 
    server_name YOURDOMAIN.HERE; 
    location/{ 
     #auth_basic "Restricted Content"; 
     #auth_basic_user_file /home/your/basic/auth/passwd_file; 
     proxy_pass http://localhost:3000; #or any port number here 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 
} 

然而,为了保持npm start - 你用3000端口服务器本地主机始终活着,我建议你使用pm2

sudo npm install pm2 -g 

然后,更改目录(cd)至您reactjs app文件夹:(我假设你使用npm start启动您reactjs APP)

pm2 start npm -- start 

(如果您使用种类npm run:start来启动应用程序,那么它应该是:pm2 start npm -- run:start

之后,这个命令将被记住pm2

有用PM2命令:

pm2 list all 
pm2 stop all 
pm2 start all 
pm2 delete 0 

(使用删除0从pm2 list删除第一个命令ID为0)

+1

非常感谢你的解释 - :) – Abhishek

+0

你做它的工作^^!如果没有,请告诉我日志上的一些错误,然后我们可以找到另一种方法。但是,我用上述方法处理了很多项目,它们都很好!如果这个工作,请随时支持我的投票和接受,谢谢^^! – thinhvo0108

+0

是的,它的工作。尽管我会将'proxy_pass http:// localhost:3000'更改为'proxy_pass http:// localhost:3000 /'(已添加/最后)。谢谢,:) – Abhishek

相关问题