美文网首页
前后端网站部署 Nginx 配置

前后端网站部署 Nginx 配置

作者: 般犀 | 来源:发表于2019-03-30 14:05 被阅读0次

    看大家的教程,大家的Nginx似乎都是在 nginx.conf 这个文件配置,但是在我的 Nginx 中,除了 nginx.conf 之外,在/etc/nginx/conf.d下面还有一个 default.conf 文件。在里面修改配置可以让我的 Nginx 生效。

    我的应用的状况是:后台是 EggJS,运行在 127.0.0.1:3030,前端静态文件希望通过80端口访问。要让前端代码在浏览器访问的时候可以正确拿到数据。下面是我的 Nginx 配置:

    server {
        listen       80;
        server_name  localhost;
    
        location / {
            # 这里放的是前端静态文件,即访问 IP:80 时返回的 index.html
            root   /usr/share/nginx/html/dist;
            index  index.html index.htm;
        }
        # 当页面调动 /api/* 接口时,自动将请求转到 3030端口
        location /api {
            proxy_http_version 1.1;
            proxy_pass http://127.0.0.1:3030;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_redirect default;
        }
         # 当页面调动 /musicApi 接口时,自动将请求转到 http://123.56.221.77 端口,这是远程的IP地址
        location /musicApi {
            proxy_http_version 1.1;
            proxy_pass http://123.56.221.77;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "Upgrade";
            proxy_redirect default;
        }
    }
    

    特别要注意的是,代码中请求的 API 地址中,端口只要是80就可以,不需要在代码中将调用地址写为 127.0.0.1/api/:3030,直接写127.0.0.1/api即可。这样的接口才是访问80端口,才能被 Nginx 代理到,让 Nginx 把请求代理到 proxy_pass 指定的地址。

    参考资料:
    egg部署后怎么用nginx反向代理? - CNode技术社区
    前端必须知道的Nginx的常用配置 - 个人文章 - SegmentFault 思否

    相关文章

      网友评论

          本文标题:前后端网站部署 Nginx 配置

          本文链接:https://www.haomeiwen.com/subject/xwijbqtx.html