SAE 与其他传统虚拟主机(如通过FTP上传文件)有较大不同,它采用的是云应用的架构,理解这个核心概念非常重要。
1、传统虚拟主机:你租用服务器上的一块固定空间,通过FTP上传所有文件(HTML, PHP, 图片等),所有资源都在这个空间里。
2、新浪云SAE:你将你的应用代码部署到SAE平台上,SAE为你动态分配计算资源、存储资源等,你的代码、可写目录、数据库、静态文件(如图片/CSS/JS)通常是分离管理的。
SAE更像一个PaaS平台,你需要遵循它的规则来部署应用。
1、注册账号:访问 [新浪云官网](https://www.sinacloud.com/), 使用新浪微博或手机号注册。
2、实名认证:这是国内云服务的强制要求,进入控制台,完成个人或企业实名认证,没有认证无法创建应用。
1、 登录控制台,点击「应用管理」->「创建新应用」。
2、填写应用信息:
应用名称你的应用ID,全网唯一,会成为访问域名的一部分(例如myapp.sinaapp.com
)。
二级域名通常与应用名称一致。
开发语言选择你的程序语言,如PHP(最常用)、Python、Java等。
运行环境根据你的框架选择,标准环境」。
应用类型选择「Web应用」。
3、 创建成功后,你就拥有了一个基础的应用容器。
SAE不支持FTP,主要通过以下几种方式部署代码:
1、通过 Git 部署(推荐给开发者)
* 在本地使用Git管理你的代码。
* 在SAE控制台的应用详情页,找到「代码部署」->「Git部署」,你会看到一个Git仓库地址。
在本地代码目录执行
git init git remote add sae <你的SAE Git仓库地址> git add . git commit -m "First commit" git push sae master:1
* 推送成功后,代码会自动部署。
2、通过代码包部署(最简单)
将你的所有代码文件(注意不包含配置文件,如mysql.php
,需要单独在控制台设置)打包成一个ZIP 压缩包。
* 在控制台「代码部署」->「上传代码包」,直接上传ZIP文件。
* 系统会自动解压并部署。
3、通过 SVN 部署(旧方式,不推荐新项目使用)
你的代码不能直接写入本地磁盘,因为SAE是分布式环境,所有需要写入的操作都必须使用SAE提供的存储服务。
1、MySQL数据库
* 在控制台「服务管理」->「共享型MySQL」或「独享型MySQL」中初始化。
* SAE会提供内网地址、端口、数据库名、用户名和密码。
* 在你的代码中,使用SAE提供的常量来连接数据库,切勿将密码写在代码里。
PHP示例
$host = SAE_MYSQL_HOST_M; // 主库地址 $port = SAE_MYSQL_PORT; $dbname = SAE_MYSQL_DB; $user = SAE_MYSQL_USER; $password = SAE_MYSQL_PASS; $link = new mysqli($host, $user, $password, $dbname, $port);
2、Storage 存储服务(用于存放可写文件)
* 这是用来替代服务器本地磁盘的。
* 你需要存放用户上传的图片、生成的缓存文件、日志等,都必须用这个服务。
* 在控制台「服务管理」->「Storage」中创建一个新的Domain(相当于一个桶或文件夹)。
* 在你的代码中,使用SAE提供的Storage API来读写文件。
PHP示例(写入文件)
$s = new SaeStorage(); // 实例化类 $domain = 'myapp'; // 你创建的domain名 $destFileName = 'upload/test.jpg'; // 在storage中的路径 $srcFileName = '/tmp/local_test.jpg'; // 本地临时文件路径 // 将本地文件写入storage $result = $s->upload($domain, $destFileName, $srcFileName); if ($result) { echo "上传成功,文件URL为:" . $s->getUrl($domain, $destFileName); } else { echo "上传失败,错误信息:" . $s->errmsg(); }
3、Memcache 缓存服务
* 用于提升性能,存储Session等。
* 直接在内网使用,无需密码,在控制台开通即可。
1、默认域名:你的应用创建后会自动获得一个appid.sinaapp.com
的域名,可以直接访问。
2、自定义域名:
* 如果你想使用自己的域名(如www.example.com
),需要在SAE控制台「应用设置」->「域名设置」中添加。
重要根据中国法律,使用大陆服务器必须进行ICP备案,你的域名必须已经备案,并且将备案信息接入新浪云。
SAE采用配额+计费的模式。
1、免费配额:注册赠送云豆,并且每日登录会赠送云豆,对于低流量应用(如个人博客、测试项目),免费配额基本够用。
2、计费方式:根据你使用的CPU时间、内存、流量、存储空间等资源按需扣费(扣云豆)。
3、建议:务必在控制台设置「每日消费上限」,防止因程序BUG或攻击导致意外扣费。
1、 创建一个index.php
文件。
<?php echo "Hello, Sina App Engine!"; ?>
2、 将这个文件打包成code.zip
。
3、 在SAE控制台创建PHP应用,然后通过「代码包上传」部署这个ZIP包。
4、 访问你的appid.sinaapp.com
,就能看到 "Hello, Sina App Engine!"。
核心忘掉FTP,拥抱Git/代码包部署,代码和存储分离。
配置数据库、缓存、文件存储等都在控制台创建和管理,在代码中使用常量或API调用。
安全不要将敏感信息(数据库密码等)写在代码里,使用SAE提供的预定义常量。
费用注意设置消费上限,并关注云豆余额。
文档遇到问题时,首要参考官方文档,SAE为每种语言和环境都提供了详细的文档和示例。
希望这份详细的指南能帮助你顺利上手新浪云SAE!
文章摘自:https://idc.huochengrm.cn/zj/18664.html
评论