更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer/column
作者:疯狂的小程序
云服务器列表
到期啦!!!!
文件迁移
因为两台服务器的镜像是不同的,里面的环境也不同。业务服务器是nginx+php-fpm的环境,而会话服务器是LAMP (Apache)。
首先把登录会话服务器,把文件传到业务服务器来。
会话服务器(172.16.0.15) /opt/lampp/htdocs/mina_auth 迁移到 ->业务服务器(172.16.0.8) /data/release/session-wafer/mina_auth[root@VM_0_15_centos htdocs]# pwd/opt/lampp/htdocs[root@VM_0_15_centos htdocs]# lsmina_auth update_mina.sh[root@VM_0_15_centos htdocs]# tar czvf session.tar.gz mina_auth
打包完成之后,把文件通过scp复制过去。
文件复制
然后,登录业务服务器
停掉php-fpm服务,命令: kill -QUIT
cat /run/php-fpm/php-fpm.pid
停掉nginx服务,命令: nginx -s stop
把mina_auth创建到正确的目录下面。
设置nginx
因为业务服务器已经跑在了80端口,因而我们现在把会话服务器配置到8080端口会更加合理。所以我们是让一个nginx同时支持多个端口。
默认nginx有两个配置文件
/etc/nginx/nginx.conf 这个是主配置文件,打开查看可以发现在末端它引用了目录 /etc/nginx/conf.d 里面的所有配置文件;
/etc/nginx/conf.d/php-weapp-demo.conf 这个是80端口的业务服务器的配置;(我个人把它改了名字 application-wafer.conf)
把application-wafer.conf复制一份,起名为session-wafer.conf,并修改下面的内容。
这个时候,似乎掺的配置都修改完成了,但是还不能运行起来的,必须在程序上做一些修改。特别是加解密部分,可是花了赞哥成天的时间找出来。
修改小程序sdk配置
位置: /etc/qcloud/sdk.config
把这个地址改成你业务服务器本机的地址。如,我从 172.16.0.15 变成了 172.16.0.8:8080
修改解密算法
为这个问题我找了一天时间,非常郁闷。
位置:/data/release/session-wafer/minaauth/system/wxdecrypt_data/new/pkcs7Encoder.php
问题描述:
在会话服务器里,mcrypt插件是已经随LAMP安装了的,而在业务服务器,并没有这个插件。请看下面的phpinfo。(你需要在php.ini里面把phpinfo生产才能查看)
会话服务器里mcrypt是enabled的 原来打算在业务服务器上安装mcrypt插件,但是查看php的官网,特别是php 7.1后,mcrypt是特别不建议使用的,其可以用openssl替代。
$decrypted = openssldecrypt(aesCipher,′aes−128−cbc′,this->key, OPENSSLRAW_DATA, $aesIV);
修改后的效果为:
重新启动服务器
启动nginx和php-fpm,直接高点命令nginx和php-fpm
启动两个服务
测试工作
curl http://localhost/ curl http://localhost:8080/mina_auth/
注意:8080端口是默认不能通过外网访问进来的,只能通过VPC内网。
领取专属 10元无门槛券
私享最新 技术干货