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
1.3. 部署步骤
关闭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持久化 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
打开http://example.com/public/index.php/即可安装,域名和目录请填写您的实际域名或者目录(如需rewrite请自行配置)
具体安装过程可以参考 <http://club.ec-os.net/doc/b2b2c-dev/700.operator/100.deploy/500.setup.md>
配置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