【玩转Lighthouse】创业小白使用腾讯云轻量出海记

作为一个程序员和创业小白,去年写了一款APP发布到了苹果AppStore应用商店。APP有会员功能,所以有一个应用内支付充值的功能,这个充值功能本来在国内使用微信支付非常舒服方便的;上架到AppStore后受到苹果的胁迫,微信支付功能全部下马,必须上马支持苹果ipa应用内支付。这是一个比较头疼的问题。因为必须架设服务器解决支付订单的验证及会员管理。思来想去,决定使用腾讯云轻量作为解决方案,在腾讯云轻量硅谷站部署一台服务器做开发环境,同时在腾讯云轻量中国香港站部署了一台备用服务器。

在考虑使用腾讯云轻量服务器处理苹果ipa应用内支付功能后,仔细思考后发现可能存在几个问题。因为全球各地的用户网络环境很复杂,所以我首先是对腾讯云轻量硅谷站、腾讯云轻量新加坡站、腾讯云轻量中国香港站3个地点做了网络环境测试,总体上感觉在硅谷站部署服务器相对更合适一些。另外考虑到未来用户增长性,所以准备采用docker容器化技术。这样做的好处有:

1、快速部署,迁移方便,例如可以很方便的迁移到欧洲的莫斯科、法兰克福,或者到亚洲的东京、中国香港、新加坡。甚至以后的南美站。

2、未来可以比较方便的扩展,使用nginx负载均衡,在欧洲、亚洲、北美都部署一个分站,加快本地用户的苹果支付处理速度。

我的主要工作是开发客户端APP,在后台方面基本是小白。腾讯云轻量给我这样的用户提供了很好的平台,我非常方便的就开了一台服务器。同时花几天时间学习了一下docker,简单写了一个docker-compose.yml:

version: '3'

networks:

service-net:

driver: bridge

services:

wk-nginx:

container_name: wk-nginx

build: ./nginx

ports:

- 80:80

- 443:443

volumes:

- ./www:/usr/share/nginx/html

- ./nginx/nginx.conf:/etc/nginx/nginx.conf

- ./nginx/conf.d:/etc/nginx/conf.d

- ./nginx/cert:/etc/nginx/cert

- ./nginx/logs:/var/log/nginx

depends_on:

- wk-php

restart: always

networks:

- service-net

wk-php:

container_name: wk-php

build: ./php

#depends_on:

# - wk-redis

volumes:

- ./www:/usr/share/nginx/html

- ./php/php.ini:/usr/local/etc/php/php.ini

- ./php/logs:/usr/local/var/log

restart: always

networks:

- service-net

写完上传到服务器,安装运行后,就这样轻松的在腾讯云轻量的机器上很轻易的就部署了一个docker的容器,采用php作为订单处理的接口代码。容器运行后,用苹果手机测试了一下充值支付功能,成功完成支付。

接下来我想测试一下负载均衡,于是我改了一下服务器的nginx,增加了一个upstream.con设置,代码如下:

upstream wkserver {

#ip_hash;

server 127.0.0.1:8080; # 硅谷站

server 11x.xx.xxx.xxx:80 backup; # 香港站

}

server {

listen 80;

listen 443 ssl;

server_name wkserver;

ssl_certificate /etc/nginx/cert/1_xxxxxx.com.crt;

ssl_certificate_key /etc/nginx/cert/2_xxxxxx.com.key;

ssl_session_cache shared:SSL:1m;

ssl_session_timeout 5m;

ssl_protocols SSLv2 SSLv3 TLSv1.2;

ssl_ciphers HIGH:!aNULL:!MD5;

ssl_prefer_server_ciphers on;

location / {

proxy_pass http://wkserver;

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

}

}

server {

listen 8080;

#server_name xxxxxx.com;

index index.php;

root /usr/share/nginx/html/public;

location / {

try_files $uri /index.php$is_args$args;

}

location ~ \.php {

try_files $uri =404;

fastcgi_split_path_info ^(.+\.php)(/.+)$;

include fastcgi_params;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

fastcgi_param SCRIPT_NAME $fastcgi_script_name;

fastcgi_index index.php;

fastcgi_pass wk-php:9000; #容器名:端口

}

access_log /var/log/nginx/default.log main;

}

经过测试,中国香港站也能正常运行。通过腾讯云轻量的应用部署,我的APP开始完整支持苹果应用内支付功能。把最新的APP更新到AppStore后,陆陆续续有一些全球各地的用户开始使用APP中的支付功能,账户也开始陆陆续续的听到金币跌落的声音,那可都是都是腾讯云轻量腾云驾雾带来的啊!

这可真是一个美妙的感觉,我真的无法想象,没有这些方便的基础设施,个人开发者根本无法驾驭这么复杂的应用环境。感谢腾讯云轻量,感谢互联网,给你们一万个赞!加油!