阿里云开通短信服务流程、域名注册、购买阿里云服务器、域名备案【保姆级教程】
友情提示: 本人不是专业的技术人员,很多步骤都是我参考了很多博客,文档,自己摸索出来的,不保证各位的操作都能百分百正确,以及出现的各种问题。 我写这篇博客只是为兄弟们提供一种解决方法,以及一些思路…
操作流程会有一些麻烦,如果嫌麻烦的建议 右上角 ×
如果有其他问题,欢迎评论区留言 或者私信…
好,言归正传…下面介绍流程:
阿里云开通短信服务需要提前设置俩个东西:
如果短信的来源自己部署的网站,网站是需要备案的。
首先是签名管理:
大家先明白阿里云审核签名的流程:
- 会检查你的域名是否已经备案
- 阿里云审核员会访问域名的,是否能访问到你的网站,访问的网站是否能和你的签名内容能够匹配上。
一、域名注册
- 在这里查询自己感兴趣的域名
- 挑选完之后,加入清单购买
- 购买时需要创建个人信息模板,根据自己的信息填写就好了
- 注册完的域名需要解析才能使用
- 点击增加解析记录
二、购买阿里云云服务器
1、第一种方式
可通过阿里云不定期的活动购买,也是比较划算的。活动地址:云小站_专享特惠_云产品推荐-阿里云 (aliyun.com)
点击购买之后,进行配置
活动页面购买的服务器一般是没有开放 80 和 443 端口的,需要手动自己添加一下
2、第二种方式
云服务器ECS_云主机_服务器托管_弹性计算-阿里云 (aliyun.com)
- 自定义购买,找到 云服务ECS,点击购买
-
基础配置
- 建议 付费模式选择 包年包月
- 地域的话不是哪近就好,看您的业务在哪的客流量比较多,我这里只适用于个人测试,就随意选了。并且 国外,香港,澳门,是不用备案的,国内的地区是需要进行备案的。
- 选型选择 场景化选型
- 根据自己网站类型选择,下面有搭配好的服务器
- 如果是自己测试,流量比较低的网站,内存 2Gb 就够了
- 镜像一般选择 公共镜像,熟悉 ubuntu 的选择 ubuntu,熟悉 CentOS 的选择 CentOS,并且版本不要选择太高。
- 网络和安全组
- 安全组: 一般会有一个默认的安全组,如果没有就选择新建安全组,去创建一个就行,并且手动设置开放的端口。
- 网络选择默认就可以
- 计费模式选择 按固定带宽
- 系统配置
- 设置密钥,就是通过密钥文件登入 Linux 系统,而非通过密码,必须拥有密钥文件才可以登入系统。
- 自定义密码,就是通过密码登入Linux系统或者Windows 系统,推荐新手使用该方式。
- 创建后设置,就是生成实例了再通过重置密码的方式修改密码,不推荐!
实例名称 和 主机名自定义就行了
- 分组设置默认的就可以
- 确认订单,检查配置是否和设置的一样
- 重置完密码,就可以使用啦
安装完 ECS 服务器,远程连接,将自己项目所需要的软件安装下载就行了。
Docker安装的安装步骤请看: https://blog.csdn.net/aetawt/article/details/126105566
Redis 安装:https://blog.csdn.net/aetawt/article/details/126105301
Nginx 安装:https://blog.csdn.net/aetawt/article/details/126673621
RabbitMQ 安装 :https://blog.csdn.net/aetawt/article/details/126214551
三、修改 Nginx 配置
使用 Nginx的目的: 当阿里云审核员访问你的域名时能够 访问到 网站。并且该网站对应你的签名描述。
网站自取:https://github.com/yangzhaoguang/nginx_html.git
网站提供者:CSDN 上一位叫
纯情程序猿
的老哥参考博客:https://blog.csdn.net/weixin_46075832/article/details/123556740
nginx.conf 配置:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
client_max_body_size 1024m;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 修改成你的域名;
location / {
# 根目录
root html;
# 默认页名称
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
遇到 启动Nginx 一直占用 80 端口的,执行以下命令:
sudo fuser -k 80/tcp
地址栏输入公网
IP
出现网站内容就 OK啦此时我们输入 域名访问 是无法访问的,因为我们还没有备案
四、ICP 备案
官网提供的备案流程 :
备案的前提条件:
- 拥有域名,并且实名认证
- 需要三个月及以上的服务器
- 服务器中部署自己的网站
以上准备条件 OK 后,就跟着操作流程填写信息就行了.
注意:网站名称的填写,不要随便填写,最好看一下命名规范,每个 地域 都不一样。
命名规范文档 :https://help.aliyun.com/document_detail/36948.html?spm=a2cmq.17630029.icp_beian.7.193179fe6DD5Ft#title-lhm-b1g-ehx
备案审核的过程:
过程会稍微有点慢,耐心等待吧~~~
如果在阿里云初审阶段超过一天没结果,就给阿里云客服打电话催一下 哈哈哈~
在阿里云初审 审核完毕之后,会提交到管局,进行工信部短信核验的时候,会给你发送一个类似下面这样的短信, 登录提供的网站 输入验证码核验就行了。
超过一天未核验,点击短信重发就行了。
提交之后,就会提交到管局审核,大概 16~20 天,耐心等待即可…
经历了 20天的等待,备案终于通过啦…
备案通过之后,通过域名访问也能访问成功了:
虽然耽误了 20天,但是兄弟们不要担心,备多久 就补偿多久 ,哈哈哈哈,为阿里云点赞
五、申请签名管理
最重要的一步来了,以上所有的准备工作,都是为了能够 申请下来 签名管理。
- 搜索短信服务,点击 ‘添加签名’
- 申请签名管理
- 等待通过,一般俩个小时之内就能审核完,备案之后,还是很容易通过的
六、申请短信模板
- 至于短信模板,可以使用赠送的,也可以手动添加一个,这个比较容易通过
- 添加模板
- 提交,等待审核即可
七、使用阿里云短信服务
万事俱备,只欠东风,阿里云短息服务已经开通,接下来就是 使用 阿里云短信服务了。
- 引入依赖
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
</dependency>
</dependencies>
- 发送短信代码
@Override
public boolean send(String code, String phone) {
if(StringUtils.isEmpty(phone)) return false;
// 将 code 封装成 map
Map<String, String> params = new HashMap<>();
params.put("code",code);
DefaultProfile profile =
DefaultProfile.getProfile("default", "your AccessKey ID", "your AccessKey Secret");
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
//request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("PhoneNumbers", phone); // 手机号
request.putQueryParameter("SignName", "你的签名"); // 签名
request.putQueryParameter("TemplateCode", "模板CODE"); // 模板CODE
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(params)); // 验证码map。转换成json
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
return response.getHttpResponse().isSuccess();
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return false;
}