## 通用
- stg redis: `redis-cnlf9hm5qs56dc7cz.redis.ivolces.com`

## 安装库
```
yum install -y bison byacc flex
```

### thrift
- 版本比 ssp nginx 上的新，为 0.12.0
- 使用旧版，ssp-core 不能编译通过
```
./configure --with-cpp --with-boost=/usr/local/include/boost --without-csharp --without-erlang --without-perl --without-php --without-php_extension --without-ruby --without-haskell --with-go --without-lua
编译提示 /libboost_unit_test_framework.a: No such file or directory，可跳过，此时thrift已编译完成，这里是测试不通过。
```

### cmake
```
下载最新的cmake源码
./bootstrap --prefix=/usr
make -j7
make install
```

### avro
拷贝源码安装

### glags
```
解压源码
make build && cd build
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON ..
ldconfig
```

## appstore-thrift
- 需要使用 thrift 程序，生成 协议代码。
- jsoncpp 的头文件，原来在百度云上不标准，现在火山云是标准安装
 - 需要改 appstore-thrift 的 CMakeLists.txt
- FMT_HEADER_ONLY 定义重复，保留 CMakeLists.txt的，去掉 CombineLogger.h 中的定义。
 - 这个不管火山云还是百度云，都会出现编译警告。
- 编译安装后
- 增加配置，拷贝 Ipp文件。
 - /data/appstore/cached/Ipp2.txt
 - 可以从别的机器上拷贝。比如 nginx-test
 
### 加服务
- appstore-thrift.service
```
[Unit]
Description=Thriftc daemon

[Service]
LimitCORE=infinity
LimitNOFILE=102400
LimitNPROC=65535
Type=simple
WorkingDirectory=/data/appstore/appstore-thrift/
ExecStart=/data/appstore/appstore-thrift/bin/Thriftc -f conf/app.ini
Restart=always
RestartSec=1

[Install]
WantedBy=multi-user.target
```

- 加配置 `/data/appstore/appstore-thrift/conf/app.ini`
```
[log]
LOG_DIR = /data/appstore/appstore-thrift/logs
```

- Ipp文件
```
root 下执行
scp nginx-test:/data/appstore/cached/Ipp2.txt /data/appstore/cached/
cd /data/appstore/cached/
chown adx-user Ipp2.txt 
chgrp adx-user Ipp2.txt 
```

- 启动服务
sudo systemctl start appstore-thrift
systemctl enable appstore-thrift.service


## ssp-web
```
adx-user下
mkdir -p /data/adx/release/ssp-web && cd /data/adx/release/ssp-web
mkdir bin conf logs
```
- 编译 ssp-web，拷贝到刚创建的 bin 下
- 拷贝配置文件 app-stg.ini 到 conf 下执
 - 修改 app-stg.ini 中的 redis 地址。redis-cnlf9hm5qs56dc7cz.redis.ivolces.com

- 服务文件 ssp-web.service
```
[Unit]
Description = Ssp-Web Service

[Service]
User=adx-user
Group=adx-user
LimitCORE=infinity
LimitNOFILE=102400
LimitNPROC=65535
Type=simple
WorkingDirectory=/data/adx/release/ssp-web
ExecStart=/data/adx/release/ssp-web/bin/ssp-web -conf conf/app-stg.ini
KillSignal=SIGINT
Restart=on-failure
StandardOutput=null

[Install]
WantedBy=multi-user.target
```

sudo systemctl start ssp-web.service
systemctl enable ssp-web.service

## ssp-core
- 服务文件 ssp-core.service
```
[Unit]
Description=ssp-core daemon

[Service]
User=adx-user
Group=adx-user
LimitCORE=infinity
LimitNOFILE=102400
LimitNPROC=65535
Type=simple
WorkingDirectory=/data/adx/release/ssp-core
ExecStart=/data/adx/release/ssp-core/bin/ssp-core -f conf/settings-stg.ini
Restart=always
RestartSec=1
StandardOutput=null

[Install]
WantedBy=multi-user.target
```
- 源码里包含 gen-cpp
- 拷贝可执行文件到安装路径
- 拷贝配置文件。
 - 修改 redis 地址

sudo systemctl start ssp-core.service
sudo systemctl enable ssp-core.service

## ssp-notify
- 服务文件 vi ssp-notify.service
```
[Unit]
Description = ssp-notify Service

[Service]
LimitCORE=infinity
LimitNOFILE=102400
LimitNPROC=65535
User=adx-user
Group=adx-user
Type=simple
WorkingDirectory=/data/adx/release/ssp-notify
ExecStart=/data/adx/release/ssp-notify/bin/ssp-notify -conf conf/app-stg.ini
KillSignal=SIGINT
Restart=on-failure

[Install]
WantedBy=multi-user.target
```
systemctl enable ssp-notify.service


```
cd /data/adx/release/
mkdir ssp-notify && cd ssp-notify && mkdir bin conf logs
```

- 编译代码，拷贝可执行文件，配置。
- 修改配置里的，redis 地址。
- 确保 ssp nginx 的代码已修改。

## cpt-bid
- 服务文件 vi cpt-bid.service
```
[Unit]
Description = cpt-bid Service

[Service]
User=adx-user
Group=adx-user
LimitCORE=infinity
LimitNOFILE=102400
LimitNPROC=65535
Type=simple
WorkingDirectory=/data/dsp/release/cpt-bid
ExecStart=/data/dsp/release/cpt-bid/bin/cpt-bid -conf conf/app-stg.ini
KillSignal=SIGINT
Restart=on-failure
StandardOutput=null

[Install]
WantedBy=multi-user.target
```
systemctl enable  cpt-bid.service








