云豹短视频系统搭建部署文档

发布来源:云豹科技
发布人:云豹科技
2019-01-02 17:42:32

一 、搭建前期准备

==注:操作系统centos7.0以上 64位==


1.生成软件包信息缓存


yum makecache


2.安装更新


yum update -y


3.安装必要软件


yum install -y zip unzip wget curl git vim zsh nano screen


4.安装oh my zsh(有助于补全和选择目录)


sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"


二、搭建LNMP环境

wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz 


tar xzvf oneinstack-full.tar.gz


cd oneinstack


./install.sh     #注:请勿sh install.sh或者bash install.sh这样执行


安装选项选择


1.设置SSH端口(默认22),回车即可


Do you want to enable iptables? [y/n]: n


2.然后选择是否安装 web,输入y


3.输入 1 安装 nginx


4.输入 3 不安装Apache


5.输入 5 不安装tomcat 


6.然后选择是否安装数据库database,输入y


7.输入 2 安装mysql-5.7


8.然后输入数据库root密码123456(注:妥善保管)


9.然后输入1 选择从二进制安装


10.然后输入 y 安装PHP


11.输入 5 安装PHP7.0


12.输入 y 安装php 缓存插件

Do you want to  instal   opcode   cache  of    the PHP? [y/n]:y


13.输入 1 安装Zend OPcache


14.输入 n 不安装ionCube


15. 输入 n 不安装 ImageMagick


16.输入 n 不安装Pure-FTPd


17.输入 y 安装phpMyAdmin


18. 输入 y 安装redis


19.输入 n 不安装memcached


20.输入 n 不安装HHVM


三、redis配置

配置redis密码

执行命令修改/usr/local/redis/etc/redis.conf文件,(也可以手动修改redis.conf文件)


echo requirepass redis的密码 >> /usr/local/redis/etc/redis.conf


重启redis

systemctl restart redis-server


注:service redis-server restart  在centos7.x中不支持


四、创建数据库

==使用oneinstack一键搭建中的phpMyAdmin插件==


vim /etc/my.cnf

在my.cnf 里面设置

添加语句

sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'


访问


http://你的ip地址/phpMyAdmin/

创建数据库用户名和数据库名,密码

上传之前,需要把源码中的/root/backups/temp/数据库名_时间戳.sql文件中的域名替换


比如:dspdemo.yunbaozhibo.com  

      

替换为  www.abc.com(这里指的是自己的域名)


比如:dspdemoqiniu.yunbaozhibo.com

      

替换为  qiniu.abc.com(你自己的域名)

五、web站点搭建

在oneinstack目录下添加虚拟机


cd ~/oneinstack


./vhost.sh


选项选择


1.选择1 ,Use HTTP Only


2.然后输入域名


3.输入网站的文件目录,直接回车就行


4.然后添加其他域名,有的话就输入 y ,没有就输入 n


5.是否添加防盗链,输入n

Do you want to add hotlink protection? [y/n]: n


6.Allow Rewrite rule? [y/n]: y


7.输入 y ,开启日志

Allow Nginx/Tengine/OpenResty access_log? [y/n]: y


8.Allow Rewrite rule? [y/n]: y

Please input the rewrite of programme :

wordpress,opencart,magento2,drupal,joomla,laravel,thinkphp,discuz,typecho,ecshop rewrite was exist.

(Default rewrite: other): thinkphp


nginx thinkphp 静态化


1、修改/usr/local/nginx/conf/rewrite/thinkphp.conf,

vim /usr/local/nginx/conf/rewrite/thinkphp.conf

文件内容如下;

location / {

    if (!-e $request_filename) {

       

        rewrite ^(.*)$ /index.php?s=$1 last;

        break;

    }

}

修改为

location / {

    if (!-e $request_filename) {

       rewrite ^/([0-9]+)$ /index.php?m=Show&a=index&roomnum=$1 last;

       #rewrite ^(.*)$ /index.php?s=$1 last;

     rewrite ^(.*)$ /index.php?s=$1 last;

        break;

    }

}


2、然后创建pathinfo.conf⽂文件

touch /usr/local/nginx/conf/pathinfo.conf


vim /usr/local/nginx/conf/pathinfo.conf

然后输入以下内容并保存

set $real_script_name $fastcgi_script_name;

if ($fastcgi_script_name ~ "(.+?\.php)(/.*)") {

set $real_script_name $1;

set $path_info $2;

}

fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

fastcgi_param SCRIPT_NAME $real_script_name;

fastcgi_param PATH_INFO $path_info;


3、然后编辑 /usr/local/nginx/conf/vhost/您的域名.conf 文件,

vim /usr/local/nginx/conf/vhost/您的域名.conf

编辑文件如下.

location ~ \.php {

#fastcgi_pass remote_php_ip:9000;

fastcgi_pass unix:/dev/shm/php-cgi.sock;

fastcgi_index index.php;

# include fastcgi_params;

include fastcgi.conf;

}



