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

网友投稿 506 2022-05-30

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

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

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

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

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

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

1. 快速购买

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

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

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

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

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

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

2. 自定义购买

2.1 基础配置

区域和可用区选择

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

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

2.2 网络配置

虚拟私有云

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

主网卡

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

2.3 高级配置

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

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

确认配置支付

购买完成在控制台查看到云服务器

二、配置服务器的环境

1. 登陆服务器

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

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

2. 准备软件

WinSCP

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

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

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

启动mysql:

chown mysql:mysql -R /var/lib/mysql

service mysqld start

systemctl status mysqld

查看mysql版本:

mysql -V

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,可以说我们的信息都是在裸奔

解压下载好的文件:

tar -zxvf nginx-1.17.6.tar.gz

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

指定安装路径:

./configure --prefix=/software/nginx

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

--prefix=/software/nginx

编译:

make

安装:

make install

进入到安装nginx目录下面的sbin

启动命令:

./nginx

打开浏览器访问你的IP地址,显示此页面说明nginx启动成功

安装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

查看php是否启动:

ps -ef | grep php

在浏览器中输入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再申请弹性负载均衡服务。

2. 创建弹性负载均衡

选择“网络 > 弹性负载均衡”,单击“创建负载均衡”

设置负载均衡器参数,提交申请

完毕后可以看到如下界面。

选择负载均衡,开始配置

3. 添加-

配置-

点击进入详情页,开始配置-。

添加-

四层监听请选择TCP/UDP,七层监听请选择HTTP/HTTPS。

选择分配策略类型并且开启健康检查。

添加-,新建后端服务器组,健康检查完成。

添加器添加的具体参数讲解图片如下

4. 添加后端服务器组

给后端服务器组添加服务器

监听80端口

添加完成

5. 制作镜像

选择“计算 > 弹性云服务器”,关闭运行中的弹性云服务器。

制作镜像,设置镜像参数,提交申请。

创建私有镜像

创建完成

6. 配置弹性伸缩

选择“计算 > 弹性伸缩”,创建弹性伸缩组及伸缩配置

选择规格

选择可用区、伸缩配置策略、最大实例数、期望实例数等配置

弹性伸缩组创建完成,需要添加伸缩策略来触发伸缩活动

为弹性伸缩组配置策略

伸缩策略添加完成

添加告警策略,CPU使用率大于50%,连续5次后触发

增加伸缩实例

添加伸缩实例前需要开启云服务器

移入伸缩组

修改伸缩组

7. 验证配置结果

获取负载均衡服务的弹性公网IP地址。

在浏览器中输入http://弹性公网IP地址/可以访问网站则说明网站的特性配置成功。

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

例如,在浏览器中输入http://114.116.239.208/

控制台手动验证

到此即可看到验证结果

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

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

l  有正规注册的域名。

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

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

1. 域名购买

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

2. 域名备案

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

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

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

4. 访问方法

然后,访客就可以在Internet上通过已备案的域名访问网站。

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

当然,在完成了之后,用户还可以在已经连接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网站,还需要在设计和运营上下功夫。“小红书”们的主要功能架构和首页布局大体如下:

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

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

目标人群确定内容方向。小红书的主要用户是来自一二线发达城市,爱美、追求精致生活的 90 后年轻女孩。针对这类用户提供时尚,美妆,护肤,生活方式的相关指导。

生产到加工、组织精细化内容生产方式。小红书的内容俗称笔记,这些笔记是有清晰的排版和结构的,一方面有助于内容的整洁,方便阅读,另一方便也降低了分享的难度。

用户生命周期管理和推荐算法。新手期,在新用户注册阶段,让用户选出自己感兴趣的分类;成长期,由于用户数据的沉淀,多通过推荐算法来提供优质内容,推荐关注,用专业的内容来吸引用户,通过好友关系和吸引用户留存等;

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

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

【鲲鹏开发者系列课程传送门在此,良心知识不付费,参与回帖互动还有奖品,吐槽建议都阔以!点击阅读原文戳进去!】

【阅读原文】:

https://bbs.huaweicloud.com/forum/thread-54350-1-1.html?utm_source=weixinHSST&utm_medium=sm-hwysm-bu&utm_campaign=Kunpeng

鲲鹏

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:朋友圈、浏览器分享实现
下一篇:WebSocket 从入门到写出开源库
相关文章