2653885 发表于 2018-11-21 07:58:06

apache自动更新站点内容脚本

apache自动更新站点内容脚本
  实现思路:
  通过软链接的方式更改网站目录对应的站点目录
  准备工作:

[*]  先将网站内容的两个版本上传到服务器上面,存放路径为/server/www
# ll
总用量 8
-rw-r--r-- 1 root root 167 9月   1 12:54 html1.1.tar.gz
-rw-r--r-- 1 root root 166 9月   1 12:57 html1.2.tar.gz
[*]  配置Apache虚拟主机,网站访问路径为/alidata/xx/webapps/xx
# tail -15 /usr/local/apache2/conf/extra/httpd-vhosts.conf
………

    ServerAdmin admin@dyb.com
    DocumentRoot/alidata/xx/webapps/xx
   
      Options IndexesFollowSymLinks
      AllowOverride None
      Order allow,deny
      Allow from all
   
    ServerName xx.dyb.com
    DirectoryIndex index.htmlindex.htm index.jsp
    ErrorLoglogs/uh.dyb.com_error_log
    CustomLoglogs/uh.dyb.com_access_log common
  实现脚本:
  通过脚本实现自动更新站点内容(脚本需要加网站版本号参数即可)
# cat change_html.sh
#!/bin/bash
#this script create at 2015-09-01
#author:hao123
#this script is use to change html version
#版本存放目录
html_ver_dir=/server/www
#web访问目录
html_acc_dir=/alidata/xx/webapps
         if [ $# -ne 1 ];then
                   echo"you need add html version id,like 1.1"
         else
                   num=`find $html_ver_dir -type f -name "html$1.tar.gz"|wc -l`
                   if [ $num-eq 1 ];then
                            cd $html_ver_dir
                            find $html_ver_dir -type d ! -name "html$1" -a ! -name"www"|xargs rm -rf
                            tar zxf html$1.tar.gz
                            cd $html_acc_dir
                            rm -f xx
                            ln -s $html_ver_dir/html$1 xx
                   else
                            echo"Don't find the html version"
                   fi
         fi  
  结果展示:
# sh change_html.sh 1.2
# ll /server/www/
总用量 12
-rw-r--r-- 1 root root167 9月   1 13:55 html1.1.tar.gz
drwxr-xr-x 2 root root 4096 9月   1 13:54 html1.2
-rw-r--r-- 1 root root167 9月   1 13:55 html1.2.tar.gz
# sh change_html.sh 1.1
# ll /server/www/
总用量 12
drwxr-xr-x 2 root root 4096 9月   1 13:54 html1.1
-rw-r--r-- 1 root root167 9月   1 13:55 html1.1.tar.gz
-rw-r--r-- 1 root root167 9月   1 13:55 html1.2.tar.gz
  

  问题说明:

[*]  如果使用软链接访问网站报错,可参考http://szh11.blog.51cto.com/825676/1690446解决
[*]  后期可以和svn配合,开发将网站代表打包传到svn上,然后通过脚本实现自动更新网站版本
  




页: [1]
查看完整版本: apache自动更新站点内容脚本