小韦云面板使用教程

install.sh文件开发教程

小韦云科技-区块链+小程序+公众号+商城+分销+直播+企业官网+外贸电商-为您提供优质的开发服务-电话/微信联系:18123611282

如果配置的环境还没满足要求,可以提供install.sh文件,并放置网站根目录下,一键安装程序会在网站安装完成时自动执行它。

在install.sh可以获取的信息有:

#/bin/bash
#获取用户安装时填写的域名
domain=$1

#获取nginx配置文件位置
config_file=/bctos/server/nginx/conf.d/${domain}.conf

#获取nginx伪静态配置文件位置
rewrite_file=/bctos/server/nginx/rewrite/${domain}.rewrite.conf

#获取PHP容器(PHP版本)
php=$(cat $config_file|grep ':9000'|sed 's/fastcgi_pass//'|sed 's/:9000;//'|sed 's/ //g')

#执行composer操作,如:
docker exec panel sh -c "cd /bctos/wwwroot/${domain};composer install"

#执行PHP操作(以root账号执行)
docker exec ${php} sh -c "cd /bctos/wwwroot/${domain};php think --help"
#执行PHP操作(以www-data账号执行)
docker exec ${php} sh -c "su - www-data -c 'cd /bctos/wwwroot/${domain};php think --help'"

#获取网站根目录(不包括运行目录,如public):
site_path=/bctos/wwwroot/${domain}
#或者
site_path=$(pwd)



#获取数据库容器(数据库版本)
mysql=$2

#数据库名称
db_name=$3

if [[ $mysql == 'not' ]];then
    echo '没有配置数据库';
else
    echo '已配置了数据库';
    #获取数据库的root密码
    root_pwd=$(grep 'MYSQL_ROOT_PASSWORD' /bctos/server/${mysql}/docker-compose.yml | sed -r 's/MYSQL_ROOT_PASSWORD://' | sed 's/ //g')
    #执行数据库操作
    docker exec -e MYSQL_PWD=$root_pwd -i ${mysql} mysql -uroot << EOF
SHOW DATABASES;
EOF
fi

#重启php(如果存在)
cd /bctos/server/${php}
docker restart ${php}

# 重启mysql(如果存在)
cd /bctos/server/${mysql}
docker restart ${mysql}

#重启nginx,默认安装完网站会自动重启
cd /bctos/server/nginx
[ -z $(docker ps --format '{{.Names}}'|grep nginx) ] && docker-compose up -d || docker restart nginx

假如你的SQL文件并不在根目录,一键安装程序无法帮你自动导入,这时就可以使用install.sh自行导入,假如你的install.sql文件路径是:public/install/install.sql

#/bin/bash
#获取用户安装时填写的域名
domain=$1

#获取数据库容器(数据库版本)
mysql=$2

#数据库名称
db_name=$3

#获取数据库的root密码
root_pwd=$(grep 'MYSQL_ROOT_PASSWORD' /bctos/server/${mysql}/docker-compose.yml | sed -r 's/MYSQL_ROOT_PASSWORD://' | sed 's/ //g')

#执行数据库导入操作
docker exec -i  ${mysql} sh -c "exec mysql -uroot -p${root_pwd} ${db_name}" < public/install/install.sql

本文由小韦云原创,转载请注明出处:https://www.bctos.cn/doc/2/1928,否则追究其法律责任

关键词:install.sh

广告位招商