nginx将svn请求转发到apache实现svn http请求

news/2024/7/8 13:30:19

需要安装apache libapache2-svn模块nginxsvn。安装过程略过。

记录比较重要几点(不按先后):

  1. 安装apache的svn模块

       sudo apt-get install libapache2-svn 

    apahce的svn模块,通过他实现svn权限等问题。

       
       apt-get install apache2-utils

    如果想通过htpasswd来给svn加(修改重置)密码,就安装apache2-utils

       
       eg:
       htpasswd /home/svn/work/conf/passwd tb
       New password: 
       Re-type new password: 
       Updating password for user tb
    
  2. nginx监听转发给apache请求:

    nginx 监听请求转发到apache的86端口(因为不能同时占用80)

    vim /etc/nginx/conf.d

    server{

       listen 80;
       server_name svn.tb.com;
       location /svn/work {
           proxy_pass http://127.0.0.1:86/svn/work;
       }
           

    }

     通过上述代码实现请求http://svn.tb.com/svn/work/时的正确响应。
     (请求此网址是nginx响应,对应下面apache响应)
    
  3. 设置apache监听端口为86,尽量最小化安装,减少内存。具体可看末尾视频。
    //apache 的ports.conf ,监听86端口
    Listen 86

  4. 初始化svn根目录
    eg:
    /home/svn/work是通过sudo svnadmin create建立的目录
    创建成功后目录如下:
    drwxr-xr-x 2 root root 4096 1月 15 10:52 conf
    drwxr-sr-x 6 root root 4096 1月 15 14:52 db
    -r--r--r-- 1 root root 2 1月 15 10:50 format
    drwxr-xr-x 2 root root 4096 1月 15 10:50 hooks
    drwxr-xr-x 2 root root 4096 1月 15 10:50 locks
    -rw-r--r-- 1 root root 246 1月 15 10:50 README.txt

  5. apache配置设置-perfork

     apache2.conf添加,第一份是优化(具体参考末尾视频)
     第二份是访问监听类似http://192.168.92.247:86/svn/work/的请求,
     (此网址请求为apache响应请求,对应上面nginx请求)
       <IfModule mpm_prefork_module>
               StartServers        1
               MinSpareServers      1
               MaxSpareServers      1
               MaxClients          10
               MaxRequestsPerChild  0
       </IfModule>
           
       <Location /svn/work>
           DAV svn
           SVNPath /home/svn/work
           AuthType Basic
           AuthName "Authorization Realm"
           AuthUserFile /home/svn/work/conf/passwd
           AuthzSVNAccessFile /home/svn/work/conf/authz
           Require valid-user
       </Location>
    
  6. 关于svn的一些设置,比较重要的是设置权限(可参考末尾链接)

    启动&检测
    svnserve -d //后台启动
    netstat -antp |grep svnserve或者 ps -A |grep "svn" //检测是否启动

    将线上代码(未版本化的文件)初始化到版本库中
    sudo svn import /usr/share/nginx/html file:///home/svn/work -m "init"

    [sudo] password for tb250:
    正在增加 /usr/share/nginx/html/50x.html
    正在增加 /usr/share/nginx/html/index.html
    正在增加 /usr/share/nginx/html/info.php
    正在增加 /usr/share/nginx/html/mail.php

    提交后的版本为 1。

    从版本库中checkout一份代码 svn_code
    sudo svn checkout file:///home/svn/work /home/tb250/svn_code

    从版本库中再checkout另外一份代码 svn_code_2
    sudo svn checkout file:///home/svn/work /home/tb250/svn_code_2

    添加 svn add xx.php

    svn status (简写 svn st)
    A xx.php

    svn commit -m 'add xx.php'(简写 svn ci)

    更新到最新版本
    svn update 简写 svn up

    更新到某个版本
    svn update -r numerversion

    查看添加日志
    svn log


写在最后:个人整理。不足之处请各位指点

svn常用指令参考
nginx+svn+apache视频
svn权限设置


http://www.niftyadmin.cn/n/1974366.html

相关文章

树形结构的遍历过程全遍历

前言 树形结构是项目开发中常常用到的一种结构&#xff0c;也是一种经典的数据结构&#xff0c;比如说常见的二叉树&#xff0c;红黑树等&#xff0c;今天要说的不是基础的数据结构&#xff0c;是业务中用到的树形数据结构。 正文 先来看看业务是什么吧&#xff01; 业务 如…

2014-11-6Android学习------Android图像处理之Bitmap类

Bitmap是Android系统中的图像处理的最重要类之一。用它可以获取图像文件信息&#xff0c;进行图像剪切、旋转、缩放等操作&#xff0c;并可以指定格式保存图像文件。本文从应用的角度&#xff0c;着重介绍怎么用Bitmap来实现这些功能。 一、Bitmap的生成 1.1 BitmapFactory dec…

Android如何绘制视图,解释了为何onMeasure有时要调用多次

2019独角兽企业重金招聘Python工程师标准>>> 原文地址&#xff1a;How Android Draws Views 当Activity获取焦点的时候&#xff0c;它就需要绘制布局。Android框架会处理绘制过程&#xff0c;但这个Activity必须提供它布局树的根节点。 绘制过程是从布局的根节点开始…

安利一个画图的网站

前言 大家画流程图&#xff0c;架构图都用什么呢&#xff1f;之前画图用的不同的软件安装到电脑上&#xff0c;比如微软的Visio 画甘特图各种图也都能画&#xff0c;但是不免费不香。然后有用了ProcessOn这个也是挺好用的&#xff0c;就是免费的图有点少&#xff0c;后来通过多…

2014-11-6Android学习------Android Paint和Color类、Canvas类的常用属性

要绘图&#xff0c;首先得调整画笔&#xff0c;待画笔调整好之后&#xff0c;再将图像绘制到画布上&#xff0c;这样才可以显示在手机屏幕上。 graphics中包括了Canvas&#xff08;画布&#xff09;、Paint&#xff08;画笔&#xff09;、Color&#xff08;颜色&#xff09;、B…

14.4.9 Innodb通用表空间

2019独角兽企业重金招聘Python工程师标准>>> 一. 通用表空间简介 通用表空间是innodb表空间新类型&#xff0c;5.7.6引入 通用表空间提供以下功能&#xff1a; 类似系统表空间&#xff0c;是共享表空间&#xff0c;能存储多个表的数据相比独立表空间&#xff0c;通用…

前端时间格式的转换

前言 有没有遇到过写前端页面渲染数据的时候发现后端接口给的格式不能直接拿过来渲染&#xff0c;这个时候怎么办呢&#xff1f;找写接口的小伙伴探讨一下&#xff0c;让他改接口&#xff0c;当然是一种办法&#xff0c;但是作为一个团队就是不管前端给我什么我都能渲染成我想…

2014-11-6Android学习------Android画笔实现画曲线--------贝塞尔曲线(二)

写一篇文章很辛苦啊&#xff01;&#xff01;&#xff01; 转载请注明&#xff0c;联系请邮件nlp30508qq.com 我学习Android都是结合源代码去学习&#xff0c;这样比较直观&#xff0c;非常清楚的看清效果&#xff0c;觉得很好&#xff0c;今天的学习源码是网上找的源码 百度搜…