PHP版-Docker部署(待发布)
一、安装宝塔
1. 登录服务器终端的SSH
2. 在终端输入对应服务器的宝塔安装脚本:
操作系统为 Centos/OpenCloud/AlibabaCloud 的宝塔安装脚本:
url=https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec
操作系统为 Ubuntu/Deepin 的宝塔安装脚本:
url=https://download.bt.cn/install/install_lts.sh;if [ -f /usr/bin/curl ];then curl -sSO $url;else wget -O install_lts.sh $url;fi;bash install_lts.sh ed8484bec
3. 安装完成后,命令结果会输出宝塔面板的访问地址及账号密码
提示:您也可以在终端输入 bt default
来重新获取面版地址、账号密码
注意:宝塔面版默认端口是8888,也可以自定义为其它端口,大多服务器默认是不会开通8888端口权限的,您需要在对应服务器的操作后台将对应端口安全组开启(您也可以联系官方获取技术支持)
二、添加站点
1.添加站点,点击左侧菜单“网站→添加站点”
2.输入你要绑定的网站域名(解析域名中域名配置所解析的域名),创建MySQL数据库(数据库可使用之前创建的也可以新创建)。
都填写后,点击确定按钮提交。
3.网站创建成功后点击根目录,上传源码
点击根目录(您也可以通过侧边栏的文件管理找到对应目录):
上传源码至您所设置的根目录,如:/www/wwwroot/www.tigshop.com/
,单击解压。如何获取源码?
将解压出的文件内容放至根目录下保持文件夹路径一致
修改运行目录,配置运行目录为 /public 目录
点击站点列表的设置按钮
运行目录设置为public
配置伪静态
继续在当前站点编辑弹窗左侧菜单中,选择伪静态
填写以下为Nginx伪静态内容:
# 前端PC端配置
location /
{
try_files $uri /pc/$uri /pc/index.html;
}
# 前端管理后台配置
location /admin{
try_files $uri $uri/ /admin/index.html;
}
# 前端Mobile配置
location /mobile{
try_files $uri $uri/ /mobile/index.html;
}
# 静态文件访问配置
location /static{
try_files $uri $uri/ /static/index.html;
}
# 接口访问
location ~ ^/(api|adminapi|im){
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
}
location ^~ /ws {
# 后台准备的websocket地址端口
proxy_pass http://127.0.0.1:9501;
# 其他参数
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
!!! 注意:去除配置文件里自带的js、css、图片的转发,以免引起pc端资源访问
配置SSL证书
SSL启用后,站点可以支持https访问,正式部署的项目必需设置。
提示:SSL有多种途径获得,有商业版也有免费版,您可以根据您自己的需要进行设置,这里只提供最简单的宝塔SSL设置方法
继续在站点编辑弹窗页面,点击左侧菜单栏“SSL”,点击Let's Encrypt,点击全选(www为域名目录的话会有两个选项,二级域名则只有一个),点击申请证书
点击当前证书,查看是否已部署,您还可以钩选强制HTTPS和到期提醒设置
三、项目Docker部署
1. Docker安装
Docker 镜像加速
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://noohub.ru",
"https://huecker.io",
"https://dockerhub.timeweb.cloud",
"https://docker.rainbond.cc"
]
2. 修改项目配置
将项目根目录下面的.example.docker.env中的配置进行更改设置mysql和redis默认的数据
DB_ROOT_PASSWORD=password123
DB_TYPE=mysql
DB_HOST=tigshop-mysql
DB_NAME=shop
DB_USER=username
DB_PASS=password
DB_PORT=3306
DB_CHARSET=utf8mb4
REDIS_HOST=tigshop-redis
REDIS_PASSWORD=password
REDIS_PORT=6379
REDIS_SELECT=1
3. 运行脚本
项目根目录运行 docker-install.sh