1. 单机部署

1.1. 以下文档请不要盲目复制粘贴,要稍微看看再去操作

1.2. 约定

  • 操作系统:Centos 6.5 x64或6系列更高版本
  • 服务器的mac地址不可以动态变化,必须是固定的(例如微软云则不支持)
  • nginx、php-fpm的用户和组默认是 www和www
  • 执行代码相关操作的的时候,例如bbc本身的update命令或代码复制的时候最好不要用root直接操作,请用 sudo -u www 您的命令 来进行,防止目录权限错误
  • 不要安装php自带的redis扩展,系统默认可以连接redis

2. 4.x 版本

3.1. 部署步骤

  • 关闭selinux

    注意:因为有个别机器会和selinux产生冲突,所以是否关闭请自行衡量

    #命令行临时关闭 SeLinux
    setenforce 0
    #修改SeLinux配置,下次启动则默认关闭
    修改  /etc/selinux/config  文件
    将  SELINUX=enforcing  改为  SELINUX=disabled
    
  • 初始化yum源

    将shopex-lnmp源加入到系统中,在线地址查看有哪些软件 http://mirrors.shopex.cn/shopex/shopex-lnmp/ 可以安装

    yum install wget -y
    cd /etc/yum.repos.d/
    wget http://mirrors.shopex.cn/shopex/shopex-lnmp/shopex-lnmp.repo
    
  • 安装epel扩展源

    yum install epel-release -y
    
  • 安装ONEX BBC环境

    主要是安装:php、nginx、mysql、zend解密工具、memcached、redis

    注:单机部署的时候可不装memcached

    yum install php-fpm56 ngx_openresty mysql Zend56 php-memcached56 memcached redis -y
    
  • 配置环境

    关于配置文件以及相关目录说明

