前后端部署到一台服务器,nginx代理
调用的思路:浏览器访问nginx,跳转到 root下访问dist文件,然后通过dist内的页面触发nginx的proxy_pass 路径去请求后台接口。 注意:前端不用部署在tomcat上,不要在宝塔面板上的软件商店直接安装nginx,连默认首页都访问不到
1、vue项目前端 修改部分
main.js
axios.defaults.baseURL = /study_online_api //此地址对应nginx代理的location配置,后面有相关配置
vue.config.js
module.exports = { publicPath: /, outputDir: dist,//打包后输出 assetsDir: static,//静态文件输出地址 }
本地执行npm run build生成打包文件 宝塔面板新建文件 /download/study-online 把打包文件放在宝塔文件的/download/study-online
部署多个前端项目,用root指定公共目录前缀,再配合alias指定dist的全路径,配置文件如下
user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main $remote_addr - $remote_user [$time_local] "$request" # $status $body_bytes_sent "$http_referer" # "$http_user_agent" "$http_x_forwarded_for"; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #gzip on; server { listen 80; server_name localhost; root /download; #charset koi8-r; #access_log logs/host.access.log main; #blog location /blog { alias /download/web-blog/dist; index index.html index.htm; } location /web_blog_api/ { proxy_pass http://121.41.42.236:8089/; } location /study { alias /download/studyonline/dist; index index.html index.htm; } location /study_online_api/ { proxy_pass http://121.41.42.236:8082/; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
下一篇:
为什么要二次封装axios