单机部署方案

约定

服务清单

  • supervisorctl > 3.0

  • neo4j 3.5.x

  • mysql 5.7

  • nginx + fpm

  • npm > 6.0

  • redis ~ 4.x

  • php 7.2

基础服务部署

调整时间

安装sudo

安装PHP

验证

安装composer

安装supervisor

版本对于3.0

安装supervisor

开启supervisorctl

创建用户和组

安装php-fpm

安装php-fpm

开启php-fpm

修改用户权限, 将用户和组从apache 改为www

安装npm

  1. 添加Node.js Yum仓库

  2. 安装Node.js

  3. 检查Node.jsNPM版本

参考: How To Install Latest Nodejs on CentOS/RHEL 7/6

安装nginx

安装nginx

开启nginx

安装crontabs

安装redis

安装redis

开启redis

修改配置文件/etc/redis.conf

启动redis

测试

安装neo4j

  1. 导入签名并且添加neo4j的源到本地centos源中

  2. 安装neo4j

    • root权限安装neo4j社区版

  3. 运行以下命令会返回已安装的Neo4j的版本:

  4. 修改默认密码

    生产环境使用时需要修改初始密码, 否则会安装使用时报错.

安装mysql

如果使用云方提供的RDS, 请忽略安装

添加mysql7的源到本地centos源中

安装mysql

修改配置文件/etc/my.conf(配置位置取决于安装方式)

如果使用阿里云的RDS可以忽略此步骤

开启mysql

启动mysql

在安装过程中,为MySQLroot用户生成一个临时密码

输出:

请记录下密码, 在此例里中为mqRfBU_3Xk>r

会提示你输入默认的root密码, 输入好后, 会被要求改掉密码.

输出

输入一个新的12个字符的密码,该密码至少包含一个大写字母、一个小写字母、一个数字和一个特殊字符。在提示时重新输入.

在此例中设置为, Wka25ijklmng0ada-x

您将收到关于新密码强度的反馈,然后您将立即被提示再次更改密码.

输出

我们将按下Y,然后进入所有后续问题,以便删除匿名用户、禁止远程根登录、删除测试数据库并访问它,并重新加载特权表.

命令行连接mysql

创建应用数据库

参考: How To Install MySQL on CentOS 7

系统应用部署

部署几部分

商家端(VUE) + API端

配置授权

安装swoole-loader

确认PHP扩展目录

本例中为/opt/remi/php72/root/usr/lib64/php/modules

php扩展配置文件位置

设置授权

注意配置license的正确位置, 默认license.zl在代码包(espier-bloated)根目录下

重启fpm

部署API服务(php)

配置

后端代码

放置代码到/var/www/espier-bloated目录中

修改配置.env, 拷贝.env.production文件做为模版.

  1. 配置数据库

  2. 配置REDIS

  3. 配置队列

  4. 配置neo4j

  5. 配置缓存

  6. 配置微信开放平台第三方平台相关配置

    需要根据实际

  7. 配置商城小程序模版

    模版ID, 需要添加到小程序模版库,获得模版ID, 参考:开发者平台小程序模板

  8. 配置腾讯位置服务

腾讯位置服务需要申请账号配置KEY, KEY对接口的访问是有配额的, 配额内是免费的.

腾讯位置服务Key管理, 可以查询到Key, 并且可以查询到配额.

  1. 配置支付通知接口

完整的例子

安装

安装composer扩展包

数据库迁移

部署商家端(vue)

商家端代码

代码build好后build目录里的文件直接copy至此目录

  1. 创建项目目录

  2. 放置代码 通常会通过git的方式进行部署及更新

    修改app/config/test.env.js

  3. 安装npm宝

  4. 代码编译目录 /var/www/espier-retail-manage/app/config/index.js

    编译后的文件在/var/www/espier-retail-manage/app/test

  5. 代码编译

  6. 更改权限

配置nginx

修改/etc/nginx/nginx.conf, 将权限nginx 改为www

创建项目nginx配置

配置定时任务

配置队列服务

修改队列配置

配置websocket服务

配置websocket

服务启动

启动队列任务, websocket服务

启动nginx

启动php-fpm

Last updated

Was this helpful?