使用了3个后端架构
Spring Boot
小程序云应用支持部署Spring Boot框架的小程序应用,确保您要部署的小程序应用满足云应用的要求。 Spring Boot框架应用配置要求
将使用Spring Boot技术栈的代码部署到云端服务器上时,会启动一个Nginx服务器和一个Spring Boot的应用服务器。部署Spring Boot框架的应用,需要满足以下要求:
软件包格式:JAR文件
JVM版本:Java 8及以下
端口:服务监听端口为8080
启动/停止:无特殊要求,标准Spring Boot方式
自定义Nginx配置测试
小程序云应用通过一层Nginx代理对外提供服务,可以通过在发布包中提供对应环境的Nginx配置文件来自定义Nginx配置。如果没有提供,或文件名称不符,则自动使用默认的配置。
您可以在resources下可以创建nginx目录,目录下的nginx-test.conf文件以及nginx-prod.conf文件将分别作为为测试环境和生产环境的nginx配置文件。
测试环境默认配置:
worker_processes 1;
error_log /home/admin/logs/nginx-error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 127.0.0.1:8080;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
}
生产环境默认配置:
worker_processes 1;
error_log /home/admin/logs/nginx-error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 443;
server_name 127.0.0.1:8080;
ssl on;
ssl_certificate /home/admin/sslcert/cert.pem;
ssl_certificate_key /home/admin/sslcert/cert.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
server {
listen 80;
server_name 127.0.0.1:8080;
rewrite ^(.*)$ https://$host$1 permanent;
}
}
Node.js
小程序云应用支持部署Node.js框架的小程序应用,确保您要部署的小程序应用满足云应用的要求。 Node.js框架应用配置要求
部署Node.js框架的应用,需要满足以下要求:
软件包格式:.tar.gz文件,且源文件打包到.tar.gz文件的根目录
端口:服务监听端口为7001
启动/停止:在package.json文件中实现了start、stop命令
自定义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;
}
}
}
PHP
小程序云应用支持部署PHP框架的小程序应用,确保您要部署的小程序应用满足云应用的要求。 PHP框架应用配置要求
部署PHP框架的应用,需要满足以下要求:
软件包格式:.zip文件,且源文件打包到.zip文件的根目录
监听端口:9000
默认的web server路径是/public。如需修改路径,例如改为/public_html,可在软件包根目录上创建包含如下内容的_buildpack文件:
app_entry=public_html
自定义php扩展:扩展安装基于YUM命令,扩展必须在YUM仓库中存在。可在软件包根目录上创建包含如下内容的_buildpack文件(多个扩展用空格分隔):
php_extensions=php-extesion-name1 php-extension-name2
扩展安装的日志保存在/home/admin/logs/ext-install-info.log和/home/admin/logs/ext-install-err.log中。
自定义Nginx配置测试
小程序云应用通过一层Nginx代理对外提供服务,可以通过在发布包中提供对应环境的Nginx配置文件来自定义Nginx配置。如果没有提供,或文件名称不符,则自动使用默认的配置。
您可以在上传的发布包的根目录创建一个nginx目录,目录下的nginx-test.conf文件以及nginx-prod.conf文件将分别作为为测试环境和生产环境的nginx配置文件。
测试环境默认配置:
#user nginx;
worker_processes 1;
error_log /home/admin/logs/nginx-error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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"';
sendfile on;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
set $root_path /home/admin/app-run/app_entry;
root $root_path;
index index.php index.html;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
try_files $uri =404;
#root html;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
生产环境默认配置:
worker_processes 1;
error_log /home/admin/logs/nginx-error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/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"';
sendfile on;
keepalive_timeout 65;
server {
listen 443;
server_name localhost;
set $root_path /home/admin/app-run/app_entry;
root $root_path;
index index.php index.html;
ssl on;
ssl_certificate /home/admin/sslcert/cert.pem;
ssl_certificate_key /home/admin/sslcert/cert.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
location ~ \.php$ {
try_files $uri =404;
#root html;
#fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
# 80 to 443
server {
listen 80;
server_name 127.0.0.1:8080;
rewrite ^(.*)$ https://$host$1 permanent;
}
}
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。