在include fastcgi.conf; 下⾯面加入一句

include pathinfo.conf;


然后修改/usr/local/php/etc/php.ini,搜索cgi.fix_pathinfo.把值从0改成1.

vim /usr/local/php/etc/php.ini

cgi.fix_pathinfo=1


部署短视频程序


1.将代码包里面的web文件夹中的东西拷贝到网站根目录。

举例说明:


假设您的站点为: www.abc.com


mv /root/web/data/wwwroot/dspdemo.yunbaozb.com* /data/wwwroot/www.abc.com/ 


//改变读写权限

chmod -R 775 /data/wwwroot/www.abc.com/


//改变所属者和所属组

chown -R www:www /data/wwwroot/www.abc.com


2.还需修改几个文件:

<1>(web)/api/Config/app.php


'REDIS_HOST' => "redis地址",

'REDIS_AUTH' => "redis密码",

REDIS_PORT'=>"6379"


<2>web/api/Config/dbs.php


'servers' => array(

'db_appapi' => array( //服务器标

'host' => '数据库地址', //数据库域名

'name' => '数据库名', //数据库名字

'user' => '数据库⽤户名', //数据库⽤户名

'password' => '数据库密码', //数据库密码

'port' => '数据库端⼝号', //数据库端⼝

'charset' => '数据库编码', //数据库字符集

),

),


<3>web/data/conf/db.php


return array(

'DB_TYPE' => 'mysql',

'DB_HOST' => '数据库地址',

'DB_NAME' => '数据库名称',

'DB_USER' => '数据库账户',

'DB_PWD' => '数据库密码',

'DB_PORT' => '数据库端⼝',

'DB_PREFIX' => 'cmf_',

/* redis */

'REDIS_HOST' => "redis地址",

'REDIS_AUTH' => "redis密码",

//密钥

"AUTHCODE" => 'rCt52pF2cnnKNB3Hkp',

//cookies

"COOKIE_PREFIX" => 'AJ1sOD_',

);


<4>web/wxshare/Application/Common/Conf/config.php


/* 数据库配置 */

'DB_TYPE' => 'mysqli', // 数据库类型

'DB_HOST' => '数据库地址', // 服务器地址

'DB_NAME' => '数据库名', // 数据库名

'DB_USER' => '数据库⽤户', // ⽤户名

'DB_PWD' => '数据库密码', // 密码

'DB_PORT' => '数据库端⼝', // 端⼝

'DB_PREFIX' => 'cmf_', // 数据库表前缀

'REDIS_HOST'=>'redis地址',

'REDIS_AUTH'=>'redis密码',


服务重启


注释掉

/usr/local/php/etc/php.d/02-opcache.ini

这个PHP缓存,开发测试阶段需要关闭否则会影响问题的修改和测试偏差。


清理掉web缓存


web/data/runtime/目录下的文件清空


service mysqld restart 


service php-fpm restart 


systemctl restart redis-server


systemctl restart nginx


六、短视频推荐排序机制

1.下载nvm一键安装脚本


curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash


2.然后查看~/.zshrc文件,会看到入如下几⾏


//查看zshrc文件中是否添加

cat ~/.zshrc


//若没有,则手动添加

vim  ~/.zshrc


//添加内容

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"


3.重新载入配置文件


source ~/.zshrc


4.然后安装nodejs


nvm install v6.10.2


5.然后使用安装的nodejs


nvm use v6.10.2


6.输入如下命令,如果返回的是版本号,就说明nodejs安装成功


node -v


7.然后安装cnpm


==注:只有国内服务器,才安装cnpm,执行下面的命令。国外服务器跳过。==


npm install -g cnpm --registry=https://registry.npm.taobao.org


8.然后安装pm2


//国内服务器执行此命令

cnpm install pm2 -g


//国外服务器执行此命令

npm install pm2 -g


9.安装nodejs拓展块


删除     /data/wwwroot/www.abc.com(自己创建的站点)/dspIM/node_modules


cd /data/wwwroot/www.abc.com(自己创建的站点)/dspIM


rm -rf node_modules


//推荐国外服务器使用

npm install 

cpm install node-schedule

或者


//国内服务器使用命令

cnpm install

cnpm install node-schedule


10.修改配置文件,将dspIM目录下的exposure.js文件里面的信息修改为自己的,


vim exposure.js

内容如下:

var site='http://www.abc.com(自己的网站域名)';


11.然后,启动短视频推荐排序程序


pm2 start exposure.js --watch


12.保存pm2启动信息


pm2 save


13.设置开机启动


pm2 startup


七、后台设置

系统设置-->私密设置-->云存储设置配置上


恭喜你,搭建完成!


 

声明:
以上内容为云豹科技作者本人原创,未经作者本人同意,禁止转载,否则将追究相关法律责任