• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
百分百
http://www.qrw100.com
博客园    首页    新随笔    联系   管理    订阅  订阅

linux下nginx+svn

因为没有什么可以定制的, 所以svn直接使用系统自带的包管理软件安装, 以centos系列为例, 命令如下:
yum install subversion

然后是nginx的安装:
mkdir -p /opt/soft
groupadd web
useradd http -g web -s /sbin/nologin
cd /opt/soft
wget http://sourceforge.net/projects/pcre/files/pcre/8.12/pcre-8.12.tar.gz
wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
tar zxvf pcre-8.12.tar.gz
tar zxvf openssl-1.0.0d.tar.gz
tar zxvf nginx-0.8.54.tar.gz
cd nginx-0.8.54
./configure --prefix=/opt/nginx --user=http --group=web --with-http_stub_status_module --with-http_ssl_module --with-md5=/usr/lib/ --with-pcre=/opt/soft/pcre-8.12 --with-openssl=/opt/soft/openssl-1.0.0d
make
make install


root 指定到/data/wwwroot
vi /opt/nginx/conf/nginx.conf
...

创建svn仓库:
svnadmin create /data/svn

修改配置文件:
vi /data/svn/conf/authz
[groups]
admin=test #admin组里的成员
[/]
test = rw #成员对/目录的权限: r读,w写
vi /data/svn/conf/passwd
[users]
test = 123456 #用户test的密码
vi /data/svn/conf/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository

启动svnserv
svnserve -d -r /data/svn
也可以使用--listen-port参数指定端口,启动多个仓库

导入项目,假如项目目录为svn://host/test

创建svn仓库副本(nginx的读取目录)
cd /data/wwwroot
svn co svn://localhost/test --username test --password 123456

设置svn更新后自动更新nginx的读取目录:
vi /data/svn/hooks/post-commit
#!/bin/sh
svn up /opt/www/test/ --username "lyf" --password "123456"
chown -R http:web /opt/www #这一步或许可以滤过

给脚本增加可执行权限
chmod +x /data/svn/hooks/post-commit

大功告成, 现在可以测试一下了,svn更新后nginx读取到的内容(访问http)也随之变化, 是不是比apache还有简单?

posted @ 2011-12-14 17:30  爱尚美  阅读(2065)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3