清华雨课堂实现太难?手把手教你复刻一个“小红书”玩一玩!

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 清华雨课堂实现太难?手把手教你复刻一个“小红书”玩一玩!

image.png


自进入新世纪以来,人们获取信息的方式便经历了三次大的迭代。第一代信息获取是以各类导航网站为代表,用户去网站上获取信息;第二代则是以各种搜索引擎为代表,其意味着我们已经开始主动获取信息;第三代则是当下的推荐流信息获取,这代表着我们已经开始被动获取信息。而未来,社交型信息获取将有望再次形成一种新的革命,而其承载平台一方面是以微信为代表的各种社交工具,另一种则是以小红书为代表的SNS类网站。


在社交层面,微信等工具已然成为人们生活中不可或缺的组成;而小红书们则在种草的路上越走越顺。基于社群的新型电商模式兴起,越来越多的人对产品品质和个性化需求提出新要求,尤其是年轻一代更加愿意去接受UGC内容的输出。因此专业优质的UGC内容会吸引人群自发形成传播。也就是说,大多数人获取信息的方式不再是通过官方的数据,更多的是一些口碑、测评、论坛等。

 

与此同时,消费者的角色也在发生着改变,其角色逐渐多样化,自身的经历和使用经验分享能够帮助到更多人,也有助于形成自我的引流。而小红书就是从社群里发酵口碑,用种草的方式为电商引流进而让流量变现,形成了一个发现、分享、购买于一体的完整商业闭环。这种新的商业闭环的成功,也让“小红书”类的网站社区+电商模式的平台备受人们青睐。

 

那么,在新的商业需求下,“小红书”类网站要如何建站呢?这里,笔者将利用华为云鲲鹏弹性云服务器来建立一个“小红书”类的站点,并为大家讲解整个网站建立的全部流程。


一.华为云鲲鹏弹性云服务器购买


首先,登陆华为云官网购买服务器,普通的预装CentOS系统即可,具体配置一般用1核2GB带宽1Mbps的QPS可达1~3万,足够日常使用。


1. 快速


快速购买预置的一些参数如下:


可用区云平台随机分配,不可修改。


虚拟私有云默认虚拟私有云,不可修改。


安全组默认安全组,可在云服务器创建成功后修改。


云服务器名称以选择的镜像命名,可在云服务器创建成功后修改。


密码请在云服务器创建成功后通过“重置密码”进行设置


image.png


2. 自定义购买


2.1 基础配置


区域和可用区选择


选择区域时,一般情况下,建议就近选择这样可以减少网络时延,提高访问速度。在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。


选择可用区时?是否将资源放在同一可用区内,主要取决于对容灾能力和网络时延的要求。如果需要高的容灾能力,建议资源部署在同一区域的不同可用区内。如果要求实例之间的网络延时较低,则建议资源创建在同一可用区内。


image.png


2.2 网络配置


虚拟私有云


虚拟私有云可以方便的管理、配置内部网络,进行安全、快捷的网络变更,不同虚拟私有云里面的弹性云服务器网络默认不通。


主网卡


主网卡用于系统的默认路由,不允许删除。


image.png

2.3 高级配置


根据需求进行自定义云服务器名称,然后设置登陆服务器密码


需购买备份存储库,存储库是存放服务器产生的备份副本的容器。


image.pngimage.png


二、配置服务器的环境


1. 登陆服务器


通过服务器的默认账号root和购买服务器填写的密码登陆服务器,这里我推荐windows系统下使用xshell或者git bashmac或者linux使用自带的终端登陆工具即可,ssh初始默认登陆端口为22

 

ssh root@ip 输入密码即可登陆


image.png

2. 准备软件


WinSCP


WinSCP是在Windows环境下使用SSH的开源图形化SFTP客户端,用于在本地与远程计算机间安全的复制文件。


3. 搭建数据库和后台环境


image.png

3.1 安装MySQL

执行以下命令,安装MySQL数据库服务器、MySQL客户端和MySQL开发所需的库及包含文件。


本文档以“CentOS 8.0 64bit(40GB)”操作系统为例,对应MySQL版本为Ver 8.0.17 for Linux on aarch64。


其他系统的命令有些许差别,请下载软件的时候选择对应系统的软件,源网址都是对应系统版本号。例如新版CentOS8的系统你需要安装8版本的yum 源。推荐使用CentOS 7.6稳定版本。


下载 关于myssql的Yum 资源包:

wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm

rpm -Uvh mysql80-community-release-el8-1.noarch.rpm


查看rpm包里可用mysql版本:

yum repolist all | grep mysql


启用和禁用安装服务:

yum config-manager --enable mysql80-community

yum config-manager --disable mysql80-community


查看所有启用状态的可安装服务:

yum repolist enabled | grep mysql


安装mysql服务:

yum install mysql-server


更新mysql:

yum update mysql-server


初始化mysql数据库:

mysqld --initialize


image.png


image.png

image.png


4. 搭建Web环境


安装nginx


通过 wget http://nginx.org/download/nginx-1.14.1.tar.gz下载文件


