短信服务
服务器环境准备
前后端部署
nginx配置
短信前面尽量【腾讯云账号 和 公众号,都是一个认证的】。
短信签名的问题,往往因为腾讯云账号是(我或开发者)个人认证的,但是要使用的这个短信签名的公众号是是企业认证的, 主体不一致,需要公众号主体授权给(我)个人。这样就比较麻烦。
针对上面签名问题,有没有简单的解决方法呢?有的。腾讯云账号有种登录方式叫做使用微信公众号登录。那么我可以使用公众号账号来关联登录
登录进去后就已经自动用公众号主体(是个企业)做了实名认证。
接下来申请签名就快多了,基本上十分钟内就可以批准。
首先确保在腾讯云上申请好短信签名,例如我们申请的短信签名是"永和电商一号店”,短信签名也就是后续发送短信的时候最前面的内容,比如:【永和电商一号店】校验码2838,请及时输入。。。
其次保证创建好短信模板,确认有一个模板编号
在腾讯云短信种的应用列表创建一个应用,系统默认回有一个。
在“系统管理”->“参数管理”的“消息配置”标签页种正确配置上以下三个参数:
腾讯sms接口appid
腾讯sms接口appkey
腾讯sms接口签名参数
在“消息管理”->"消息发送器中新建一个消息发送器,属性值如下:
名称:腾讯短信-注册登录短信验证码
发送类:tencentSmsSender
运营商模板编号:就是该小节第二部申请的那个短信模板的模板编号
在”消息管理“->”消息模板“中修改编码为”REGISTER_CODE“的记录的发送器为:上一步新添加的那个消息发送器:腾讯短信-注册登录短信验证码
因为之前的服务器上已经安装了相关软件,所以个这个过程不赘述,自己谷歌百度完成安装即可。下面列出相关软件和版本:
nginx:1.12.2
mysql:5.6.47或者SQLServer(版本从2000及以上都支持)。
jdk:1.8.0_201
tomcat:9
配置图片目录(可以数据库中直接预置或修改)
图片目录,打开后台管理的”系统管理“-》”参数管理“页面,在”系统配置“标签页种更改”系统默认上传文件路径“的参数为:/data/app/wt1hd/runtime/upload
admin-api和mobile-api分别打war包为:wt1hd-admin.war,wt1hd-mobile.war 将war包放在/opt/tomcat/webapps/目录下
前端项目部署:
admin存放在:/opt/wt1hd/admin/
mobile放在:/opt/wt1hd/mobile/
前端项目和前端api配置wt1hd-mobile.config,配置内容如下:
server { listen 80; server_name wt1hd.xxx.com; access_log /data/app/runtime/log/nginx/wt1hd/mobile.access.log main; location /{ alias /opt/wt1hd/mobile/; index index.html index.htm; } //api服务配置 location /prod-api/{ proxy_ignore_client_abort on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 600s; proxy_pass http://localhost:8090/wt1hd-mobile-api/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
后端项目和后端api配置:wt1hd-admin.config,配置内容如下:
server { listen 80; server_name wt1hd-admin.microapp.store; access_log /data/app/runtime/log/nginx/wt1hd/admin.access.log main; location /{ alias /opt/wt1hd/admin/; index index.html index.htm; } location /prod-api/{ proxy_ignore_client_abort on; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 600s; proxy_pass http://localhost:8090/wt1hd-admin-api/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }
注意使用上面的配置的时候,前端的两个项目admin和mobile没有更改任何配置,分别运行npm run build:prod 和npm run build打包后直接用了。