微信小程序配置服务端微信小程序配置服务端https协议《二》协议《二》nginx+tomcat服务器服务器
配置配置
基本结构
首先要明白两个基本知识点:
平时我们在地址栏里面输入http://www.domain.com 访问的是80端口,相当于http://www.domain.com:80
而 https://www.domain.com 使用的是443端口
那么问题就来了,如果多个系统都要单独使用一个二级域名的话,直接修改tomcat的配置会导致端口冲突。
下面我的解决办法是在Internet和tomcat之间加一个nginx反向代理。
(此图片来源于网络,如有侵权,请联系删除! )
基本结构
https请求发送到nginx,nginx将请求代理到tomcat
nginx解决了单ip多域名的问题,多站点就需要tomcat来解决了
网上找到的最好的解决方案是多实例tomcat配置实现单机多站点
什么意思呢?
就是把tomcat拷贝多份,然后修改各个tomcat的server.xml中的shutdown,http以及AJP1.3的端口,然后将tomcat
实例启动即可。
如果你们公司好比较重视技术基础设施最好是不要在一台server上部署太多的应用,这个方案对内存要求比较高,因为每个
tomcat跑起来之后可能会占200M左右内存,这还是对并发量比较小的,如果实例数一多起来,内存会吃不消。
实操步骤
首先默认你有两个以上指向你的服务器的域名,顶级域名或二级域名都可以。
默认你的服务器上已经安装好了jdk环境。后文中使用的tomcat是8.5版本的。
有两个站点:a.domain.com 和 b.domain.com ,a.domain.com使用https访问,b.domain.com使用http访问
1. 1.安装nginx
2.
3. yum install nginx
4. 2.下载tomcat,解压到你需要的路径下
5.
6. 假定tomcat解压在/home/admin/app/tomcat 下
7. 3.配置各独立站点
8.
9. 为A、B站点各新建一个目录,分别为是/home/admin/app/a.domain.com 和 /home/admin/app/b.domain.com
10. 将/home/admin/app/tomcat下的 conf、logs、temp、webapps、work分别拷贝一份到/home/admin/app/a.domain.com