单机部署方案
约定
操作系统:Centos 7.0 x64
域名: 文档内域名规划参见 系统部署/准备/域名
操作权限: root
服务清单
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
添加Node.js Yum仓库
安装Node.js
检查Node.js和NPM版本
参考: How To Install Latest Nodejs on CentOS/RHEL 7/6
安装nginx
安装nginx
开启nginx
安装crontabs
安装redis
安装redis
开启redis
修改配置文件/etc/redis.conf
启动redis
测试
安装neo4j
导入签名并且添加neo4j的源到本地centos源中
安装neo4j
用root权限安装neo4j社区版
运行以下命令会返回已安装的Neo4j的版本:
修改默认密码
生产环境使用时需要修改初始密码, 否则会安装使用时报错.
安装mysql
添加mysql7的源到本地centos源中
安装mysql
修改配置文件/etc/my.conf(配置位置取决于安装方式)
开启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扩展配置文件位置
设置授权
重启fpm
部署API服务(php)
配置
后端代码
放置代码到/var/www/espier-bloated目录中
修改配置.env, 拷贝.env.production文件做为模版.
配置数据库
配置REDIS
配置队列
配置neo4j
配置缓存
配置微信开放平台第三方平台相关配置
需要根据实际
配置商城小程序模版
模版ID, 需要添加到小程序模版库,获得模版ID, 参考:开发者平台小程序模板
配置腾讯位置服务
在腾讯位置服务Key管理, 可以查询到Key, 并且可以查询到配额.
为了开发环境方便, 提供只为开发环境公用的免费KEY. 因为是公共的, 无法保证一定可用.
配置支付通知接口
完整的例子
安装
安装composer扩展包
数据库迁移
部署商家端(vue)
商家端代码
代码build好后build目录里的文件直接copy至此目录
创建项目目录
放置代码 通常会通过git的方式进行部署及更新
修改app/config/test.env.js
安装npm宝
代码编译目录 /var/www/espier-retail-manage/app/config/index.js
编译后的文件在/var/www/espier-retail-manage/app/test下
代码编译
更改权限
配置nginx
修改/etc/nginx/nginx.conf, 将权限nginx 改为www
创建项目nginx配置
需要配置ssl证书, 在下边配置的所有配置ssl处.
配置定时任务
配置队列服务
修改队列配置
配置websocket服务
配置websocket
服务启动
启动队列任务, websocket服务
启动nginx
启动php-fpm
Last updated
Was this helpful?