注意
- 这个脚本最初是为 docs 项目准备的,dajx 项目的部署需要在 docs 的基础上进行后续安装部署
- 目前只支持 centos6.9
- nginx等使用的是预编译版本,因此安装程序包(.git.zip)
必须
放置在 /root/init 下;安装包的脚本中不要轻易重命名,很多都是写死的 - 必须以 root 用户执行
- 在虚拟机中实验时可以先保存快照,出了问题可以随时重来
准备工作
- 复制 .git.zip 到 /root/init 下
# 提前将部分 host 加入 known_hosts 文件(询问时输入 yes,再多次回车即可)。如果是复制到 shell,这里要分开复制执行
ssh 127.0.0.1
ssh git@git.uninote.com.cn
docker 需要额外安装 ssh 服务
# 修改密码,可选。如果是复制到 shell,这里要分开复制执行
passwd
yum install -y openssh*
service sshd start
脚本
# centos 6 只用阿里云的源:
mkdir -p /var/cache/yum/x86_64/6/base
mkdir -p /var/cache/yum/x86_64/6/extras
echo http://mirrors.aliyun.com/centos/6.10/os/x86_64/ > /var/cache/yum/x86_64/6/base/mirrorlist.txt
echo http://mirrors.aliyun.com/centos/6.10/extras/x86_64/ > /var/cache/yum/x86_64/6/extras/mirrorlist.txt
yum install -y unzip git
cd /root/init
unzip .git.zip
rm -f .git.zip
git reset --hard
mkdir -p ~/.ssh
/bin/cp config/ssh-root/id_rsa ~/.ssh/
/bin/cp config/ssh-root/id_rsa.pub ~/.ssh/
chmod 600 ~/.ssh/id_rsa
eval `ssh-agent -s`
ssh-add
生成配置文件并进行相关配置,可能需要先进行域名解析
- 虚拟机的中的配置可以参考最后面
mkdir -p ~/init/include
echo '
# 部署环境名称
deployment=dajxdocs
# docs 相关
front_host=docs.uninote.com.cn
gogs_host=docs.uninote.com.cn
es_host=es.uninote.com.cn
es_index=dajxdocs
# dajx 相关
dajx_api_host=api.dajxyl.com
dajx_staff_api_host=staffapi.dajxyl.com
dajx_cms_host=admin.dajxyl.com
dajx_www_host=www.dajxyl.com
front_host=$dajx_api_host
' > ~/init/include/args.sh
执行安装 docs
cd ~/init
# 根据需要选择其他分支(master为docs分支,dajx为项目分支)
git fetch origin dajx
git reset --hard FETCH_HEAD
. install.sh
cd ~/init
. apply_config.sh
nginx -s reload
-
看到类似输出表示docs部分安装完成:
-
输入IP地址访问验证:
-
如需使用中文搜索功能,需要初始化 es
docker 安装需要额外执行的部分
# docker 里面需要手动执行,Deploy_End 执行到中间部分会自动退出。重新进入 docker中:
if [ `cat ~/.ssh/known_hosts |grep 127.0.0.1|wc -l` = 0 ]; then
Echo_Green "输入 yes,再多次回车即可"
ssh 127.0.0.1
else
echo "known_hosts already handled."
fi
/bin/cp ~/.ssh/known_hosts /home/www/.ssh/
chown www:www /home/www/.ssh/known_hosts
# 将自启动脚本写入:
~/start.sh
# 重新初始数据,解决乱码问题:
tmp_path=/tmp/mynote_init.sql
mysql -u root -proot <<ENDTAG
use mynote
source $tmp_path
ENDTAG
安装 dajx
ssh git@git.dajxyl.com
cd ~/init/dajx
. install.sh
需要手动调整的地方
dns 解析
初始的sql 确认导入数据库
证书,用于退款:
\dajx-api\config\cert -> cms
http-》https
server {
listen 80;
# 注释掉,则全部重定向
server_name www.dajxyl.com;
return 301 https://www.dajxyl.com$request_uri;
}
logviewer 可能需要修改配置为 https/http
配置:
dajx 分支,是test配置,如果用其他环境,需要修改配置:
个推、支付、短信、官网
虚拟机中配置实例
ip=23
deployment=vm$ip
front_host=192.168.0.$ip
gogs_host=192.168.0.$ip
es_host=es.uninote.com.cn
es_index=mynotev$ip
dajx_api_host=$front_host
dajx_staff_api_host=$front_host
dajx_cms_host=$front_host
dajx_www_host=$front_host
- 删除 /usr/local/nginx/conf/ssl.conf, 以及 default.conf
- client api 端口:80
- staff api 端口:90
- cms 端口:100
内置管理员账号
local: http://localhost:100/admin/index/index.html dev: https://dev.admin.dajxyl.com/ root root123.