新普金娱乐网址


地理HTML BOM Browser对象

长篇科幻译文连载:Seveneves七夏娃 001

C#开发微信门户及采取(4)–关注用户列表及详细信息管理

  • 九月 08, 2018
  • 地理
  • 没有评论

在上个月之对C#开微信门户及以做了介绍,写了了几首的随笔进行分享,由于时间关系,间隔了一段时间没有继承写是系列之博客了,并无是对准斯点已了研究,而是继续深入探讨这地方的技术,为了还好之运用起来,专心做好底层的技术开发。

今昔让咱们初步同上之建站之同。

微信的慌要紧之一个特色就是是会运用其平台庞大之用户群体,因此好容易做在CRM(客户关系管理)系统内部,服务号和订阅好还能为关注者推送相关的制品信息,还会及48时内响应消息和波之外向用户展开相互对话,因此用户信息是微信API里面非常重大的相同围,本随笔主要介绍获取关注用户、查看用户信息、分组管理等方面的开使。

正文是《快速创建网站》系列之第2篇,如果您还不曾看了之前的情节,建议您点击以下目录中之章节先看外情节又返回本文。

1、关注用户列表及用户分组信息

当微信的田间管理平台及,我们好观看好账号的关注者用户,以及用户分组信息,如下所示。

图片 1 

面的田间管理界面,能望关注者用户的基本功信息,但是利用微信API获取到的凡一个称之为OpenID的列表,我们先了解之事物是啊?微信API的认证为起下的剖析:

关注者列表由同串OpenID(加密后底微信号,每个用户对每个公众号的OpenID是绝无仅有的。对于不同公众号,同一用户之openid不同)组成。公众号只是经过本接口来冲OpenID获取用户中心信息,包括昵称、头如、性别、所在城市、语言及关切时间。

面的分析意思非常了解了,就是一个用户关心我们的公众号,那么不论是他是第几蹩脚关注,对咱们公众号以来,都是一个规定的价;但是,一个用户对其余公众号,却持有其他不同之OpenID。

微信提供了少量的几只举足轻重字信息,用来记录用户之连带内容,根据用户的连锁定义,我们定义一个实体类,用来放置获取回来的用户信息。

    /// <summary>
    /// 高级接口获取的用户信息。
    /// 在关注者与公众号产生消息交互后,公众号可获得关注者的OpenID
    /// (加密后的微信号,每个用户对每个公众号的OpenID是唯一的。对于不同公众号,同一用户的openid不同)。
    /// 公众号可通过本接口来根据OpenID获取用户基本信息,包括昵称、头像、性别、所在城市、语言和关注时间。
    /// </summary>
    public class UserJson : BaseJsonResult
    {
        /// <summary>
        /// 用户是否订阅该公众号标识,值为0时,代表此用户没有关注该公众号,拉取不到其余信息。
        /// </summary>
        public int subscribe { get; set; }

        /// <summary>
        /// 用户的标识,对当前公众号唯一
        /// </summary>
        public string openid { get; set; }

        /// <summary>
        /// 用户的昵称
        /// </summary>
        public string nickname { get; set; }

        /// <summary>
        /// 用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
        /// </summary>
        public int sex { get; set; }

        /// <summary>
        /// 用户的语言,简体中文为zh_CN
        /// </summary>
        public string language { get; set; }

        /// <summary>
        /// 用户所在城市
        /// </summary>
        public string city { get; set; }

        /// <summary>
        /// 用户所在省份
        /// </summary>
        public string province { get; set; }

        /// <summary>
        /// 用户所在国家
        /// </summary>
        public string country { get; set; }

        /// <summary>
        /// 用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
        /// </summary>
        public string headimgurl { get; set; }

        /// <summary>
        /// 用户关注时间,为时间戳。如果用户曾多次关注,则取最后关注时间
        /// </summary>
        public long subscribe_time { get; set; }
    }

基于分组信息定义,我们定义一个分组的实体类信息。

    /// <summary>
    /// 分组信息
    /// </summary>
    public class GroupJson : BaseJsonResult
    {
        /// <summary>
        /// 分组id,由微信分配
        /// </summary>
        public int id { get; set; }

        /// <summary>
        /// 分组名字,UTF8编码
        /// </summary>
        public string name { get; set; }
    }

访本系列目录,请点击:http://devopshub.cn/tag/wordpress-on-azure/

