03. Ego微商项目部署
2024年10月28日大约 6 分钟
03. Ego微商项目部署
- Ego微商项目部署要求与准备
- Ego微商项目部署过程与实施
1. 部署流程
- 部署前的准备
- 准备软硬件资源
- 服务器:VMware模拟
- 软件资源:
- 确认人:架构师、高级开发、运维人员
- 文档:设计规范、部署规范的文档
1. 熟悉前后端部署要求
需要什么设备、操作系统、工具等
2. 搭建项目系统环境
所需的硬件要求及操作系统
3. 部署项目应用服务
当前的项目所需的各种应用服务有哪些,如何安装
4. 部署结果正确验证
项目部署完成后前后端的结果如何验证
2. 部署架构图
3. 组件要求及版本
组件要求及版本
前端
1. 微信开发者工具 本地环境:本地直接导入使用 线上环境:生成二维码扫码 2. 手机/手机模拟器 体验版:扫码 (支持10人授权体验) 3. 部署位置:本地PC
后端
1. 操作系统:CentOS 7.x以上 2. Web服务器:Apache 2.4 3. 数据库:MySQL 5.7 4. 开发框架:ThinkPHP 5.0 (PHP5.0以上) 5. 部署位置:本地VMware 15.5 以上
4. 后台服务部署步骤
1. 本地部署检查
1. 确保当前VMware虚拟机连通外网
检查网络连通性:ping
# linux查看IP地址的命令
ifconfig
# windows下查看IP地址的命令
ipconfig
2. 检查CentOS的版本是否符合要求
#在Linux下输入如下命令确认服务器版本
cat /etc/redhat-release
2. 安装应用服务
1. 通过LAMP,一键安装部署系统服务
2. 命令生成地址: https://lnmp.org/auto.html
# 生成一键部署指令,直接在终端输入后回车执行
wget http://soft.vpser.net/lnmp/lnmp1.7.tar.gz -cO lnmp1.7.tar.gz && tar zxf lnmp1.7.tar.gz && cd lnmp1.7 && LNMP_Auto="y" DBSelect="4" DB_Root_Password="123456" InstallInnodb="y" PHPSelect="5" SelectMalloc="1" ApacheSelect="2" ServerAdmin="webmaster@example.com" ./install.sh lamp
3. 安装结果查看
- 部署大约持续30min左右,过程中可能因为网络原因有延迟,部署完成正常结果如下截图
4. 安装服务验证
- 在终端通过命令验证安装服务的结果
# 检查 Apache 的服务是否运行
systemctl status httpd
# 检查mysql的服务是否运行
systemctl status mysql
# 检查PHP是否已安装
php -v
# 安装结果验证
# 查看文件内容命令:
cat :查看文件内容比较少的情况
more和less :查看文件内容比较多的情况
head : 查看前面x行文件内容
tail : 查看后面x行文件内容
tail -f : 查看实时日志文件信息
# 通过tail 查看安装日志文件最后几十行 :
tail -f -30 lnmp-install.log
#通过cat more less head查看文件内容通过如下命令行检查服务是否正常
5. 上传项目包文件
拷贝后台项目文件包到指定路径下
# 上传文件包到默认项目路径
cd /home/wwwroot/default/
rz
# 解压缩项目文件(egoser.zip)到指定项目路径
unzip -d /home/wwwroot/default/ egoser.zip
# 修改指定路径下项目对应文件夹(egoser)权限
chmod -R 777 /home/wwwroot/default/egoser
# -R作用:让当前路径下所有文件的权限全部修改为指定权限
6. 初始化数据库
注意:一般是在第一次部署项目的时候需要做数据库初始化
确保系统能够正常运行的必备的数据以及数据库和表的信息
- 导入 .sql 文件(比如存放路径为/home/wwwroot/default/)
# 进入mysql
mysql -u root – p
# 创建项目对应数据库(egowx)
mysql> create database egowx;
# 进入当前数据库
mysql> use egowx;
# 设置数据库编码为utf8
mysql> set names utf8;
# 直接导入对应路径下项目的.sql文件
mysql> source /home/wwwroot/default/egoser/ego.sql
# 退出mysql
mysql> exit
# 扩展
mysql -u root -p 数据库名 < sql文件地址 # 需要先创建数据库
7. 修改配置文件
Apache的配置文件作用:
告知部署人员,项目文件应该存放的位置、端口、主机域名等信息,方便前端请求的时候,后台的Apache服务直接根据配置文件找到对应的文件路径,可以按照默认的配置文件上传存放,也可以根据自己的需求进行修改配置文件在上传存放
Apache虚拟主机配置文件名:
httpd-vhosts.conf
配置文件存放位置:
/usr/local/apache/conf/extra/httpd-vhosts.conf
- 修改Apache的虚拟配置文件
Apache配置文件的说明
# Apache的配置文件路径
cd /usr/local/apache/conf/extra/
# 重命名配置文件
mv httpd-vhosts.conf httpd-vhosts.confd
# 上传已修改好的httpd-vhosts.conf
rz
# 重启Apache服务
systemctl restart httpd
<VirtualHost *:80>
ServerAdmin webmaster@example.com
#php_admin_value open_basedir "/home/wwwroot/default:/tmp/:/var/tmp/:/proc/"
ServerName e.cn
DocumentRoot "/home/wwwroot/default/egoser/public"
<Directory "/home/wwwroot/default/egoser/public">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
</Directory>
ErrorLog "/home/wwwlogs/IP-error_log"
CustomLog "/home/wwwlogs/IP-access_log" combined
</VirtualHost>
- 修改服务端文件
// 文件路径:../egoser/application/extra/wx.php
# 1.修改自己申请的APPID和APPsecret
// 小程序app_id
'app_id' => 'wx04f7f3dabxxxxxx',
// 小程序app_secret
'app_secret' => 'd8876c664a0b12854705xxxxxx',
# 2.修改图片加载位置 ../egoser/application/extra/setting.php
'img_prefix'=>'http://e.cn/images',
- 重启应用服务
1. 修改服务端文件
# 重启Apache服务
systemctl restart httpd
# 重启mysql服务
systemctl restart mysql
# 重启sshd服务
systemctl restart sshd
# 查看服务端口是否已经启用
ss -tnl
# 关闭防火墙
systemctl stop firewalld
验证:http://ip/api/v1/banner/1
- 本地Windows配置【扩展】
1. 为了确保通过本地Windows发送的指定域名指向特定的IP对应的服务器
2. 修改本地Windows的hosts文件,如下截图所示
# 在本地Windows系统上配置虚拟域名
# 进入系统盘,如C:\Windows\System32\drivers\etc\ 找到hosts文件
# 编辑hosts文件,最后一行换行后新增如下内容,并保存
自己虚拟机的ip e.cn
- 本地Windows配置【扩展】
如果修改不了hosts文件可进行如下操作
- 本地macOS配置【扩展】
为了确保通过本地macOS发送的指定域名指向特定的IP对应的服务器
1. 修改本地macOS的hosts文件
2. 在本地macOS系统上配置虚拟域名 # 进入终端命令行,输入如下命令:vim /etc/hosts
3. 编辑hosts文件,最后一行换行后新增如下内容,并保存退出 (:wq)
ip e.cn
5. 客户端项目导入
- 微信开发在工具导入项目
- 客户端配置修改
1. 修改APPID (自己申请的和后台的是一样) 和访问后台的API接口
2. 修改APPID ,更改为自己申请的APPID ,根目录文件project.config.json ,搜索“appid”,
例如: "appid": "wx04f7f3dab74760e6",
3. 修改API地址 (请求后台服务器地址) ,修改位置 ../utils/config.js,
例如: Config.restUrl = 'http://e.cn/api/v1/';
- 微信开发者工具配置设置
通过微信开发者工具-->工具栏-->详情-->本地设置,勾选“不校验合法域名、... ”
6. Ego微商项目部署结果验证
微信开发者工具模拟器
通过浏览器访问接口地址
本项目中可通过接口调试工具验证 (后续postman访问)
7. 部署备注说明
- 安装服务失败
- 检查网络速率,多尝试几次 连接网络带宽较好的环境
- 打开虚拟机报错
- 将虚拟机压缩包重新解压通过VMware打开操作通过查询网络资源解决报错问题
- 网络不通通过
- ping命令检查本地和虚拟机是否连通有IP地址但是无法连通网络,可尝试修复VMware软件
详细说明参见部署文档:“Ego微商项目部署文档.pdf”