名称 本次版本(2016.07) 相关说明
nginx openresty/1.9.7.4 配置文件 /usr/local/nginx/conf/nginx.conf
vhost配置文件 /usr/local/nginx/conf/vhosts/*.conf
php 5.6.19 配置文件 /usr/local/php56/etc/php.ini
php 扩展配置文件目录 /usr/local/php56/etc/php.d/
zend 配置文件 /usr/local/php56/etc/php.d/Zend.ini
memcached 配置文件 /usr/local/php56/etc/php.d/memcached.ini
mysql 5.6.22 basedir /usr/local/mysql
datadir /data/mysql/3306
配置文件 /usr/local/mysql/my.cnf
redis 3.0.3 配置文件 /etc/redis.conf
memcached
(选装,单机部署可不装)
1.4.4 配置文件 /etc/sysconfig/memcached
代码目录 - /data/httpd
  • 配置ZendGuardLoader的证书文件地址(请不要直接复制下面配置,请填您代码实际的zl文件的地址)

    vim /usr/local/php56/etc/php.d/Zend.ini

    zend_extension='/usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/ZendGuardLoader.so'
    zend_extension='/usr/local/php56/lib/php/extensions/no-debug-non-zts-20131226/opcache_zend.so'
    zend_loader.enable=1
    zend_loader.disable_licensing=0
    zend_loader.obfuscation_level_support=3
    ;最后一项是证书文件地址,请根据实际情况进行配置
    zend_loader.license_path='/data/httpd/config/developer.zl'
    
  • 配置php56,开启配置 always_populate_raw_post_data

    vim /usr/local/php56/etc/php.ini #704行,修改对应配置

    #将always_populate_raw_post_data的分号去掉
    always_populate_raw_post_data = -1
    
  • 配置redis持久化

    vim /etc/redis.conf #修改对应配置

    #启用AOF
    appendonly yes
    
    # 文件存放目录,与RDB共用。默认为当前工作目录。
    dir ./
    # 默认文件名为appendonly.aof
    appendfilename "appendonly.aof"
    
  • 启动环境

    /etc/init.d/php-fpm56 start
    /etc/init.d/nginx start
    /etc/init.d/mysqld start
    /etc/init.d/redis start
    #如果安装了memcached,则需要启动,一般单机下BBC无需安装memcached,安装了性能也不高,用默认的本地缓存即可
    /etc/init.d/memcached start
    
  • 安装ONEX BBC

    将bbc安装包解压,复制b2b2c目录到/data/httpd/目录下,如果是二级目录,则自己在/data/httpd下新建目录存放bbc代码

    注意:配置license路径,可能需要修改/usr/local/php56/etc/php.d/Zend.ini内的zl文件的路径

    并将/data/httpd目录的所有者和组都设置为www:

    chown -R www:www /data/httpd
    
  • 配置ONEX BBC的定时任务

    #检查 /home/目录下是否有www目录,没有则创建一个
    mkdir /home/www
    #配置定时任务,必须配置的是www权限的crontab,不要在root或者其他用户下配置
    crontab -uwww -e
    #将下面的配置复制进去
    * * * * *  /data/httpd/script/queue/queue.sh /usr/local/php56/bin/php > /dev/null
    * * * * *  /usr/local/php56/bin/php  /data/httpd/script/crontab/crontab.php >/dev/null
    

4. 5.x 版本

5.1. 部署步骤

  • 关闭selinux

    注意:因为有个别机器会和selinux产生冲突,所以是否关闭请自行衡量

    #命令行临时关闭 SeLinux
    setenforce 0
    #修改SeLinux配置,下次启动则默认关闭
    修改  /etc/selinux/config  文件
    将  SELINUX=enforcing  改为  SELINUX=disabled
    
  • 初始化yum源

    将shopex-lnmp源加入到系统中,在线地址查看有哪些软件 http://mirrors.shopex.cn/shopex/shopex-lnmp/ 可以安装

    yum install wget -y
    cd /etc/yum.repos.d/
    wget http://mirrors.shopex.cn/shopex/shopex-lnmp/shopex-lnmp.repo
    
  • 安装epel扩展源

    yum install epel-release -y
    
  • 安装ONEX BBC环境

    主要是安装:php72、nginx、mysql、memcached、redis

    注:单机部署的时候可不装memcached

    yum install php-fpm72 ngx_openresty mysql php-memcached72 memcached redis -y
    
  • 配置环境

    关于配置文件以及相关目录说明

名称 本次版本(2016.07) 相关说明
nginx openresty/1.9.7.4 配置文件 /usr/local/nginx/conf/nginx.conf
vhost配置文件 /usr/local/nginx/conf/vhosts/*.conf
php 7.2.x 配置文件 /usr/local/php72/etc/php.ini
php 扩展配置文件目录 /usr/local/php72/etc/php.d/
swooole 配置文件 /usr/local/php72/etc/php.d/swoole_loader.ini
memcached 配置文件 /usr/local/php72/etc/php.d/memcached.ini
mysql 5.6.22 basedir /usr/local/mysql
datadir /data/mysql/3306
配置文件 /usr/local/mysql/my.cnf
redis 3.0.3 配置文件 /etc/redis.conf
memcached
(选装,单机部署可不装)
1.4.4 配置文件 /etc/sysconfig/memcached
代码目录 - /data/httpd
  • 配置Swoole_loader(详见5.x版本安装

    1.将代码包根目录下 /deploy/swoole_loader72.so 拷贝到

    /usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/

    2.将代码包根目录下(最新版不需要此操作) /deploy/libsodium.so.23 拷贝到/usr/lib64/

    3.配置授权证书

    vim /usr/local/php56/etc/php.d/swoole_loader.ini

    extension='/usr/local/php72/lib/php/extensions/no-debug-non-zts-20170718/swoole_loader72.so'
    swoole_license_files=/data/httpd/onex-xxx/config/developer.zl
    

    注: 证书可以有多个,以,号分割,但一定要将该项目使用的放在最前面。

  • 配置php72,开启配置 always_populate_raw_post_data

    vim /usr/local/php72/etc/php.ini #704行,修改对应配置

    #将always_populate_raw_post_data的分号去掉
    always_populate_raw_post_data = -1
    
  • 配置redis持久化

    vim /etc/redis.conf #修改对应配置

    #启用AOF
    appendonly yes
    
    # 文件存放目录,与RDB共用。默认为当前工作目录。
    dir ./
    # 默认文件名为appendonly.aof
    appendfilename "appendonly.aof"
    
  • 启动环境

    /etc/init.d/php-fpm72 start
    /etc/init.d/nginx start
    /etc/init.d/mysqld start
    /etc/init.d/redis start
    #如果安装了memcached,则需要启动,一般单机下BBC无需安装memcached,安装了性能也不高,用默认的本地缓存即可
    /etc/init.d/memcached start
    
  • 安装ONEX BBC

    将bbc安装包解压,复制b2b2c目录到/data/httpd/目录下,如果是二级目录,则自己在/data/httpd下新建目录存放bbc代码

    并将/data/httpd目录的所有者和组都设置为www:

    chown -R www:www /data/httpd
    
  • 配置ONEX BBC的定时任务

    #检查 /home/目录下是否有www目录,没有则创建一个
    mkdir /home/www
    #配置定时任务,必须配置的是www权限的crontab,不要在root或者其他用户下配置
    crontab -uwww -e
    #将下面的配置复制进去
    * * * * *  /data/httpd/script/queue/queue.sh /usr/local/php72/bin/php > /dev/null
    * * * * *  /usr/local/php72/bin/php  /data/httpd/script/crontab/crontab.php >/dev/null
    

results matching ""

    No results matching ""