用宝塔上的DOcker 布署 一个答题的小程序(二)

614 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

接上一篇,装好了docker 并且在docker 里装好了宝塔,接下我们搭建下宝塔上需要用到的环境,都是傻瓜式操作。基础环境Nginx 1.20.1 + MySQL 5.6.50+ php 5.4  为什么用php 5.4呢,因为这个 php用的是比较旧的版本,如果用高版本的php 有很多东西不兼容,等空的时候,再升级下,并且后端都是用原生来写的,没有用到框架,后期有空的时候再进用框架来写,提高下安全和性能,这次的目标就是让它跑起来先。废话少说,直接开始。

1. 新建站点,这一步很简单,就是填写基本信息,注意这个站点是在docker里的宝塔建的

image.png  

 

 

2. 再在原服务器上的宝塔上再建一个站点,用来做反向代理,我们之前设置的容器商端口80对外的端口是7780,所以反向代的的目标URL地址设置为http://127.0.0.1:7780

image.png  

 

image.png

 

image.png

 

这样的话我们就可以通过域名直接访问到docker 容器内的站点了,

 

image.png

同时还要在站点上进行socket 的设置,因为答题小程序有用到实时对战。

在配置顶部添加

`upstream websocket1 {

    server 127.0.0.1:7889;# 远程websocket服务器地址

}`

因为前面我们用的8889 映射到服务器的 7889,将8889作为socket服务的端口,映射服务器的端口为7889所以用的是这个server 127.0.0.1:7889;

 

 

image.png

 

在配置的server{}里还要添加这一段

 

`    location /wss {

        proxy_pass http://websocket1;#代理到上面的地址去

        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;

        proxy_set_header Connection "Upgrade";

    }`

 

image.png

 

 

 

 

 

3.接下来我们还要申请ssl证书,因为小程序域名必段要https的,我是在腾迅云的,是免费申请的

image.png

 

image.png

4.填写证书,注意是在服务器上的站点上填写证书的

image.png

试下用https访问是没问题的

 

 

image.png  

 

5. 接下来就是导入数据库和上传代码,注意是在docker宝塔上的站点进入导入数据库和上传代码的

image.png  

 

image.png

 

6. 接下还要将php 上的一些禁用函数去掉,因为会用到这些函数pcntl_fork pcntl_signal_dispatch pcntl_wait pcntl_signal  pcntl_alarm

 

7.进入终端

image.png

并且进入项目所在的目录

image.png

 

以daemon(守护进程)方式启动,因为用的是workerman,需要了解的可以看下官方文档

www.workerman.net/doc/workerm…

 

运行命令

php paiwei.php start -d

运行成功后是这样的

 

image.png

 

至此,所有后端都已经配好了,小程序端配置下域名也可以了,有空的朋友可以体验下

image.png

 

总结:总算写完了,可能有很多地方写得不好,或者有错误,在些表示歉意,同时希望你们有空的话能指出来,在此感谢大家