nginxInstall.sh
#!/bin/bash
# 检查是否是root用户,不是则退出程序;检查是否有wget应用,没有则帮其装上
# 如果已经安装且启动的,想重新安装,自行手动杀死后台的Nginx进程
check () {
test $USER == 'root' || (echo '必须是root用户,请检查' ; exit 1)
[ -e /usr/bin/wget ] || yum -y install wget &>/dev/null
}
# 依赖安装
install_dependencies () {
if ! ( yum -y install elinks gcc-* pcre-devel zlib-devel 1>/dev/null ); then
echo "nginx相关的依赖安装失败,请检查"
exit 1
fi
}
# 变量分别是
# nginx_home:下载目录[别将其设为根目录,会导致删掉整个Linux,后果自负]
# nginx_install_home:安装目录[别将其设为根目录,会导致删掉整个Linux,后果自负]
# nginx_version:Nginx版本号
nginx_home=/usr/nginx
nginx_install_home=/usr/nginx/nginx
nginx_version=nginx-1.20.0.tar.gz
# 下载、解压nginx
download_nginx () {
if [ ! -d ${nginx_home} ]; then
mkdir -p ${nginx_home}
fi
cd $nginx_home
rm -rf *
# if ! $(find / -name $nginx_version | grep ${nginx_home}'/'$nginx_version); then
rm -rf ${nginx_version}
wget "http://nginx.org/download/${nginx_version}" || (echo "nginx安装包下载失败, 请检查" ; exit 1)
# fi
tar -xvf ${nginx_version} 1>/dev/null || echo " ${nginx_version}解压失败"
}
# 安装nginx
install_nginx () {
cd $(echo $nginx_version | cut -d '.' -f1-3)
rm -rf ${nginx_install_home}
if ./configure --prefix=${nginx_install_home} 1>/dev/null; then
echo "Nginx: 配置成功"
if make 1>/dev/null; then
echo "Nginx: 编译成功"
if make install 1>/dev/null; then
echo "Nginx: 编译后安装成功"
else
echo "Nginx: 编译后安装失败"
make clean
exit 1
fi
else
echo "Nginx: 编译失败"
make clean
exit 1
fi
else
echo "Nginx: 配置失败"
exit 1
fi
}
# 启动nginx
test_nginx () {
if $nginx_install_home/sbin/nginx ; then
# 将nginx设为全局命令
ln -s $nginx_install_home/sbin/nginx /usr/bin/nginx
echo "Nginx: 启动成功"
# 访问80端口,查看是否是nginx页面
elinks http://localhost -dump
nginx -v
else
echo "Nginx: 启动失败"
fi
}
# 开放服务器防火墙80端口给外界
open_firewalld_80 () {
# 查看Linux防火墙是否开启,开启则开放80端口,否则不做处理
if firewall-cmd --state | grep 'running' ; then
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
echo '80端口已经开启,可通过浏览器进行访问服务器80端口'
fi
}
# 调用上述函数, 开始执行Nginx安装流程
check
install_dependencies
download_nginx
install_nginx
test_nginx
open_firewalld_80
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/weixin_39651356/article/details/123000655
内容来源于网络,如有侵权,请联系作者删除!