開發微信小程序須要部署項目到服務器。要求必須是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的地址訪問到不一樣的項目主頁~