yershop商城系统开发(二)——新浪SAE配置
thinkphp默认支持sae环境,sae相比服务器,不失为中小型网站首选。
资费估算:开启共享型mysql后,假设网站每天有600访问量,大概消耗新浪云豆在400颗左右(100云豆=1块钱)。如果是新站,访问量不大,每天消耗在100云豆左右。估测带宽在4M左右,安全配置完备,对于新手开发很适合。
地址:「新浪云福利」1000云豆免费领!低成本、免运维、灵活、安全稳定,轻松应对业务爆发式增长,一起来用吧!
注册设置安全邮箱和安全密码
SAE注册地址:http://t.cn/R5f6mW5
安全邮箱和安全密码是针对SAE操作设置的,与新浪微博账号密码无关。
本次讲使用SAE不可写环境下的相关配置。开发中可选择SAE的云空间可写入环境。
使用前必须开启的服务
首先在代码管理中创建应用,版本号为1.
共享型MySQL
共享型mysql和独享型mysql任选其一。共享型 2云豆/h ,独享型 6云豆/h。
开发使用中遇到问题分享:需要按顺序对A B C三张表执行新增操作,其中A新增记录id值需要保存在B新增记录中,B新增记录id值需要保存在C的新增记录中。问题是,A B C三张表并非顺序插入。在本地测试没有此问题
分析:sae的php版本选择了5.3版本,而本地是5.5。解决方法:在插入语句之间写入usleep(100);以延迟100毫秒顺序执行。
有更好的解决办法请大家分享。
数据库连接
找到自己的Common/Conf/config.php 和 User/Conf/config.php 两个文件
Common/Conf/config.php连接配置:
/* 数据库配置 */'DB_TYPE' => 'mysql', // 数据库类型'DB_HOST' => 'w.rdc.sae.sina.com.cn', // 服务器地址'DB_NAME' => 'app_shaolinchanyiu', // 数据库名'DB_USER' => '00kn4yxyl', // 用户名 :Access Key'DB_PWD' => 'iwj0hhj2z0j54z0jz4xyhlykizl4ylmjl4y0iw', // 密码:Secret Key'DB_PORT' => '3307', // 端口'DB_PREFIX' => 'yer_', // 数据库表前缀
User/Conf/config.php 连接配置:
define('UC_APP_ID', 1); //应用ID
define('UC_API_TYPE', 'Model'); //可选值 Model / Service
define('UC_AUTH_KEY', 'b&5laF~_$e;QHEV?,K)k#Iv9m=6`dj+R!O04U%Wh');
define('UC_DB_DSN', 'mysql://00kn4yxyl:iwj0hhj2z0j54z0jz41xyhlykizl4ylmjl4y0iw@w.rdc.sae.sina.com.cn:3307/app_shaolinchanyiwu'); // 数据库连接,mysql://Access Key:Secret Key@数据库地址:3307/数据库名
define('UC_TABLE_PREFIX', 'yer_'); // 数据表前缀,使用Model方式调用API必须配置此项
也可使用SAE_MYSQL_USER这样的简写,使用时记得这样的简写为变量,例如:
define('UC_DB_DSN', 'mysql://'.SAE_MYSQL_USER.':'.SAE_MYSQL_PASS.'@'.SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT.'/' . SAE_MYSQL_DB); // 数据库连接
KVDB
键值对服务,如session的使用就需要此服务。
需确认是否开启,以前默认是不开启的,现在都默认开启。
Memcached
缓存服务
目前默认最低为16M,对于新站而言非常够用。
Strorage
仓库,用来存放本地上传到服务器的图片、文件等资源。
对于存放于不可写的sae环境的yershop(onethink、thinkphp)代码,如果涉及上传功能,此服务必须开启。
新建Bucket
Bucket Name 怎样定?
查找自己的Admin模块或Home模块下的Conf/config.php文件,Admin为管理员模块,新增商品一定会有上传图片这项功能,所以在Admin/Conf/config.php中有如下代码:
//本地上传文件驱动配置'UPLOAD_LOCAL_CONFIG'=>array(),
//sae上传文件驱动配置 'UPLOAD_SAE_CONFIG'=>array('rootPath'=>'','domain'=>'upload',),'SAE_Domain' => 'http://' . $_SERVER['HTTP_APPNAME'] . '-upload.stor.sinaapp.com',...
Bucket Name 为 upload,与’domain’相同;’SAE_Domain’定义图片网络路径时使用。
在本地上传文件到storage里
下载Cyberduck软件,logo为大黄鸭,安装
双击打开目录,确认路径无误后上传本地文件
上传代码工具svn使用
上传代码可选svn上传或github。在此使用svn的方式
svn选用工具:TortoiseSVN(乌龟svn)
安装32或64位的乌龟svn软件后,进行以下操作
第一次下载sae代码
新建代码要存储的文件夹,右键 选择 SVN Checkout…
此时弹出对话框,Repository地址为svn在线仓库地址,地址来源见第三图
打开代码管理,找到仓库地址,复制粘贴此处即可。
第一次使用会弹出输入用户名和密码的对话框,请输入您设置的安全邮箱和安全密码。
日常下载sae代码
选择SVN Update
如果该应用的账号密码与上次使用svn时的账号密码不同,需重新输入安全邮箱(账号)和安全密码
上传本地代码
右键SVN Commit…,软件会自动检测出有改动内容的文件。
左下角:Show unversioned files,有的时候误关闭后,新增的文件将不会显示。
上传过程中需注意问题
1.文件过多,一次性传输时间太长,导致服务器中断连接,上传失败:请分批上传文件。可按shift点某一文件夹,则该文件夹下子文件夹和文件均被选中。
2.本地重命名一个文件夹,显示出现待删除文件(status:Deleted)和新增加文件(status:Non-versioned):选中所有待删除文件和新增加文件,确定处理。
3.本地修改了某个文件名称大小写,无法被检测到改动:只改大小写不会被检测到,可使用第2步方式。
4.服务器修改了某文件,本地上传该文件出现 conflict,且本地文件被拆分出3个缓存文件:删除冲突的缓存文件和冲突文件,重新update
域名绑定
点击 应用设置-独立域名,添加自己要绑定的域名(尽量使用已备案域名,速度快),例如要绑定域名为bigu.shaolinchanyiwu.cn,
在域名管理面板中如下配置:
域名一般在10到30分之内生效,超出30分请解绑重新绑定。
config.yaml
Url中隐藏index.php(url重写)
每一个sae应用都会有config.yaml文件,里面记载着诸多服务器配置功能,在Sae应用左侧面板的Appconfig中可以看到。
1.服务器开启url重写代码:
handle:- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "index.php/$1"
2.然后在Home模块下Conf/config.php中,URL_MODEL设置为2
域名跳转
在做支付宝时,支付宝不允许你频繁在二级域名上使用接口,否则会收到违约通知书,因此为避免此麻烦,将二级域名跳转到一级域名就有必要了,代码:
handle:- rewrite: if ( in_header["host"] ~ "^wxfenxi.applinzi.com" && path ~ "^/(.*)" ) goto "http://www.kateqi.cn/$1 [L,QSA,R=301]"
可以设置多条,但注意,handle:只能有一个,且在所有语句之前。
更多其它控制,可在sae的appconfig页面配置
防火墙
sae的应用防火墙目前算不上精准,尤其是按频率拦截和按流量拦截。因为你无法精确出自己网站每次访问时会发送多少个请求(与频率相关)、整个页面加载下来有多少的量(图片资源也计算在内),基本无法使用。唯独黑名单和白名单是最为有效,如果有必要可以开启。
SAE暂且介绍到此,日后有新内容再做补充。
合作交流724122005,原版出处csdn,blog.csdn,net/afanxingzhou,承接中小型项目。
yershop商城系统开发(二)——新浪SAE配置相关推荐
- python 编程环境 微信_微信开发之新浪SAE上配置WeRoBot微信机器人,python,Mac环境...
本文将带你了解微信开发新浪SAE上配置WeRoBot微信机器人,python,Mac环境,希望本文对大家学微信有所帮助. 废话不多说,直接上过程. 注册新浪sae,选择创建云应用,创建新应用,填好相关 ...
- 微信公众号+Flask+新浪SAE 配置
原理:在微信公众号后台,调用flask写的服务. 新浪SAE中,申请云应用SAE,python,标准环境,代码管理:SVN(). 代码管理-创建版本,我创建的是版本号为1的版本,所以链接为:http: ...
- 云应用开发之新浪SAE日志查看
在应用开发过程中,调试是非常重要的一步,在此过程中我们可以跟踪程序执行的中间结果,用以分析程序执行是否符合预定逻辑.在本地开发中,借助System.out和log4j可以很容易打印中间结果,但把程序部 ...
- 云应用开发之新浪SAE读写云端数据库MySQL
本博文为前篇博文新浪云应用SAE日志查看的延续. 在读写云数据库MySQL之前,需要说明的是,在新浪云平台上使用数据库时,该平台默认会为每一个应用单独新建一个数据库database实例,在该实例中再创 ...
- miinCMP企业网站系统,正开发新浪SAE云应用版
为什么80%的码农都做不了架构师?>>> miinCMP企业网站系统,正开发新浪SAE云应用版,仅26M,将采用java+mysql.目前我们已完成SAE平台的首次测试,Mii ...
- 微信开发实战(4)—URL、Token认证、java源码、免费新浪SAE部署
上篇文章概要介绍了微信公众号开发的原理,偏重于讲解理论. 本篇文章通过java web应用实现微信公众号的URL.Token认证.并部署到免费的新浪SAE服务器上,轻松教你实现公众号成为开发者号. 一 ...
- 《微信公众平台开发最佳实践》——2.1 新浪SAE应用
本节书摘来自华章出版社<微信公众平台开发最佳实践>一 书中的第2章,第2.1节,作者李骏 边思,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.1 新浪SA ...
- 微信开发 新浪SAE开发平台 验证Token 一直失败
本人刚刚学习微信开发,在微信平台中修改服务器设置时,使用微信Demo的php,刚开始一直验证token 失败 解决办法 :在echo $echoStr;之前添加header('content-type ...
- 微信公众号申请+新浪SAE申请
一. 新浪SAE服务申请 1. 注册地址:http://t.cn/RqMHPto 2. 选择控制台>>云应用SAE 3. 创建新应用 4. 填写域名 5. 代码管理选择SVN 6. 创建版 ...
最新文章
- select2实现全选
- bad geometry specifier 300×400
- 【多模态】来自Facebook AI的多任务多模态的统一Transformer:向更通用的智能迈出了一步...
- 解决edge浏览器中idm插件不能自动捕捉下载链接的问题
- mapbox绘制航线图
- linux添加静态ipv6路由,请问如何在CentOS7上配置已经静态路由好的IPv6地址块?
- 计算机网络实验六(子网划分)
- 2020中国汽车后市场白皮书
- Java核心技术 学习记录1
- FBG光纤反射器,FTTX网络链路监控的理想光端
- win10修改user文件夹名称
- 地雷復 (易經大意 韓長庚)
- 技术专栏 | 为什么要基于模型设计?
- windows10 扩容C盘空间
- How to speed my too-slow ssh login?
- 图形开发——显卡学习
- 微信小程序 pages的使用
- 【2020.04】秋天 Win7sp1(64位32位)优化\快速 装机旗舰版 四合一镜像
- dedecms去掉栏目广告
- 声速的测量的实验原理和应用_示波器的原理和使用、声速测量实验报告