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:[email protected]: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为大黄鸭,安装
yershop商城系统开发(二)——新浪SAE配置_第1张图片
双击打开目录,确认路径无误后上传本地文件
yershop商城系统开发(二)——新浪SAE配置_第2张图片

上传代码工具svn使用

上传代码可选svn上传或github。在此使用svn的方式
svn选用工具:TortoiseSVN(乌龟svn)
安装32或64位的乌龟svn软件后,进行以下操作

第一次下载sae代码

新建代码要存储的文件夹,右键 选择 SVN Checkout…
yershop商城系统开发(二)——新浪SAE配置_第3张图片
此时弹出对话框,Repository地址为svn在线仓库地址,地址来源见第三图
yershop商城系统开发(二)——新浪SAE配置_第4张图片
打开代码管理,找到仓库地址,复制粘贴此处即可。
yershop商城系统开发(二)——新浪SAE配置_第5张图片
第一次使用会弹出输入用户名和密码的对话框,请输入您设置的安全邮箱和安全密码

日常下载sae代码

选择SVN Update
yershop商城系统开发(二)——新浪SAE配置_第6张图片
如果该应用的账号密码与上次使用svn时的账号密码不同,需重新输入安全邮箱(账号)和安全密码
yershop商城系统开发(二)——新浪SAE配置_第7张图片

上传本地代码

右键SVN Commit…,软件会自动检测出有改动内容的文件。
左下角:Show unversioned files,有的时候误关闭后,新增的文件将不会显示。
yershop商城系统开发(二)——新浪SAE配置_第8张图片

上传过程中需注意问题
1.文件过多,一次性传输时间太长,导致服务器中断连接,上传失败:请分批上传文件。可按shift点某一文件夹,则该文件夹下子文件夹和文件均被选中。
2.本地重命名一个文件夹,显示出现待删除文件(status:Deleted)和新增加文件(status:Non-versioned):选中所有待删除文件和新增加文件,确定处理。
3.本地修改了某个文件名称大小写,无法被检测到改动:只改大小写不会被检测到,可使用第2步方式。
4.服务器修改了某文件,本地上传该文件出现 conflict,且本地文件被拆分出3个缓存文件:删除冲突的缓存文件和冲突文件,重新update

域名绑定

点击 应用设置-独立域名,添加自己要绑定的域名(尽量使用已备案域名,速度快),例如要绑定域名为bigu.shaolinchanyiwu.cn,
yershop商城系统开发(二)——新浪SAE配置_第9张图片
在域名管理面板中如下配置:
yershop商城系统开发(二)——新浪SAE配置_第10张图片

域名一般在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
yershop商城系统开发(二)——新浪SAE配置_第11张图片

域名跳转

在做支付宝时,支付宝不允许你频繁在二级域名上使用接口,否则会收到违约通知书,因此为避免此麻烦,将二级域名跳转到一级域名就有必要了,代码:

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)