
背景:
由于我们项目上都是安装和使用的openresty,而我们组也有一些依托openresty软件来做的应用。但是我们现在部署工作都是使用自研的一键部署平台(也是波哥主导开发的)底层用的ansible来实现的。单独开源出来的playbook不一定适用各位。所以花了点时间写了一份更通用的shell脚本以便大家使用。
结合读者对于上一篇《一键部署nginx脚本》的意见我增加了版本变量,可以在执行脚本的时候根据自行的需要带入。
openresty的一些核心简介:
openresty是一个成熟的网络平台,它集成了标准的Nginx核心,LuaJIT,许多精心编写的Lua库,许多高质量的第三方Nginx模块以及大多数外部依赖项。
网站:http://openresty.org/
Github组织:https://github.com/openresty
首席开发人员:@agentzh
国内最可利用的文档:
http://wiki.jikexueyuan.com/project/openresty/
一键安装部署脚本如下:
#!/bin/bash# 第一个参数为 OpenResty 的版本号VERSION=$1OPENRESTY_FILE="openresty-${VERSION}.tar.gz"OPENRESTY_URL="https://openresty.org/download/${OPENRESTY_FILE}"OPENRESTY_MD5_URL="${OPENRESTY_URL}.md5"INSTALL_DIR="/data/openresty"# 检查 OpenResty 文件是否存在if [ ! -f "$OPENRESTY_FILE" ]; thenecho "正在下载 ${OPENRESTY_URL}..."wget "$OPENRESTY_URL"# 检查下载是否成功if [ "$?" -ne 0 ]; thenecho "下载 ${OPENRESTY_URL} 失败"exit 1fifi# 检查 OpenResty 文件的 MD5echo "正在获取 ${OPENRESTY_FILE} 的 MD5 值..."wget "$OPENRESTY_MD5_URL"# 检查获取 MD5 文件是否成功if [ "$?" -ne 0 ]; thenecho "获取 ${OPENRESTY_MD5_URL} 失败"exit 1fi# 提取 MD5 值并检查是否匹配EXPECTED_MD5=$(cat "${OPENRESTY_FILE}.md5" | awk '{ print $1 }')ACTUAL_MD5=$(md5sum "$OPENRESTY_FILE" | awk '{ print $1 }')if [ "$EXPECTED_MD5" != "$ACTUAL_MD5" ]; thenecho "下载的 ${OPENRESTY_FILE} 文件的 MD5 值不匹配"exit 1fi# 安装依赖yum install -y gcc make pcre-devel openssl-devel# 解压并编译安装 OpenRestytar -xzvf "$OPENRESTY_FILE"cd "openresty-$VERSION"./configure --prefix="$INSTALL_DIR"makemake install# 检查安装是否成功if [ "$?" -ne 0 ]; thenecho "OpenResty $VERSION 安装失败"exit 1fi# 添加 OpenResty 到环境变量echo 'export PATH=$PATH:'"$INSTALL_DIR/bin"'/' >> etc/profilesource etc/profile# 创建 OpenResty 服务文件echo "正在创建 OpenResty 服务文件..."cat <<EOF > etc/systemd/system/openresty.service[Unit]Description=OpenResty HTTP ServerAfter=network.target[Service]Type=forkingPIDFile=/run/openresty.pidExecStart=$INSTALL_DIR/nginx/sbin/nginx -c $INSTALL_DIR/nginx/conf/nginx.confExecReload=/bin/kill -s HUP \$MAINPIDExecStop=/bin/kill -s QUIT \$MAINPIDPrivateTmp=true[Install]WantedBy=multi-user.targetEOF# 启动 OpenResty 服务systemctl daemon-reloadsystemctl enable openrestysystemctl start openrestyecho "OpenResty $VERSION 已安装到 $INSTALL_DIR,并已启动 OpenResty 服务"
sh install_openresty.sh 1.19.3.1
小编有话说
➤推荐服务:
向下滑动查看更多
点击【IT面试精选】查看全网最权威的一线大厂面试真题及面试经验,每天更新哦!
点击【IT路边社】查看实时更新的IT新闻资讯
点击【2022互联网大事件盘点】查看2022互联网最全大事件盘点
回复【加群】群满啦!~添加波哥微信拉您进群!
点击【安全加固】获取最新安全加固脚本
点击【一键iptables脚本】获取iptables自动设置脚本
文章转载自IT运维技术圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




