微信小程序分享:会话服务器和业务服务器合并

更多腾讯海量技术文章,请关注云加社区: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内网。

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20180131A0O22400?refer=cp_1026

扫码关注云+社区