安装必要插件,例如解压软件等:

yum -y install gcc pcre pcre-devel zlib zlib-developenssl openssl-devel


说下这几个的作用


gcc 它可以编译 C,C++,Ada,ObjectC和Java等语言


pcre pcre-devel pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库


zlib zlib-devel zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装


openssl openssl-devel openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔


image.png


解压下载好的文件:

tar -zxvf nginx-1.17.6.tar.gz


进入到 nginx-1.17.6文件夹下面,开始安装

指定安装路径:

./configure --prefix=/software/nginx


这句话的意思是指定安装路径:

--prefix=/software/nginx


编译:

make


image.png

image.png

image.png

image.png

image.png


装PHP


用wget下载php的tar.gz文件:wget http://br2.php.net/get/php-7.2.11.tar.gz


解压tar.gz文件:tar zxvfphp-7.2.11.tar.gz


配置php相关文件 配置php.ini 配置php-fpm.conf 配置www.conf


启动php

 

image.png


查看php是否启动:

ps -ef | grep php


image.png

在浏览器中输入http://弹性公网IP地址/ ,即可访问服务器的默认主页。


三、部署网站代码


使用WinSCP工具将文件夹文件夹中的文件上传至云服务器的“/var/www/html”路径下。具体操作请参考WinSCP相关使用文档。


注:如果用nginx做服务器 请上传至此目录/usr/share/nginx/html


默认只有root用户才有写权限,所以需要登录服务器,执行以下命令将写权限赋予给其他用户。


chmod -R 777 /var/www/html


验证搭建结果


在浏览器中输入:http://弹性公网IP地址/ 可登录论坛主页则说明网站搭建成功。


四、配置负载均衡


1. 释放弹性公网IP


用户所能使用的弹性公网IP数目默认为一个,如果需要扩大弹性公网IP的配额则需要另外申请。使用负载均衡功能时,系统会自动分配一个公网IP,该公网IP属于弹性公网IP。为了避免出现弹性公网IP配额不足的情况,建议先释放弹性公网IP再申请弹性负载均衡服务。

image.png

image.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.pngimage.png

五、购买域名并填写域名模板解析域名


根据国家规定,如果客户网站所使用的服务器是在中国大陆,就需要进行ICP备案,没有备案的域名不能访问网站。而备案受理前置条件如下:


l  有正规注册的域名。

l  确认IP地址为华为公司所属。

l  公司属于非经营性网站性质。


image.png

根据工信部域名实名认证要求,在注册域名时需要填写用户信息。可以通过创建信息模板操作预先设置域名所有者的信息,并对信息模板进行实名认证。完成信息模板创建后,在域名注册时可以直接使用已经创建的信息模板设置域名信息。


2. 域名备案


互联网信息服务提供者从事互联网信息服务使用的域名应为其依法依规注册所有,当备案信息通过华为云提交后,工信部核验系统将首先进行网站备案域名核验。如未能通过核验的,由系统自动退回。通过系统核验后才能提交至省通信管理局审核


3. 使用华为云DNS解析域名


云解析服务(Domain Name Service,DNS)提供高可用、高扩展的DNS服务,把人们常用的域名(如 www.example.com)转换成用于计算机连接的IP地址(如 192.1.2.3)。云解析服务可以直接在浏览器中输入域名,访问网站或Web应用程序。云解析服务默认开通,并且可以免费使用。


image.png

image.png

六、测试域名解析是否生效

当然,在完成了之后,用户还可以在已经连接Internet的PC终端的DOS窗口使用如下三种命令测试域名解析是否生效,命令格式如下:


1.ping 目标域名

2.nslookup [-qt=类型] 目标域名权威DNS地址

3.dig 类型 目标域名 @权威DNS地址


nslookup和dig命令中的“类型”可以输入解析记录类型(比如A,CNAME,TXT,MX等),用来查询指定类型的域名解析是否生效,如果不输入则默认查询A类型域名解析。

 

如果PC终端的操作系统没有自带dig命令,需要手动安装后才能使用。


上述命令均可以用于测试公网域名解析和内网域名解析是否生效。


到这里,整个部署过程结束,这时候访问已经备案好的域名,即可访问到自己部署的项目。


七、SNS网站开发注意事项


1.缓存应用,例如redis等,减少直接访问数据库。缓存的设计包含很多技巧,设计不当将会导致严重的后果,注意缓存常见的穿透、雪崩、击穿问题。


2.注意数据一致性问题,通过加锁的方式解决。


3.应用消息队列,通过异步处理提高系统性能,削峰、减少响应所需时间


4.部分服务可以用Python和Go来实现,提高处理速度。


5.为了数据传输的安全,可以使用https。HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。


八、“小红书”们爆红背后的制胜法宝


基于鲲鹏的建站工作已经讲解完毕,但要想建立一个类”小红书“的SNS网站,还需要在设计和运营上下功夫。“小红书”们的主要功能架构和首页布局大体如下:


image.png

其主要的竞争优势在于构建成熟的UGC生态,用专业的内容来吸引用户。


