Centos 6让SVN提交文件自动更新到nginx的WEB目录

简介:

最近我在centos 6的系统中安装了subversion 的 svn 服务器。同时也安装了 nginx WEB服务器。现在我想让 svn 提交的文件自动更新到nginx所指定的web目录中。这样一来,我就不需要提交之后,再通过FTP将文件上传到nginx的web目录,再通过浏览器去访问这个web目录里面的脚本。所以,就有了本篇文章纪实。

环境介绍:
1)系统centos 6.3 64位。
2)服务器端SVN版本 1.6.11。
3)WEB服务器nginx版本 0.8.46。
4)nginx的WEB目录:/data0/htdocs/wwwroot
5)svn仓库中心目录:/opt/svn/

配置步骤如下:
1、在svn仓库中心下创建一个创建wwwroot,shell命令如下:

svnadmin create /opt/svn/wwwroot/

2、配置wwwroot创建,shell命令如下:

cd /opt/svn/wwwroot/conf/vim svnserve.conf

找到以下的内容,并在行首注释符号#删掉。

[general]anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

为 svntest 项目增加svn用户,并且赋予权限值:

vi authz

在文件中添加如下代码:

[wwwroot:/]wwwroot = rw

代码的意思是:为 wwwroot 项目添加一个wwwroot 的用户,并且,这个用户对于 wwwroot 项目拥有读写权限。

给用户分配密码,执行如下命令:

vi passwd

输入如下内容:

wwwroot =123456

配置好SVN之后,请查看你的 svn 是否启动,如果没有启动,用以下命令启动:

svnserve -d -r /opt/svn/

3、配置项目仓库的钩子配置。
可以把钩子看成是WEB项目与SVN项目仓库之间的一个关联。通过向svn项目仓库提交脚本代码,利用钩子shell脚本可以自动向web项目中将脚本文件更新过去。

进入SVN项目仓库钩子所在目录,shell命令:

cd /opt/svn/wwwroot/hooks/

然后执行如下复制命令:

cp post-commit.tmpl post-commit

然后编辑post-commitshell脚本,shell命令如下:

vi post-commit

将里面的所有代码注释掉,然后输入如下代码:

cd /data0/htdocs/wwwroot
/usr/bin/svn cleanup
/usr/bin/svn up /data0/htdocs/wwwroot/--username "wwwroot"--password "123456"

这个地方需要注意,我们先进入到wwwroot目录下进行SVN清理(cleanup),消除一些隐患。然后再执行将 svn wwwroot项目创建里面的代码同步更新到web项目目录/data0/htdocs/wwwroot/中去。这里的账号wwwroot和密码123456是我们创建SVN wwwroot项目仓库的时候指定的。

这个时候,我们去提交一个文件到svn,这时会发现在/data0/htdocs/wwwroot/目录下同步更新过来了。

如果没有反应,会有两个地方可能出错:
1)配置文件与路径写得不对,可以直接通过手工方式去执行post-commit看看有没有报错。
2)权限不对。即/data0/htdocs/wwwroot权限是否足以满足脚本的读写。




     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1839099,如需转载请自行联系原作者



相关文章
|
1月前
|
网络协议 Shell 网络安全
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
实验目的1.编译安装httpd2.优化路径3.并将鲜花网站上传到web服务器为网页目录4.在客户机访问网站http://www.bdqn.com
164 0
|
1月前
|
Linux 应用服务中间件 nginx
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
【PUSDN】centos查看日志文件内容,包含某个关键字的前后5行日志内容,centos查看日志的几种方法
49 0
|
1月前
|
前端开发 应用服务中间件 nginx
使用Docker快速搭建Web服务器Nginx
本文指导如何使用Docker快速搭建Nginx服务器。首先,通过`docker pull`命令获取Nginx镜像,然后以容器形式运行Nginx并映射端口。通过挂载目录实现本地文件与容器共享,便于自定义网页。使用`docker ps`检查运行状态,访问IP:8088确认部署成功。最后,介绍了停止、删除Nginx容器的命令,强调Docker简化了服务器部署和管理。
50 0
|
2月前
|
Java Shell Linux
解决 centos下执行sh文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
解决 centos下执行sh文件报错“/bin/bash^M: 坏的解释器:没有那个文件或目录” 问题
|
17天前
|
网络协议 Linux 网络安全
centos7下最简单的 unison实现文件双向同步图文详解
centos7下最简单的 unison实现文件双向同步图文详解
12 0
|
1月前
|
弹性计算 算法 应用服务中间件
倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践
倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。
|
1月前
|
SQL JSON 应用服务中间件
web后端-win-phpMySql-nginx-web发布
web后端-win-phpMySql-nginx-web发布
|
1月前
|
应用服务中间件 Linux nginx
web后端-linux-nginx-1.18操作命令和部署
web后端-linux-nginx-1.18操作命令和部署
|
1月前
|
安全 应用服务中间件 nginx
|
2月前
|
负载均衡 JavaScript 应用服务中间件
强大的WEB服务器-Nginx
强大的WEB服务器-Nginx
30 0

热门文章

最新文章