用宝塔建的网站,如何在网站里搭建小程序环境?

  • 回答 (4)
  • 关注 (0)
  • 查看 (280)

请教:

用宝塔建了一个网站,网站目录 文件地址是/www/wwwroot/mywebsite

如何在/data/release/app里面搭建小程序环境啊?在/www/server/nginx/conf下有nginx.conf文件,需要如何设置 SSL.CON 及反向代理啊?

用户1110382用户1110382提问于
御姐万岁修改于

配置HTTPS反向代理参考以下步骤,注意,参数换成自己的

首先配置nginx的配置文件

root@172.17.0.9:/etc/nginx/conf.d# vim ssl.conf

把下面的内容拷进去

server {        listen 443;        server_name www.leonlei.top; # 改为绑定证书的域名        # ssl 配置        ssl on;        ssl_certificate 1_www.leonlei.top_bundle.crt; # 改为自己申请得到的 crt 文件的名称        ssl_certificate_key 2_www.leonlei.top.key; # 改为自己申请得到的 key 文件的名称        ssl_session_timeout 5m;        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;        ssl_prefer_server_ciphers on;        location / {            proxy_pass http://127.0.0.1:8765;        }    }

然后将再腾讯云申请的免费SSL证书上传到/etc/nginx目录下

LeonLeiMBP15-110:gaoshilei$ scp -p /Users/gaoshilei/Downloads/www/Nginx/1_www.leonlei.top_bundle.crt root@115.159.87.164:/etc/nginx/1_www.leonlei.top_bundle.crt LeonLeiMBP15-110:gaoshilei$ scp -p /Users/gaoshilei/Downloads/www/Nginx/2_www.leonlei.top.key root@115.159.87.164:/etc/nginx/2_www.leonlei.top.key

然后重启nginx

root@172.17.0.9:/etc/nginx# nginx -s reload

最爱开车啦互联网的敏感者回答于

并不是在网站里面搭建微信小程序,如果你是使用node.js开发,参考这个来进行搭建:

https://cloud.tencent.com/document/product/619/11447

用户1110382修改于

我知道前台是可以用开发者工具

现在就是这个后台的ssl.conf和nginx的反代理设置搞不定。宝塔建的网站的目录是在/www/wwwroot/mywebsite,要通过nginx的反代理吧域名访问转到/data/release/weapp目录下,这个是小程序的目录。

另外我用的是自己在腾讯买的服务器,不是用的他们那个免费的服务器。两位帮忙解决的是前台和免费服务器的情况,与我的稍微不一样。

麻烦再看看哈,主要是下面两个问题:

1.实验二,取不到用openID

2.实验三,websocket建立连接失败

我的环境,是先用宝塔安装了一个小程序。nginx 是安装在/www/server下的,在/www/server/nginx/conf/下有nginx.conf, 这个是宝塔的conf文件,我在这个conf里通过包含/etc/nginx/conf/下的ssl.conf来完成的,下面是ssl.conf的代码:

# WebSocket 配置

map $http_upgrade $connection_upgrade {

default upgrade;

'' close;

}

server {

listen 443;

server_name gui.wjycs.cn; # 改为绑定证书的域名

# ssl 配置

ssl on;

ssl_certificate 1_gui.wjycs.cn_bundle.crt; # 改为自己申请得到的 crt 文件的名称

ssl_certificate_key 2_gui.wjycs.cn.key; # 改为自己申请得到的 key 文件的名称

ssl_session_timeout 5m;

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;

ssl_prefer_server_ciphers on;

# WebSocket 配置

proxy_set_header Upgrade $http_upgrade;

proxy_set_header Connection $connection_upgrade;

location / {

proxy_pass http://127.0.0.1:8765; //这里是反向代理

}

}

但是在测试DEMO的时候,实验二如下图结果:

实验3 websocket的结果是:

下面是app.js的代码:

// HTTP 模块同时支持 Express 和 WebSocket

const http = require('http');

// 引用 express 来支持 HTTP Server 的实现

const express = require('express');

// 引用 wafer-session 支持小程序会话

const waferSession = require('wafer-node-session');

// 使用 MongoDB 作为会话的存储

const MongoStore = require('connect-mongo')(waferSession);

// 引入配置文件

const config = require('./config');

// 引入 WebSocket 服务实现

const websocket = require('./websocket');

// 创建一个 express 实例

const app = express();

// 独立出会话中间件给 express 和 ws 使用

const sessionMiddleware = waferSession({

appId: config.appId,

appSecret: config.appSecret,

loginPath: '/login',

store: new MongoStore({

url: `mongodb://${config.mongoUser}:${config.mongoPass}@${config.mongoHost}:${config.mongoPort}/${config.mongoDb}`

})

});

app.use(sessionMiddleware);

`mongodb://${config.mongoUser}:${config.mongoPass}@${config.mongoHost}:${config.mongoPort}/${config.mongoDb}`

// 在路由 /me 下,输出会话里包含的用户信息

app.use('/me', (request, response, next) => {

response.json(request.session ? request.session.userInfo : { noBody: true });

if (request.session) {

console.log(`Wafer session success with openId=${request.session.userInfo.openId}`);

}

});

// 实现一个中间件,对于未处理的请求,都输出 "Response from express"

app.use((request, response, next) => {

response.write('Response from express');

response.end();

});

// 创建 HTTP Server 而不是直接使用 express 监听

const server = http.createServer(app);

// 让 WebSocket 服务在创建的 HTTP 服务器上监听

websocket.listen(server, sessionMiddleware);

// 启动 HTTP 服务

server.listen(config.serverPort);

// 输出服务器启动日志

console.log(`Server listening at http://127.0.0.1:${config.serverPort}`);

下面是手机上预览的结果: 提示登录请求没有包含会话响应

重新做过下面的动作,没有解决问题

进入/data/release/weapp目录,重新安装一下支持库包

npm install express connect-mongo wafer-node-session --save

akjok54stay hungry stay foolish回答于

.....不是这样的,参考:微信小程序开发指引

https://cloud.tencent.com/developer/article/1040834

扫描关注云+社区