在Nginx上部署Create-React-App
我正在尝试使用Ubuntu 14.04和Nginx在Digital Ocean Droplet上部署我的create-react-app SPA.根据静态服务器deployment instructions,当我运行serve -s build -p 4000时,我可以使它工作,但是一旦我关闭终端,应用程序就会关闭.我不清楚create-react-app repo自述文件如何让它永远运行,类似于forever之类的东西. 如果没有运行服务,我会收到Nginx的502 Bad Gateway错误. Nginx Conf
React(和Create React App)的主要好处之一是您不需要运行Node服务器(或使用Nginx代理它)的开销;您可以直接提供静态文件.
从您链接到的Deployment documentation,Create React App描述了要做的事情:
在您的情况下,运行npm run build来创建build /目录,然后在Nginx可以访问它们的位置使文件可用.您的构建可能最适合您的本地计算机,然后将文件安全地复制(SCP,SFTP等)到您的服务器.您可以在服务器上运行npm run build,但如果这样做,抵制直接服务build /目录的诱惑,因为下次运行构建时,客户端可能会收到一组不一致的资源. 无论你选择哪一个,一旦你的构建/目录在你的服务器上,然后检查权限以确保Nginx可以读取文件并配置你的nginx.conf,如下所示:
此配置基于您的文件位于/ srv / app-name中.简而言之,try_files指令首先尝试加载CSS / JS / images等,并为所有其他URI加载构建中的index.html文件,显示您的应用程序. 需要注意的是,您应该使用HTTPS / SSL进行部署而不是端口80上的不安全HTTP.Certbot为Nginx提供自动HTTPS,并提供免费的Let’s加密证书,如果获得证书的成本或过程会阻止您. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- apache2nginx 安装和使用
- nginx – Let’s Encrypt的中间证书
- 在Elastic Load Balancer后面的nginx web服务器上基于位置的
- tcp – nginx php5-fpm上游超时(110:连接超时),同时连接
- ruby-on-rails-Nginx,Unicorn和Rails = 502错误网关
- 使用nginx作为反向代理运行Apache Zeppelin
- 将Nginx修补为ip_hash 4个八位字节而不是3个
- 如何仅重定向nginx中的根路径?
- nginx – 找不到包php5-fpm
- nginx – 来自POST的大量流量123.249.24.233/POST_ip_port