Closed xccjk closed 1 year ago
创建项目
// 通过create-react-app来创建一个react项目 npx create-react-app my-app
打包
// 项目打包,生成build或者dist文件 npm run build
通过ftp之类的工具把打包后的文件上传到服务器指定目录即可。常见的scp(linux), Filezilla(windows)
打包后的文件放在了服务器的/www/wwwroot/目录下,最终的访问路径为/www/wwwroot/build/index.html
/www/wwwroot/
/www/wwwroot/build/index.html
// nginx配置如下 server { listen 5000; server_name 120.53.247.128; index index.php index.html index.htm default.php default.htm default.html; root /www/wwwroot/build/; autoindex on; location / { # root /www/wwwroot; alias /www/wwwroot/build/; index index.html index.htm; #rewrite /config /www/wwwroot/build/index.html; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://.baidu.com; } #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则 #error_page 404/404.html; #SSL-END #ERROR-PAGE-START 错误页配置,可以注释、删除或修改 #error_page 404 /404.html; #error_page 502 /502.html; #ERROR-PAGE-END #PHP-INFO-START PHP引用配置,可以注释或修改 include enable-php-00.conf; #PHP-INFO-END #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效 include /www/server/panel/vhost/rewrite/120.53.247.128.conf; #REWRITE-END #禁止访问的文件或目录 location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md) { return 404; } #一键申请SSL证书验证目录相关设置 location ~ \.well-known{ allow all; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; error_log /dev/null; access_log off; } location ~ .*\.(js|css)?$ { expires 12h; error_log /dev/null; access_log off; } access_log /www/wwwlogs/120.53.247.128.log; error_log /www/wwwlogs/120.53.247.128.error.log; }
注意的点
5000
服务器的防火墙配置端口
nginx
autoindex
nginx配置后访问显示403
http://120.53.247.128/
http://www.baidu.com/api/getUserInfo
webpack proxy
nginx proxy_pass
location /api { proxy_pass http://www.baidu.com; }
root /www/wwwroot/build/
alias
location / { # root /www/wwwroot/build/; alias /www/wwwroot/build/; index index.html index.htm; #rewrite /config /www/wwwroot/build/index.html; try_files $uri $uri/ /index.html; }
项目开发部署流程
以react项目为例
创建项目
打包
通过ftp之类的工具把打包后的文件上传到服务器指定目录即可。常见的scp(linux), Filezilla(windows)
打包后的文件放在了服务器的
/www/wwwroot/
目录下,最终的访问路径为/www/wwwroot/build/index.html
注意的点
5000
,需要在服务器的防火墙配置端口
可访问nginx
后,出现了403,可能是需要设置一下autoindex
属性nginx配置后访问显示403
http://120.53.247.128/
,但是你需要请求的服务器地址为http://www.baidu.com/api/getUserInfo
,在本地开发的是同通过webpack proxy
配置代理,在线上就需要配置一下nginx proxy_pass
进行转发了/www/wwwroot/build/index.html
,你在配置location时,就需要这样来配置。记住有时候配置为root /www/wwwroot/build/
,刷新nginx后发现没有生效,这时候你可以试试alias
来看看