小红书一级分类为关注、发现、附近,以内容为核心,结合人和地点,进行UGC的内容分享;底部有突出的“+”设计,用户可以发布笔记,笔记的内容可以是图文也可以是短视频,内容包括晒图,品牌,使用心得,购物,美食,宠物,美妆等等。针对感兴趣的作者和内容,用户可以关注,点赞,评论。


针对“小红书“们的运营分析如下:


  • 目标人群确定内容方向。小红书的主要用户是来自一二线发达城市,爱美、追求精致生活的 90 后年轻女孩。针对这类用户提供时尚,美妆,护肤,生活方式的相关指导。
  • 生产到加工、组织精细化内容生产方式。小红书的内容俗称笔记,这些笔记是有清晰的排版和结构的,一方面有助于内容的整洁,方便阅读,另一方便也降低了分享的难度。
  • 用户生命周期管理和推荐算法。新手期,在新用户注册阶段,让用户选出自己感兴趣的分类;成长期,由于用户数据的沉淀,多通过推荐算法来提供优质内容,推荐关注,用专业的内容来吸引用户,通过好友关系和吸引用户留存等;


综合以上策略,“小红书“ 类SNS社交网站依靠优质的UGC内容输出形成流量入口,覆盖垂直的社群,根据用户的兴趣爱好聚合高粘性用户,在内容的传递和交流中,形成信任关心,进行购物引导,进而形成一个自循环的社群。

 

在当前环境下,随着社交类网站的种类越来越多,流量越来越大,其对于底层平台的稳定性、安全性和可扩展性要求将会变得越来越高,华为云鲲鹏弹性云服务器能够对业务开发提供很大的帮助,值得信赖。

相关文章
|
3月前
|
Java 开发者 Python
编程之道:从小白到大牛的心路历程
【9月更文挑战第1天】编程,不仅仅是敲击键盘、编写代码那么简单。它是一种思维的锻炼,一种解决问题的艺术,更是一种生活的态度。本文将带你走进编程的世界,从最初的迷茫与困惑,到逐渐找到方向,再到深入探索与提升,最后实现自我价值的蜕变。让我们一起感受编程的魅力,体验技术的力量。
|
5月前
|
Python
京东技术团队撰写的整整986页《漫画学Python》到底有什么魅力?
这是一本Python入门书。无论您是想学习编程的小学生,还是想参加计算机竞赛的中学生,抑或是计算机相关专业的大学生,甚至是正在从事软件开发的职场人,本书都适合您阅读和学习。但您若想更深入地学习Python并进行深层次应用,则需要选择其他相关图书。
GitHub刷屏热议,原来是字节跳动大牛分享数据结构与算法实战笔记
大家都知道,对于程序员来说很大程度上算法就是为了应付面试的。大佬们都说过,学算法之前起码得了解数据结构呀!你是否当程序员这么多年,还只是能手写出个冒泡排序的代码?别怕!我最近正好找到一份字节跳动大牛分享的数据结构与算法实战笔记,在这里分享给大家!
|
缓存 算法 搜索推荐
Github一夜爆火的阿里术小册究竟有什么魅力?才能引大家趋之若鹜
谈谈我的真实感受吧~ 程序员真的是需要将终生学习贯彻到底的职业,一旦停止学习,离被淘汰,也就不远了。
|
安全 关系型数据库 MySQL
吹爆!阿里大牛MySQL优化笔记有多强?才在GitHub被BATJ联手封杀
今年的春招很猛,公司的大神也变多了。。。来了个新同事,一看是个二本生,还是非科班出身,刚30岁。。。 结果没想到人家上来就把现有项目的性能优化了一遍,直接给公司节省了一半的成本,这种“王炸”打法,直接给所有人整懵了。
193 0
|
SQL 算法 计算机视觉
百度飞桨课堂小白逆袭大神第三天课程(整理)
百度飞桨课堂小白逆袭大神第三天课程(整理)
204 0
百度飞桨课堂小白逆袭大神第三天课程(整理)
|
人工智能 程序员 API
『教师节』程序猿用文心大模型带你一键加速祝福,祝老师们节日快乐
『教师节』程序猿用文心大模型带你一键加速祝福,祝老师们节日快乐
189 0
|
前端开发 JavaScript 程序员
我们相约,这份学习指南请您收好。
我们相约,这份学习指南请您收好。
写给普通人看的自媒体分享|万事开头难,勇于分享自己,我们都很棒!
相信自媒体这个词对于我们任何一个人来说都不陌生了,到底什么是自媒体呢?从名称属性来看,很简单,就是自己做自己的媒体,自己将自己的东西分享出来,就是自媒体。那么说的实际一点,对于我们普通人...
216 0
|
机器学习/深度学习 存储 人工智能
接入百度大脑OCR技术,读书郎让小朋友变身“自学读书郎”
接入百度大脑OCR技术,读书郎让小朋友变身“自学读书郎”
224 0
接入百度大脑OCR技术,读书郎让小朋友变身“自学读书郎”
下一篇
DataWorks