2、获取AIP调用者的底Token 

以召开微信API的付出,很多下,我们都得传入一个AccessToken,这个就是分别调用者和记录会话信息的字符串,因此,在攻抱有API开发前,我们需要非常好明这访问控制参数。

图片 2

此目标的概念,我们好起微信的API说明遭到打探。

access_token是公众号的大局唯一票据,公众号调用各接口时还需要采用access_token。正常状态下access_token有效期为7200秒,重复获取将促成上次获得的access_token失效。由于获得access_token的api调用次数非常简单,建议开发者全局存储和更新access_token,频繁刷新access_token会导致api调用受限,影响自己业务。

依据地方的认证定义,我们得以看来,它是一个与地位,以及会话时间关于的一个参数,而且其的生次数有限量,因此要求我们需要针对她进行缓存并再利用,在对话到期前,我们该尽可能用这个参数,避免频繁请求,增加服务器压力,以及调用的流年。

自家定义了一个智,用来布局生成相关的Access
Token,而且它兼具缓存的法力,但实际哪缓存及应用,对我API的调用是透明的,我们如果用之时段,就对其调用就是了。

        /// 获取凭证接口
        /// </summary>
        /// <param name="appid">第三方用户唯一凭证</param>
        /// <param name="secret">第三方用户唯一凭证密钥,既appsecret</param>
        string GetAccessToken(string appid, string secret);

缓存主要是基于.NET4加的类库MemoryCache,这个是一个深对的复苏存类。

自己的博AccessToken的操作实现代码如下所示。

        /// <summary>
        /// 获取每次操作微信API的Token访问令牌
        /// </summary>
        /// <param name="appid">应用ID</param>
        /// <param name="secret">开发者凭据</param>
        /// <returns></returns>
        public string GetAccessToken(string appid, string secret)
        {
            //正常情况下access_token有效期为7200秒,这里使用缓存设置短于这个时间即可
            string access_token = MemoryCacheHelper.GetCacheItem<string>("access_token", delegate()
                {
                    string grant_type = "client_credential";
                    var url = string.Format("https://api.weixin.qq.com/cgi-bin/token?grant_type={0}&appid={1}&secret={2}",
                                            grant_type, appid, secret);

                    HttpHelper helper = new HttpHelper();
                    string result = helper.GetHtml(url);
                    string regex = "\"access_token\":\"(?<token>.*?)\"";
                    string token = CRegex.GetText(result, regex, "token");
                    return token;
                },
                new TimeSpan(0, 0, 7000)//7000秒过期
            );

            return access_token;            
        }

鉴于我们理解,AccessToken默认是7200秒过期,因此在斯时段中间,我们尽量用缓存来记录其的价值,如果跨越了此日子,我们调用这个法的下,它会自动重新取得一个新的值为咱们了。

 

