nginx自动部署脚本
2018-12-07 00:20
826 查看
需要下载脚本中需要的jar包nginx.pcre和zlib,自己也上传了一个自己部署的包
https://download.csdn.net/download/qq_17842663/10822976
因为csdn上传的资源必须要设置一个需要下载分,好像不能免费下载了,可以自己去官网下载。
脚本如下(nginx.sh):
#!/bin/sh #/opt/hadoop # |________app # | |_____hadoop安装路径 # |_________data # |_________log ################################################################# App_User=ice-app App_Group=app #配置文件 Nginx_Conf_File=nginx.conf #启动/停止脚本 Nginx_Shell=nginx.sh # 安装文件 Nginx_Install_Fill=nginx-1.15.7.tar.gz # 应用主目录 Nginx_Home=/opt/nginx # 应用安装目录 Nginx_App_Home=$Nginx_Home/app #应用程序数据目录 Nginx_Data_Home=$Nginx_Home/data #应用程序日志目录 Nginx_Log_Home=$Nginx_Home/log #系统服务名称 Nginx_ServiceName=nginx Nginx_Sbin=sbin Nginx_Logs=logs Nginx_Conf=conf Nginx_Server=$Nginx_App_Home/support-files/$Nginx_Shell #Nginx 导入导出文件目录 Nginx_Files=$Nginx_Home/files #安装文件 其他版本请到官网下载对应的安装包 PCRE_Install_File_Name=pcre-8.42 Zlib_Install_File_Name=zlib-1.2.11 PCRE_Install_File=$PCRE_Install_File_Name.tar.gz Zlib_Install_File=$Zlib_Install_File_Name.tar.gz Nginx_Install_File_Name=nginx-1.15.7 Nginx_Install_File=$Nginx_Install_File_Name.tar.gz Nginx_Zip_File=$Nginx_Install_File_Name.zip # 启动Nginx start(){ echo $"Starting Nginx Under User: "$App_User $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Sbin/$Nginx_ServiceName || return 2 } # 停止Nginx stop(){ echo $"Stopping Nginx: " $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Sbin/$Nginx_ServiceName -s stop || return 2 } # 重启 reload(){ echo $"reload Nginx: " $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Sbin/$Nginx_ServiceName -s reload || return 2 } # 解压nginx install(){ echo "install nginx" # 创建目录 sudo mkdir -p $Nginx_Home $Nginx_Data_Home $Nginx_Log_Home $Nginx_App_Home # 解压文件 sudo unzip $Nginx_Zip_File cd $Nginx_Install_File_Name sudo tar zxvf $PCRE_Install_File -C $Nginx_App_Home sudo tar zxvf $Zlib_Install_File -C $Nginx_App_Home sudo tar zxvf $Nginx_Install_File -C $Nginx_App_Home sudo cp $Nginx_Conf_File $Nginx_App_Home/ cd .. # 移动App程序到App目录 sudo cp $Nginx_Shell $Nginx_App_Home/$Nginx_Shell # 删除文件 sudo rm -rf ./$Nginx_Install_File_Name sudo rm -rf ./$Zlib_Install_File sudo rm -rf ./$PCRE_Install_File sudo rm -rf ./$Nginx_Install_File # 安装必要文件 sudo yum install -y gcc-c++ sudo yum install -y g++ sudo yum -y install openssl-devel # 安装nginx cd $Nginx_App_Home/$Nginx_Install_File_Name sudo ./configure --with-pcre=$Nginx_App_Home/$PCRE_Install_File_Name --with-zlib=$Nginx_App_Home/$Zlib_Install_File_Name --prefix=$Nginx_App_Home/$Nginx_Install_File_Name --with-http_ssl_module sudo make && make install sudo mkdir -p $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Logs echo "Installing Nginx...." # 创建用户 egrep "^$App_Group" /etc/group >& /dev/null if [ $? -ne 0 ] then echo "Creating Application Group:"$App_Group sudo groupadd -f $App_Group fi #create user if not exists egrep "^$App_User" /etc/passwd >& /dev/null if [ $? -ne 0 ] then echo "Creating Application User:"$App_User sudo useradd -g $App_Group -d /home/$App_User -m -s /bin/false -r $app_User fi echo "Set The Permission For User:"$App_User sudo chown -R $App_User $Nginx_Home sudo chmod -R o+w $Nginx_Home # 建立软连接 sudo rm -rf /etc/init.d/$Nginx_ServiceName sudo ln -s $Nginx_App_Home/$Nginx_Shell /etc/init.d/$Nginx_ServiceName # 添加服务到开机自动启中 sed -i '$Nginx_App_Home/$Nginx_Install_File_Name/sbin/nginx' /etc/rc.d/rc.local echo '$Nginx_App_Home/$Nginx_Install_File_Name/sbin/nginx' >> /etc/rc.d/rc.local # 默认没有执行的权限,需要授权 chmod +x /etc/rc.d/rc.local #将编写好的htpasswd密码文件和nginx.conf文件移动到conf配置目录下. sudo mv $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Conf/$Nginx_Conf_File $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Conf/$Nginx_Conf_File.default sudo mv $Nginx_App_Home/$Nginx_Conf_File $Nginx_App_Home/$Nginx_Install_File_Name/$Nginx_Conf/ echo "Install Nginx 1.15.7 Success!" } # 卸载 uninstall(){ echo "Uninstall The Service Named:"$Nginx_ServiceName # 移除开机自启动 sed -i '/sbin\/nginx/d' /etc/rc.d/rc.local # 删除软连接 sudo rm -rf /etc/init.d/$Nginx_ServiceName # 删除文件 sudo rm -rf $Nginx_App_Home echo "Uninstall Nginx Complete!" } case "$1" in start) start #set +x ;; stop) stop ;; status) sudo $Nginx_Server status ;; reload) reload ;; install) install ;; uninstall) stop uninstall ;; *) echo $"Usage: $0 {start|stop|restart|install|uninstall}" ;; esac exit
如上是脚本内容,有关键的注释,可以参考如上学习使用
相关文章推荐
- SVN+Nginx自动部署脚本
- 010-- 开发脚本自动部署nginx_web和nfs及监控内存
- nginx tomcat 自动部署python脚本【转】
- linux基础 -nginx和nfs代理 开发脚本自动部署及监控
- linux下nginx自动部署脚本
- 如何在 Apache 上部署 Let's Encrypt 证书 &&自动续期脚本
- 【Ansible】Ansible 自动编译部署 nginx详解
- Nginx自动安装脚本(比较简单,有待优化)
- 自动部署版本包shell脚本
- 自动部署tomcat 脚本
- 自动部署脚本
- nagios 使用源码包自动部署脚本
- 一个Linux下自动部署Web服务的脚本
- 自动部署脚本Linux+SVN+Maven
- 做了一个简易的git 代码自动部署脚本
- tomcat自动部署脚本
- Tomcat 自动部署、回滚(java project)脚本
- nginx 设置开机自动启动脚本
- centos7 lamp+nginx搭建(附自动安装脚本)
- [6月13日的脚本] 在部署时自动将计算机添加到AD 组中 (VBScript)