开发微信小程序须要部署项目到服务器。要求必须是443端口。可是一个443端口只能监听一个服务器。因此就出现了一个问题就是每次开发一个小程序就须要买一个服务器。以为特别多余。后来查到了有一种方式就是经过nginx配置反向代理,服务器ip绑定不一样域名,而后nginx根据不一样的域名去配置转发到其余端口。这样就能够实现一个服务器共存多个小程序后端项目了。 java
具体操做以下↓ nginx
个人服务器镜像为Centos7.。 web
Nginx的安装参考 https://ken.io/note/centos-quickstart-nginx-setup 小程序
#添加Nginx包
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
#安装
sudo yum -y install nginx
#启动服务 后端
sudo systemctl start nginx 微信小程序
#(若是启动失败,多是Apache等服务占用了80端口,关掉相应服务/修改端口便可) centos
#设置nginx开机启动 服务器
sudo systemctl enable nginx 微信
#开放80端口(nginx默认监听80端口) tcp
firewall-cmd --add-port=80/tcp --permanent
#重载防火墙规则
firewall-cmd --reload
关于端口开放,也能够直接去控制台添加规则。
以上操做完成以后就安装好了nginx
接下来须要对nginx的配置文件进行修改。咱们为了方便管理,直接建立一个通用配置文件。
#一、新增配置文件夹
sudo mkdir /etc/nginx/server
#二、修改默认配置(加载该文件夹下的配置)
sudo vi /etc/nginx/nginx.conf
#三、在http属性下增长:
include /etc/nginx/server/*.conf;
server {
listen 443 ssl;
server_name wx.gzdecision.cn;
ssl on;
ssl_certificate /etc/ssl/private/1_wx.gzdec*****.crt;
ssl_certificate_key /etc/ssl/private/2_wx.gzdec*****.key;
location / { #转发或处理
proxy_pass http://wx.gzdecision.cn:82;
}
}
server {
listen 443 ssl;
server_name www.eangaie.cn;
ssl on;
ssl_certificate /etc/ssl/private/******_www.eangaie.cn.crt;
ssl_certificate_key /etc/ssl/private/******_www.eangaie.cn.key;
location / { #转发或处理
proxy_pass http://www.eangaie.cn:81;
}
}
这里我让他监听两个443端口,而后分别转发到8一、82端口。并在8一、82端口运行两个javaweb项目。
用ps -ef|grep java命令能够查到我运行的两个javaweb项目。里面其中一个是在81端口、一个是在82端口
Ssl证书我是在控制台下载的用于nginx的证书。而后建立一个用户储存证书的文件夹。并在nginx的配置文件把路径填上去。
两个https的地址访问到不一样的项目主页~