部署

midway 官方部署教程open in new window,下面以宝塔部署为例

1、打包项目

npm run build

2、上传文件到服务器

将必要的文件上传到服务器,如下:

3、配置启动

TIP

启动选项有两个, 一个是 start 另一个是 start_singlestart是基于cforkopen in new window的 cluster 模式运行,多进程,start_single为单进程。 start运行注意多进程的问题,如socketio这时候就要配置redis适配器来进行进程之间的协调通讯。

4、nginx 配置

    upstream mall {
        server 127.0.0.1:8001;
    }
    server
    {
        ...
        # 前端打包完放这边
        root /home/test/front;

        # 防止刷新404
        location / {
        try_files $uri $uri/ /index.html;
        }

        # 代理服务端地址  访问/api 表示访问服务端接口而不是静态资源
        location /api/
        {
            proxy_pass http://127.0.0.1:8001/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header REMOTE-HOST $remote_addr;

            proxy_cache_bypass no_cache;

            #缓存相关配置
            #proxy_cache cache_one;
            #proxy_cache_key $host$request_uri$is_args$args;
            #proxy_cache_valid 200 304 301 302 1h;

            #持久化连接相关配置
            proxy_connect_timeout 3000s;
            proxy_read_timeout 86400s;
            proxy_send_timeout 3000s;
            #proxy_http_version 1.1;
            #proxy_set_header Upgrade $http_upgrade;
            #proxy_set_header Connection "upgrade";

            add_header X-Cache $upstream_cache_status;

            #expires 12h;
        }

        # socket需而外配置
        location /socket {
            proxy_pass http://mall/socket;
            proxy_connect_timeout 3600s; #配置点1
            proxy_read_timeout 3600s; #配置点2,如果没效,可以考虑这个时间配置长一点
            proxy_send_timeout 3600s; #配置点3
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header REMOTE-HOST $remote_addr;
            #proxy_bind $remote_addr transparent;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            rewrite /socket/(.*) /$1 break;
            proxy_redirect off;

        }
    }
Last Updated: