Nginad Server安装
前言
Nginad是一个基于php的开源项目,它既可以作为静态配置的Ad Server,也可以作为动态的RTB Exchange使用。代码结构比较直接明了,挺适合用作学习的。本文如果有理解错误的地方,希望各位不吝指正。
概要
我在14年10月份接触RTB领域的时候,开始搭建RTBKit + Nginad的实时竞价环境,搭建过程中就觉得Nginad的文档非常凌乱,东一块西一块,当时就写下这些内容供以后参考。最近看官网貌似也提供了比较完整的安装文档。有兴趣的人可以直接阅读官网文档。
环境配置
配置好你的nginx + php + mysql环境,这个我就不赘述了,请自行搜索。
下载nginad
从git上下载nginad, 将upload文件夹下面的东西复制到nginx的web目录里。
git clone https://github.com/nginadfoundation/nginad.git
然后将里面的upload目录放到nginx web目录下。
安装项目
在upload目录下调用php的包管理安装依赖库
composer.phar self-update
composer.phar install
配置文件
在config/autoload下有很多配置文件*.php.dist,请将后面的.dist后缀去掉。
cd config/autoload
cp database.local.php.dist database.local.php
cp delivery.local.php.dist delivery.local.php
cp email.local.php.dist email.local.php
cp rtb.config.local.php.dist rtb.config.local.php
配置数据库
配置数据库请参见链接。主要就是新建nginad所需要的各种表。官网页面有很多操作,我是在ubuntu系统上安装的,如果前述mysql+php+nginx环境已经配好了,只需要执行:
mysql -u root -p //登陆mysql
create database nginad;
grant usage on *.* to nginad@`%` identified by 'password';
grant all privileges on nginad.* to nginad@`%` ;
flush privileges;
quit; //创建数据库,给予权限
然后下载sql脚本(这个脚本可能会过期,还是从配置数据库的官网页面上下载比较好),接着执行:
mysql -u nginad -p nginad < [刚刚下载的sql脚本]
最后,修改nginad upload所在目录下/config/autoload/database.local.php文件
$dbParams = array(
'dbname' => 'nginad',
'user' => 'root',
'pass' => '',
'host' => 'localhost',
);
请填入正确的数据库连接参数。
修改public/ad/nginad.js
修改该js文件中的第一行代码
var adserver_domain = ""
改成你部署nginad server所在的domain,这段脚本会向这个地址请求广告物料。
启动
这里还有一点奇怪的,我不知道nginad server启动的管理员默认账号密码是什么。。。好像也没看到哪里有说,(真坑爹)。
我的解决方案是,反正数据库在手,我自己在table里硬编码写进去了一个管理员账号密码。。。(密码是加密的,不知道怎么填?请先注册一个publisher之类的账号,密码写个test,然后去DB里看test被加密成了什么字符串,把相同的字符串写到管理员账号的密码里,管理员的密码也就是test了,nginad的加密没有用salt,不算很安全啊..)
更新:现在知道了。。是:
默认管理员
username: admin@localhost
password: password
默认publisher
username: sergey.page@blowmedianow.com
password: password
Nginad Server安装的更多相关文章
- 关于SQL Server 安装程序在运行 Windows Installer 文件时遇到错误
前几日安装sql server2008r2 的时候碰到这个问题: 出现以下错误: SQL Server 安装程序在运行 Windows Installer 文件时遇到错误. Windows Insta ...
- Ubuntu Server安装R和Rstudio(zz)
Ubuntu Server安装R和Rstudio 发表于 技术天堂 2014-03-15 21:03 字数: 534 阅读量: 205 R是一个在科研领域很常用的工具,经常用R的年轻人或者经常上统计之 ...
- linux下subversion server安装手册
linux下subversion server安装手册 安装基于的Linux版本为:Red Hat Enterprise Linux Server release 6.3. 一 准备需要的安装包. ( ...
- SQL Server 安装 功能详解
安装 SQL Server 功能 在“功能选择”页上,SQL Server 功能分为以下两个主要部分:实例功能和共享功能. “实例功能”表示为每个实例安装一次的组件,这样,您将具有它们的多个副 ...
- VMware vCenter Server安装图解教程
安装说明: 1.安装VMware vCenter Server的主机操作系统为:Windows Server 2008 R2 2.在Windows Server 2008 R2中需要预先安装好SQL ...
- cmd运行sql server安装
cmd运行sql server安装 SQL2012非群集安装_更新到最新版本.bat setup.exe /UpdateSource=.\hotfix\Latest /ACTION="Ins ...
- Ubuntu Server安装图形界面全过程
转载自:http://blog.csdn.net/sunbaigui/article/details/6624110, http://mikewolfli.blog.163.com/blog/stat ...
- ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接
原文:ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接 安装ArcSDE for SQL Server,最后一步成功后的界面如下: 在ArcMap中创建ArcSDE ...
- SQL Server安装完成后3个需要立即修改的配置选项(转载)
你用安装向导安装了全新的SQL Server,最后你点击了完成按钮.哇噢~~~现在我们可以把我们的服务器进入生产了!抱歉,那并不是真的,因为你的全新SQL Server默认配置是错误的. 是的,你没看 ...
随机推荐
- GUN C中的流
当我们要对文件(在Linux环境中一切皆文件,包括硬件设备.资源等)进行操作(读.写.读写)时,必须连接文件或形成通信管道.这个过程称为打开文件.打开文件后可以进行读.写.读写操作. 打开的文件可以称 ...
- 转:: 刺鸟:用python来开发webgame服务端(2)
来源:http://ciniao.me/article.php?id=10 --------------- 刺鸟原创文章,转载请注明出处 就在刚才,我们用基于python下的Twisted库写了 ...
- iOS学习笔记(三)——iOS系统架构
iOS的系统架构分为四个层次:核心操作系统层(Core OS layer).核心服务层(Core Services layer).媒体层(Media layer)和可触摸层(Cocoa Touch l ...
- Win7 +Cuda9.0+cudnn7.0.5 tensorflow-gpu1.5.0 安装实战
https://blog.csdn.net/gangeqian2/article/details/79358543 https://blog.csdn.net/tomato_sir/article/d ...
- DropdownList异步刷新GridView数据
前台代码: <div style=" clear:both; width:800px; text-align:center; margin-left:auto; margin-righ ...
- Oracle 逻辑体系
Oracle 逻辑体系 主题 Oracle 逻辑体系 参考资料 Oracle 逻辑体系 表空间.模式.用户.段.区.块 Oracle中的数据逻辑上存储于表空间,物理上则存储于属于表空间tabl ...
- Spring 事务机制详解(事务的隔离性和传播性)
原文出处: 陶邦仁 Spring事务机制主要包括声明式事务和编程式事务,此处侧重讲解声明式事务,编程式事务在实际开发中得不到广泛使用,仅供学习参考. Spring声明式事务让我们从复杂的事务处理中得到 ...
- RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)
在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者.本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式. 为了阐述这个 ...
- Vue父组件调用子组件的方法
vue中如果父组件想调用子组件的方法,可以在子组件中加上ref,然后通过this.$refs.ref.method调用,例如: 父组件: <template> <div @click ...
- Docker介绍及优缺点对比分析
1.什么是Docker Docker最初是dotCloud公司创始人Solomon Hykes在法国期间发起的一个公司内部项目,于2013年3月以Apache 2.0授权协议开源,主要项目代码在Git ...