小程序云应用支持部署Node.js框架的小程序应用,确保您要部署的小程序应用满足云应用的要求。

Node.js框架应用配置要求

部署Node.js框架的应用,需要满足以下要求:

  • 软件包格式:.tar.gz文件,且源文件打包到.tar.gz文件的根目录
  • 端口:服务监听端口为7001
  • 启动/停止:在package.json文件中实现了startstop命令

自定义Nginx配置测试

小程序云应用通过一层Nginx代理对外提供服务,可以通过在发布包中提供对应环境的Nginx配置文件来自定义Nginx配置。如果没有提供,或文件名称不符,则自动使用默认的配置。

您可以在上传的发布包的根目录创建一个conf目录,目录下的nginx-test.conf文件以及nginx-prod.conf文件将分别作为为测试环境和生产环境的nginx配置文件。

测试环境默认配置:

user                        admin;
worker_rlimit_nofile        100000;

events {
    use                     epoll;
    worker_connections      20480;
}

error_log /home/admin/logs/nginx-error.log;

http {
    default_type            application/octet-stream;
    index                   index.html index.htm;

    access_log /home/admin/logs/nginx-access.log;

    upstream nodejs {
        server 127.0.0.1:7001;
        keepalive 10;
    }

    server {
        listen              80 default_server;
        server_name         _;

        location / {
            proxy_pass              http://nodejs;
        }
    }
}

生产环境默认配置:

user                        admin;
worker_rlimit_nofile        100000;

events {
    use                     epoll;
    worker_connections      20480;
}

error_log /home/admin/logs/nginx-error.log;

http {
    default_type            application/octet-stream;
    index                   index.html index.htm;

    access_log /home/admin/logs/nginx-access.log;

    upstream nodejs {
        server 127.0.0.1:7001;
        keepalive 10;
    }

    server {
        listen              80;
        rewrite ^(.*)$ https://$host$1 permanent;
    }

    server {
        listen 443 ssl default_server;

        ssl_certificate /home/admin/sslcert/cert.pem;
        ssl_certificate_key /home/admin/sslcert/cert.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

        location / {
            proxy_pass              http://nodejs;
        }
    }
}