1. 网站管理平台WordPress和说话计算平台Azure简介 (6分钟视频

2.1 在Azure上缔造网站与网站运行机制
(13分钟视频)
2.2 域名绑定操作以及Azure负载均衡机制
(12分钟视频)
2.3 WordPress 初始化和网站管理力量
(11分钟视频)
3.1 WordPress 数据导入
(12分钟视频)
3.2 WordPress 多站点支持及Azure在线代码编辑器
(14分钟视频)
3.3 WordPress 多语言支持 Multisite Language Switcher
(15分钟视频)
3.4 WordPress 主题安装以及布局,美化你的网站
(15分钟视频)
4.1 为甚去软件不同让过去汽车,为啥是软件就势必会生出Bug -
构建出运维一体化(DevOps)(11分钟视频)
4.2 完结篇 – 应用运营vs.发射卫星,遥测(Telemetry) 技术
(13分钟视频)

3、获取关注用户列表

落关注用户列表,一次拉取API调用,最多拉取10000只关注者的OpenID,可以通过反复拉取的章程来满足要求。微信的接口定义如下所示。

http请求方式: GET(请以https协议)
https://api.weixin.qq.com/cgi-bin/user/get?access\_token=ACCESS\_TOKEN&next\_openid=NEXT\_OPENID

以此接口返回的数额是

{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}

冲返回的Json数据定义,我们还需要定义两只实体类,用来存放在返回的结果。

    /// <summary>
    /// 获取关注用户列表的Json结果
    /// </summary>
    public class UserListJsonResult : BaseJsonResult
    {
        /// <summary>
        /// 关注该公众账号的总用户数
        /// </summary>
        public int total { get; set; }

        /// <summary>
        /// 拉取的OPENID个数,最大值为10000
        /// </summary>
        public int count { get; set; }

        /// <summary>
        /// 列表数据,OPENID的列表
        /// </summary>
        public OpenIdListData data { get; set; }

        /// <summary>
        /// 拉取列表的后一个用户的OPENID
        /// </summary>
        public string next_openid { get; set; }
    }

    /// <summary>
    /// 列表数据,OPENID的列表
    /// </summary>
    public class OpenIdListData
    {
        /// <summary>
        /// OPENID的列表
        /// </summary>
        public List<string> openid { get; set; }
    }

为博相关的用户信息,我定义了一个接口,用来取用户之音讯,接口定义如下所示。

    /// <summary>
    /// 微信用户管理的API接口
    /// </summary>
    public interface IUserApi
    {
        /// <summary>
        /// 获取关注用户列表
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="nextOpenId">第一个拉取的OPENID,不填默认从头开始拉取</param>
        /// <returns></returns>
        List<string> GetUserList(string accessToken, string nextOpenId = null);

        /// <summary>
        /// 获取用户基本信息
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="openId">普通用户的标识,对当前公众号唯一</param>
        /// <param name="lang">返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语</param>
        UserJson GetUserDetail(string accessToken, string openId, Language lang = Language.zh_CN);

下一场于落实类似里,我们独家指向端两单接口进行落实,获取用户列表信息如下所示。

        /// <summary>
        /// 获取关注用户列表
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="nextOpenId">第一个拉取的OPENID,不填默认从头开始拉取</param>
        /// <returns></returns>
        public List<string> GetUserList(string accessToken, string nextOpenId = null)
        {
            List<string> list = new List<string>();

            string url = string.Format("https://api.weixin.qq.com/cgi-bin/user/get?access_token={0}", accessToken);
            if (!string.IsNullOrEmpty(nextOpenId))
            {
                url += "&next_openid=" + nextOpenId;
            }

            UserListJsonResult result = JsonHelper<UserListJsonResult>.ConvertJson(url);
            if (result != null && result.data != null)
            {
                list.AddRange(result.data.openid);
            }

            return list;
        }

咱看,转换的逻辑已经停放了JsonHelper里面去了,这个辅助类里面分别对数值进行了获得内容,验证返回值,然后换正确实体类几个组成部分的操作。

得到内容,通过辅助类HttpHelper进行,这个以自身之公用类库里面,里面的逻辑主要就经HttpRequest进行数量的取操作,不以赘述。

HttpHelper helper = new HttpHelper();
string content = helper.GetHtml(url);

出于返回的情,我们得看清它们是否科学返回所需要的结果,如果没有,抛来从定义的连带异常,方便处理,具体如下所示。

        /// <summary>
        /// 检查返回的记录,如果返回没有错误,或者结果提示成功,则不抛出异常
        /// </summary>
        /// <param name="content">返回的结果</param>
        /// <returns></returns>
        private static bool VerifyErrorCode(string content)
        {
            if (content.Contains("errcode"))
            {
                ErrorJsonResult errorResult = JsonConvert.DeserializeObject<ErrorJsonResult>(content);
                //非成功操作才记录异常,因为有些操作是返回正常的结果({"errcode": 0, "errmsg": "ok"})
                if (errorResult != null && errorResult.errcode != ReturnCode.请求成功)
                {
                    string error = string.Format("微信请求发生错误!错误代码:{0},说明:{1}", (int)errorResult.errcode, errorResult.errmsg);
                    LogTextHelper.Error(errorResult);

                    throw new WeixinException(error);//抛出错误
                }
            }
            return true;
        }

然后变为相应的格式,就是经过Json.NET的类库进行更换。

            T result = JsonConvert.DeserializeObject<T>(content);
            return result;

这般咱们便足以当ConvertJson函数实体里面,完整的拓拍卖及更换了,转换完整的函数代码如下所示。

    /// <summary>
    /// Json字符串操作辅助类
    /// </summary>
    public class JsonHelper<T> where T : class, new()
    {
        /// <summary>
        /// 检查返回的记录,如果返回没有错误,或者结果提示成功,则不抛出异常
        /// </summary>
        /// <param name="content">返回的结果</param>
        /// <returns></returns>
        private static bool VerifyErrorCode(string content)
        {
            if (content.Contains("errcode"))
            {
                ErrorJsonResult errorResult = JsonConvert.DeserializeObject<ErrorJsonResult>(content);
                //非成功操作才记录异常,因为有些操作是返回正常的结果({"errcode": 0, "errmsg": "ok"})
                if (errorResult != null && errorResult.errcode != ReturnCode.请求成功)
                {
                    string error = string.Format("微信请求发生错误!错误代码:{0},说明:{1}", (int)errorResult.errcode, errorResult.errmsg);
                    LogTextHelper.Error(errorResult);

                    throw new WeixinException(error);//抛出错误
                }
            }
            return true;
        }

        /// <summary>
        /// 转换Json字符串到具体的对象
        /// </summary>
        /// <param name="url">返回Json数据的链接地址</param>
        /// <returns></returns>
        public static T ConvertJson(string url)
        {
            HttpHelper helper = new HttpHelper();
            string content = helper.GetHtml(url);
            VerifyErrorCode(content);

            T result = JsonConvert.DeserializeObject<T>(content);
            return result;
        }
}

调用这个API的界面层代码如下所示(测试代码)

            IUserApi userBLL = new UserApi();
            List<string> userList = userBLL.GetUserList(token)

 

伸手配合视频阅读本文

4、获取用户详细信息

地方的抱列表操作,相对比较简单,而且并非POST任何数,因此通过Get协议便能够得到所需要的多少。

本小节持续介绍获取用户详细信息的操作,这个操作为是通过GET协议便足以做到的。

以此API的调用定义如下所示:

http请求方式: GET
https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

由此传播一个OpenId,我们便会生好取到用户的相关消息了。

面前小节我们就定义了它们的接口,说明了传播及返回值,根据定义,它的贯彻函数如下所示。

        /// <summary>
        /// 获取用户基本信息
        /// </summary>
        /// <param name="accessToken">调用接口凭证</param>
        /// <param name="openId">普通用户的标识,对当前公众号唯一</param>
        /// <param name="lang">返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语</param>
        public UserJson GetUserDetail(string accessToken, string openId, Language lang = Language.zh_CN)
        {
            string url = string.Format("https://api.weixin.qq.com/cgi-bin/user/info?access_token={0}&openid={1}&lang={2}",
                   accessToken, openId, lang.ToString());

            UserJson result = JsonHelper<UserJson>.ConvertJson(url);
            return result;
        }

末尾,我们构成得用户列表和获得用户详细信息的简单个API,我们看调用的代码(测试代码)。

        private void btnGetUsers_Click(object sender, EventArgs e)
        {
            IUserApi userBLL = new UserApi();
            List<string> userList = userBLL.GetUserList(token);
            foreach (string openId in userList)
            {
                UserJson userInfo = userBLL.GetUserDetail(token, openId);
                if (userInfo != null)
                {                    
                    string tips = string.Format("{0}:{1}", userInfo.nickname, userInfo.openid);
                    Console.WriteLine(tips);
                }
            }
        }

 

仍系列相关文章如下:

C#出微信门户及应用(25)-微信企业号的客户端管住作用

C#支出微信门户及用(24)-微信小店货架信息保管

C#出微信门户及下(23)-微信小店商品管理接口的包和测试

C#支出微信门户及利用(22)-微信小店的付出暨使用

C#出微信门户及以(21)-微信企业号的音信和事件之接处理及解密 

C#付出微信门户及使用(20)-微信企业号的菜单管理

C#支付微信门户及运用(19)-微信企业号的消息发送(文本、图片、文件、语音、视频、图文信息等)

C#开微信门户及使用(18)-微信企业号的通讯录管理出的成员管理

C#开发微信门户及用(17)-微信企业号的通讯录管理出的部门管理

C#支出微信门户及采取(16)-微信企业号的部署和下

C#开微信门户及利用(15)-微信菜单增加扫一扫、发图片、发地理位置功能

 C#开发微信门户及下(14)-在微信菜单中应用重定向获用户数量

C#支出微信门户及应用(13)-使用地理位置扩展相关以

C#出微信门户及用(12)-使用语音处理

C#支付微信门户及下(11)–微信菜单的余呈现方法介绍

C#开发微信门户及应用(10)–在治本网遭到联手微信用户分组信息

C#支出微信门户及以(9)-微信门户菜单管理暨交至微信服务器

C#出微信门户及采取(8)-微信门户应用管理体系功能介绍

C#支出微信门户及利用(7)-微信多客服功能及开销并

C#出微信门户及用(6)–微信门户菜单的田间管理操作

C#支付微信门户及下(5)–用户分组信息保管

C#开发微信门户及应用(4)–关注用户列表及详细信息管理

C#支付微信门户及用(3)–文本音及图文信息的答疑

C#开发微信门户及下(2)–微信信的处理与回应

C#支付微信门户及应用(1)–开始使用微信接口

网站域名注册

每个网站都急需发出谈得来的域名,域名是绝无仅有标识站点的名称。给站点从一个便于记忆而与情节有关的域名是你建站的率先步。可以经以下这些域名服务可自助完成登记的劳作,一般的话5-10分钟即可以完成一个网站的域名注册操作。

  • 万网(现隶属于阿里云):http://www.net.cn
  • Go Daddy: http://www.godaddy.com

微软Azure云计算国际版及国内版

对此华的用户来说,获取微软Azure云计算账号来一定量独途径,分别是:Azure国际版以及Azure国内版。

  • 国际版:2008年10月27日,当时微软的上位架构师
    Ray
    Ozzie在微软技术大会上颁布,并在2010年2月业内开于世上经贸运营的云计算平台。Azure在天下有17个数据核心(服务区),覆盖了北美,南美,欧洲,亚洲跟大洋洲齐名根本区域。在亚洲,Azure国际版来3只数据主导,分别位居:香港(东亚),新加坡(南亚),日本(日本东部和西方)。具体的数核心分布得参考:http://azure.microsoft.com/en-us/regions/
    图片 3
  • 国内版:由于中国政府的政策范围,微软无法直接当炎黄国内运营数量基本服务。因而,在2014年和世纪互联合作,由微软供所有技能以及食指,由世纪互联提供运营及实业,成立Azure中国。是首单当炎黄境内正式商用的全球化云计算提供商。当前,Azure在中原境内提供2单数据基本,分别居:北京与上海。介于国内的运营商相互隔离的景,Azure也提供了BGP连接,确保用户可经另外网络高速的造访Azure的数码主导服务。

否是坐政策的界定,Azure在境内的数核心和国外的数码基本是无提供直接的数额链路的,同时也应用2套独立的账号体系,2种差之定价策略,因此大家在挑选服务之上用综合考虑好的受众以及Azure国内外服务之差别来设想。

从技术上看,Azure国际版的作用是创新的大快的。国内版由刚刚开始运营,在效能上与国际版还是出得的差异。比如:我们以《快速创建网站》中所利用的WordPress自动部署功能时当Azure国内版备受虽还从来不供。这里的由不外乎境内版刚刚开始运营以外,也与许多的非技术因素。比如:像WordPress的此自动部署得依赖ClearDB所提供的mysql服务,而clearDB是第三正值的说服务,因而特别不便直接引入到中国来行使。不过,即便有这些限制,最近境内Azure的更新速度为于快马加鞭,基本上以列国版新劳动提供后90龙外得以共完成国内的安排。说明国内的Azure团队还是当不断的秋以及改良的。

Azure云计算账号获得

为以上的原故,有2种植不同之主意获取Azure账号。

  • 国际版账号,好经以下网址获取。国际版试用账号提供$210美金的动额度,你得下这些额度购买任何的劳动,有效期1单月。http://azure.microsoft.com/zh-cn/pricing/free-trial/

    使你闹MSDN或者BizSpark(初创企业)账号,那么以同时获取肯定之免费应用额度;而且MSDN和BizSpark账号的Azure额度是每个月份更新的,也就是说,具备msdn或BizSpark账号的用户可以直接免费使用Azure的服务。

    • msdn: http://azure.microsoft.com/zh-cn/pricing/member-offers/msdn-benefits/
    • bizSpark:http://azure.microsoft.com/zh-cn/pricing/member-offers/bizspark-startups/

    假设你是学生还是老师,也堪申请一定额度的免费Azure用量。

    • 育用户:http://www.microsoftazurepass.com/azureu

    报方式:你需要在线完成登记,并提供一个非中国大陆的手机号码用于账号激活。这点可能大家看比较费心,但实际上你了好查找个香港要其它地方的冤家,用他们手机号码激活。只待给他俩把激活码发送给您便哼了。激活过程用您提供信用卡号(国内的信用卡是ok的),但是要是您切莫盖用计量,是勿会见发出费用之。

  • Azure国内版账号,可以经过以下网址获取。国内版时供1最先人民币试用,注册过程可在线完成,1状元的支付可以通过支付宝就。激活账号后而拿获得¥1500人民币之用量,可以用来购置外的服务,有效期为1只月。http://www.windowsazure.cn/pricing/1rmb-trial/

Azure用量计算器

Azure提供了简短容易用的用量/价格计算器,可以挺便宜的算计自己之额度可以使用多少资源。

  • 国际版:http://azure.microsoft.com/zh-cn/pricing/calculator/
  • 国内版:http://www.windowsazure.cn/pricing/calculator\#all

图片 4

以微软Azure云计算平台及创办网站服务

视频中所示范的网站创建进程如下:
注:此演示过程采用Azure国际版完成。

  1. 登陆Azure控制台 https://manage.windowsazure.com
  2. 点击左边的 网站 图标进入 网站功能 页面
    图片 5
  3. 点击页面左下角的 新建 按钮,并于弹出的机能菜单中选择 计算 |
    网站 | 从库中

    图片 6
  4. 当弹出的 查找Microsoft Azure应用 页面中,点击左边的 博客
    过滤项,并于中等列表中找到WordPress 的选项项,并单击选定。
    图片 7注:大家用专注右侧所显示的WordPress版本,Azure会不断的用这本子更新为新型的WordPress稳定版。在作本文时用的是4.1本子,因此后续在设置各种插件的早晚都选择和4.1版本兼容的情节。
  5. 单击右下角的 下一步 图标,在 配置使用 页面中,填写站点的基本信息,包括:

    • URL:这是一个以 azurewebsites.net
      结尾的域名,你需要指定此域名的第一有些。这个域名是Azure用来分别不同应用之里边域名,与本文开始经常自己要求大家报之域名不同,这个域名是出于Azure来甄别以及治本的。当我们的网站创建好后,我们拿把咱好之挂号之域名绑定到此Azure的内域名及。
    • 数据库:这是WordPress用来存放网站数量的数据库,Azure可以活动创建MySQL数据库并活动配置WordPress连接到这个数据库及。
    • Web Scale Group (Web Hosting Plan
      宿主计划):宿主计划是Azure中之所以来对网站资源开展分组管理的功效,你可拿同组有关的网站放置于与一个宿主计划遭遇,这样以开展横向扩张的上即便好而且针对这些网站开展操作,简化你的恢弘操作。相关材料要参考:http://azure.microsoft.com/blog/2014/04/04/introducing-web-hosting-plans-for-azure-web-sites/
    • 区域:这里将列出Azure在海内外的具有数据主导,你得选取用好的站点放置在里头任何一个数量核心。选择数据核心时若硬着头皮选跟协调的对象用户比近之岗位,保证访问的进度和稳定性。所有区域列表可以当此处查到:http://azure.microsoft.com/zh-cn/regions/
    • 订阅:订阅是Azure中之所以来治本账号相关资源的章程,每个Azure账号可以产生多单订阅,每个订阅中好管理大多独资源。你呢得以将一个订阅分配受其他用户使用。
    • 部署设置:这是同WordPress相关的部分布置起,其情会刻画副到wp-config.php这个布局文件被。在此配置的且是一对密钥,用来对WordPress数据库中之敏锐信息进行加密的。这些密钥后期可通过改动wp-config.php文件随时修改,在此可以配备为可以留空。

    图片 8

  6. 点击 下一步 后,在 新建MySQL数据
    页面中,配置好数据库名称与区域
    图片 9
    数据库的区域要硬着头皮与网站的区域统一,以担保网站以及数据库的连速度。另外,同一个区域外之多少传不见面收取费用,而过数据基本的数量流量是收费的。

  7. 点击 完成
    按钮,等待Azure完成布置。过程中好透过点击页面右侧下角的进度图标看到进度。
    得经过控制台看到眼前底窗台,如:正在开创
    图片 10
    点击右侧下角的速度图标,看到详细的速
    图片 11
  8. 当网站的状态显示为 刚好于运转 后,就表示网站创建已经完结,我们就是得动用我们的网站了。
    以鼠标放置于网站称及,可以看到一个朝右侧的箭头
    图片 12点击是箭头就可进来时网站的控制台,控制台上分区域显示和当下网站相关的有着信息。对网站的装有操作都得以通过此落成
    图片 13
  9. 完了上述操作后,可以点击右侧的 站点url,打开以下WordPress安装页面。
    伸手留意:不要点击下一样步。因为WordPress会以时页面的url来初始化数据库,我们无期待WordPress使用.azurewebsites.net这样的域名来展开初始化(当然,如果您只是进行测试,那即便无所谓了)。在2.2蒙,我们以见面完结域名之绑定,届时我们见面回到这个页面就WordPress的安装操作。
    图片 14

Azure网站机制介绍

Azure 网站服务是同等种植
Platform-as-a-Service(PaaS http://en.wikipedia.org/wiki/Platform_as_a_service )服务,是构建以操作系统及应用服务器之上的相同种植使级别之服务。使用PaaS服务的利益是公不要关心底层的应用服务器和操作系统(对Azure而言就是Windows
Server和IIS服务),只需要保护团结之应用程序(网站)即可,这样使操作系统升级,补丁和翻新等问题不怕还交予云服务平台来形成。同时,Azure还针对性网站提供3单非常要紧之职能:冗余,复杂均衡和自动化部署。

  • 冗余:不怕备份,不过当下是平等种在线的备份,也就是说在同一时间,你的网站发出多只相互为一起的备份存在。在旁时刻,如果在让利用的正片出现了问题,Azure会自动将请求改换到可用之备份上面。而且,Azure还提供过数据主导的地理冗余,比如:你的网站放置于首都底数据主导,那么你可以选择于上海之数目基本创立冗余,这样一旦都的数码主导完全被毁损了,你的多少还是是安的。这些冗余操作以及死灰复燃在Azure中还是自动就的,用户只有需要选定相应的布即可。

     

    图片 15
    冗余

  • 负载均衡:不畏是差不多节点轮换进行劳动,这第一是以解决性能问题。如果一个节点的性无法满足要求,你可以由此简单的布好差不多只节点的缔造,Azure会自动的将请求分配给有的节点,同时做到而的使在不同节点内的同台。负载均衡的体制与医院内的分诊台好接近,因为病人多,医院一般都见面吗和一个科室(服务)配置一个分诊台(负载均衡器NLB),由其得病人到诊室的分红,保证医生(服务器资源)的充分利用和患者等候时(响应时间)的控制。同时,如果哪位医生要达到厕所(离线)或者休病假(当机),分诊台也堪动态的姣好病人的分配。

     

    图片 16
    负载均衡

  • 自动化部署:每当以上网站创建进程得看出,Azure会自动完成IIS配置,WordPress文件及污染与mysql的配置,同时修改wp-config.php这个布局文件,保证新部署的站点可活动的连日至相应的数据库及。而以传统的WordPress部署中,以上就3单操作都是用人工完成的。自动化部署为得以跟随地集成系统进行合并,在《快速创建网站》系列的终极,我会见受大家介绍如何使用Visual
    Studio Online中的git代码库与Azure网站进行集成,完成自动化的布。

最终值得一提的是,Azure网站不仅仅支持微软的出语言和条件,同时也也开源环境提供了好好之支撑,当前所支持的条件要不外乎:

  • ASP.NET
    http://azure.microsoft.com/en-us/documentation/articles/web-sites-dotnet-get-started/
  • PHP
    http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-mysql-deploy-use-git/
  • Node.JS
    http://azure.microsoft.com/en-us/documentation/articles/web-sites-php-mysql-deploy-use-git/
  • Java
    http://azure.microsoft.com/en-us/documentation/articles/web-sites-java-get-started/
  • Python
    http://azure.microsoft.com/en-us/documentation/articles/web-sites-python-create-deploy-django-app/

在当年1月底MVP ComCamp2015
Keynote上自我也演示了安布置一个Node.JS应用到Azure网站上,感兴趣之同室可以省就首博客(有视频演示):

http://anb.io/blog/opensource-freetools-crossplatform-mvp-comcamp2015-keynote/

愿意本文可以帮您针对Azure云计算出早晚之起询问,并且可以收获到免费的试用账号。如果您已经就了本文的操作,请《快速创建网站》系列连续的情。

求关注微信公众号,每周推送内容,有技巧呢闹失足,一起做个发情怀的程序猿。
图片 17

相关文章

No Comments, Be The First!
近期评论
    分类目录
    功能
    网站地图xml地图