阿里云服務(wù)器搭建小程序教程
阿里云服務(wù)器搭建小程序教程
阿里云是國內(nèi)知名度較高的服務(wù)器供應(yīng)商之一, 為用戶提供了強(qiáng)大的云服務(wù)虛擬產(chǎn)品,滿足個(gè)人或者企業(yè)實(shí)現(xiàn)云端網(wǎng)站建設(shè)、小程序搭建或網(wǎng)絡(luò)應(yīng)用,那么如何使用阿里云服務(wù)器搭建小程序;
1、首先我們來到阿里云官網(wǎng),登錄自己的賬號(hào),點(diǎn)擊控制臺(tái);
2、來到控制臺(tái)后我們可以看到我們所購買的服務(wù)器,我們點(diǎn)擊并進(jìn)入,可以看到服務(wù)器的詳細(xì)頁面;
3、我們此時(shí)可以點(diǎn)擊右邊的遠(yuǎn)程連接,我們會(huì)看到一個(gè)Workbench遠(yuǎn)程連接彈窗,直接點(diǎn)擊立即登錄;
4、輸入我們的密碼確定進(jìn)入;
5、此時(shí)需要我們安裝一些軟件,這里我們使用yum源安裝,執(zhí)行安裝Nginx的命令:
yum update && yum -y install nginx;
6、運(yùn)行Nginx;
systemctl start nginx;
7、測試Nginx是否安裝成功,需要我們?cè)跒g覽器輸入:http://“ECS服務(wù)器公網(wǎng)IP”;如果我們輸入以上地址后,回車后我們
可以看到頁面如果出現(xiàn)了welcome to Centos,表示我們安裝成功了;
8、創(chuàng)建后端服務(wù);
a、新建一個(gè)服務(wù)目錄
mkdir /data && cd /data;
b、新建編輯Python服務(wù)依賴文件
im requirements.txt;
c、vim進(jìn)入編輯,點(diǎn)擊i鍵進(jìn)入編輯,輸入以下內(nèi)容
aliyun_python_sdk_core==2.13.36
aliyun_python_sdk_ecs==4.24.62
Flask==2.0.3
d、內(nèi)容輸入完成后,按退出Esc鍵,輸入:x保存退出;
e、再執(zhí)行以下命令安裝依賴。
pip3 install --upgrade pip && pip3 install -r requirements.txt
f、新建并編輯Python服務(wù)編碼。
vim get_server_info.py
g、打開VIM編輯器,輸入I鍵編輯,輸入以下內(nèi)容。
# -*- coding: utf-8 -*-
from flask import Flask, jsonify, request
from aliyunsdkcore.client import AcsClient
from aliyunsdkcore.auth import credentials
import requests
import json
from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest, DescribeInstanceStatusRequest
app = Flask(__name__)
metaUrl = 'http://100.100.100.200/latest/meta-data/ram/security-credentials/EcsRamRoleTest'
region = 'cn-beijing'
# 獲取臨時(shí)身份憑證
def getStsToken():
tokenResponse = requests.get(metaUrl)
return tokenResponse.json()
# 在app.route裝飾器中聲明響應(yīng)的URL和請(qǐng)求方法
@app.route('/ecs/getServerInfo', methods=['GET'])
def getServerInfo():
tokenResult = getStsToken()
accessKeyId = tokenResult['AccessKeyId']
accessSecret = tokenResult['AccessKeySecret']
securityToken = tokenResult['SecurityToken']
credential = credentials.StsTokenCredential(accessKeyId, accessSecret, securityToken)
client = AcsClient(credential=credential, region_id=region)
# GET方式獲取請(qǐng)求參數(shù)
instanceId = request.args.get("instanceId")
if instanceId is None:
return "Invalid Parameter"
# 查詢實(shí)例信息
describeInstancesRequest = DescribeInstancesRequest.DescribeInstancesRequest()
describeInstancesRequest.set_InstanceIds([instanceId])
describeInstancesResponse = client.do_action_with_exception(describeInstancesRequest)
# 返回?cái)?shù)據(jù)為bytes類型,需要將bytes類型轉(zhuǎn)換為str然后反序列化為json對(duì)象
describeInstancesResponse = json.loads(str(describeInstancesResponse, 'utf-8'))
print(describeInstancesResponse)
if len(describeInstancesResponse['Instances']['Instance']) == 0:
return jsonify({})
instanceInfo = describeInstancesResponse['Instances']['Instance'][0]
# 查詢實(shí)例狀態(tài)
describeInstanceStatusRequest = DescribeInstanceStatusRequest.DescribeInstanceStatusRequest()
describeInstanceStatusRequest.set_InstanceIds([instanceId])
describeInstanceStatusResponse = client.do_action_with_exception(describeInstanceStatusRequest)
describeInstanceStatusResponse = json.loads(str(describeInstanceStatusResponse, 'utf-8'))
instanceStatus = describeInstanceStatusResponse['InstanceStatuses']['InstanceStatus'][0]['Status']
# 封裝結(jié)果
result = {
# cpu數(shù)
'Cpu': instanceInfo['Cpu'],
# 內(nèi)存大小
'Memory': instanceInfo['Memory'],
# 操作系統(tǒng)名稱
'OSName': instanceInfo['OSName'],
# 實(shí)例規(guī)格
'InstanceType': instanceInfo['InstanceType'],
# 實(shí)例公網(wǎng)IP地址
'IpAddress': instanceInfo['PublicIpAddress']['IpAddress'][0],
# 公網(wǎng)出帶寬最大值
'InternetMaxBandwidthOut': instanceInfo['InternetMaxBandwidthOut'],
# 實(shí)例狀態(tài)
'instanceStatus': instanceStatus
}
return jsonify(result)
if __name__ == "__main__":
app.run()
h、完成后,按下ESC,輸入:x,保存退出。
9、安裝uWSGI Server
上面完成了服務(wù)端,接下來需要我們安裝使用uWSGI來啟動(dòng)Flask服務(wù);
1、執(zhí)行以下安裝uWSGI命令;
pip3 install uwsgi
2、創(chuàng)建uwsgi文件;
cd /data &&vim uwsgi.ini
3、進(jìn)入vim,按i進(jìn)行編輯;
[uwsgi]
#uwsgi啟動(dòng)時(shí)所使用的地址和端口
socket=127.0.0.1:5000
#指向網(wǎng)站目錄
chdir=/data
#python啟動(dòng)程序文件
wsgi-file=get_server_info.py
#python程序內(nèi)用以啟動(dòng)的application變量名
callable=app
#處理器數(shù)
processes=1
#線程數(shù)
threads=2
#狀態(tài)檢測地址
stats=127.0.0.1:9191
#保存啟動(dòng)之后主進(jìn)程的pid
pidfile=uwsgi.pid
#設(shè)置uwsgi后臺(tái)運(yùn)行,uwsgi.log保存日志信息 自動(dòng)生成
daemonize=uwsgi.log
1、完成后,按ESC鍵,輸入:x保存并退出編輯。
2、運(yùn)行uwsgi server
uwsgi uwsgi.ini
3、輸入以下命令查看uwsgi服務(wù),若看到下面的圖則說明服務(wù)啟動(dòng)成功。
ps aux | grep uwsgi
10、配置Nginx并且重新啟動(dòng);
1、創(chuàng)建配置文件
vim /etc/nginx/conf.d/app.conf
2、進(jìn)入VIM,按i進(jìn)入編輯模式;
server {
listen 80 default_server;
server_name app.example.com;
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
location / {
# 轉(zhuǎn)發(fā)端口
uwsgi_pass 127.0.0.1:5000;
include uwsgi_params;
}
}
3、完成后,按ECS鍵,輸入:x保存退出;
4、重新啟動(dòng)Nginx。
nginx -s reload
5、檢驗(yàn)是否匹配成功;
curl http://127.0.0.1/ecs/getServerInfo
如果結(jié)果是Invalid Parameter 表示服務(wù)配置成功。
11、去注冊(cè)小程序;
在開發(fā)小程序之前,需要我們先申請(qǐng)注冊(cè)微信小程序。
1、進(jìn)入小程序注冊(cè)頁面,根據(jù)要求添寫我門相關(guān)的信息資料,完成賬號(hào)申請(qǐng);
12、用我門申請(qǐng)的微信公眾平臺(tái)賬號(hào)登錄小程序后臺(tái),點(diǎn)擊開發(fā)管理和開發(fā)設(shè)置,可以看到小程序的appid,
記錄下來后面需要使用;
13、安裝小程序并開發(fā)環(huán)境;
啟動(dòng)后端服務(wù)后,我們下來要開發(fā)小程序,先安裝程序環(huán)境。
1、安裝NOde.js開發(fā)環(huán)境。
2、下載小程序開發(fā)安裝工具。
3、打開開發(fā)工具,并用微掃碼登錄。
4、點(diǎn)擊創(chuàng)建微信小程序?qū)嵗?/span>
然后再進(jìn)行調(diào)試盛情上線就可以了;