社交网站部署——SVN服务器搭建并发布上线

案例概述

某公司的社交网站采用PHP语言开发,为了管理PHP程序员开发的代码,上级领导要求搭建SVN服务器进行版本控制。社交网站的第一个版本部署在LNMP平台之上,前端为Nginx服务器,通过fastcgi协议访问后端的PHP服务器。为了保证数据安全,要求搭建MySQL数据库主从集群。

社交网站项目包含用户的相册功能,允许用户上传照片,上传照片需要使用共享存储来存放。针对共享存储可用的开源方案有很多,如MFS、FastDFS 等。公司决定使用MFS分布式文件系统来实现,并将MFS挂载在PHP服务器的相关目录下。
社交网站部署——SVN服务器搭建并发布上线

案例实施

根据公司的需求,实施过程大致分为以下步骤。

  • 部署SVN服务器,为PHP程序员创建repo目录的访问账户,通知程序员可以导入代码。
  • 部署MySQL主从服务器,根据PHP程序员的要求创建数据库与表。
  • 部署Nginx服务器。部署PHP服务器。
  • 部署MFS,将MFS文件系统挂载在前端PHP服务器的相关目录下。
  • 通知上线部署人员可以发布上线。

部署SVN服务器

1、安装SVN服务
yum install subversion -y         //安装SVN

svnserve --version    //查版本
svnserve,版本 1.7.14 (r1542130)
   编译于 Apr 11 2018,02:40:28
   ......
2、为PHP程序员创建仓库目录repo
mkdir -p /opt/svn/repo            //创建目录
svnadmin create /opt/svn/repo/     //创建新仓库
3、调整SVN参数
vim /opt/svn/repo/conf/svnserve.conf      //调整SVN参数

[general]        //总体配置
anon-access = none      //匿名用户没有任何权限
auth-access = write         //认证用户具有写权限
password-db = /opt/svn/repo/conf/passwd             //用户的密码文件
authz-db = /opt/svn/repo/conf/authz        //用户信息文件
.....
4、启动SVN服务
svnserve -d -r /opt/svn/repo/            //启动SVN服务,关闭通过kill PID
netst at -ntap | grep svnserve
tcp        0      0 0.0.0.0:3690            0.0.0.0:*               LISTEN      3585/svnserve

systemctl stop firewalld.service 
setenforce 0         //关闭防火墙和安全功能

社交网站部署——SVN服务器搭建并发布上线

5、为PHP程序员alpha建立账户,配置仓库具有读写权限,并将账户信息及仓库目录信息反馈给PHP程序员
cd /opt/svn/repo
vim conf/passwd         //创建账户密码文件

[users]
alpha = 123123          //格式:用户名 = 用户密码
sysadmin = 123123

vim conf/authz          //创建权限文件

[/]
sysadmin = r
alpha = r

[/webphp]
sysadmin = r                 //运维工程师账户具有读权限,用于部署
alpha = rw                   //alpha用户对此目录具有读写权限

mkdir webphp
svn import webphp file:///opt/svn/repo/webphp -m "初始化目录".       //导入webphp

提交后的版本为 1。

社交网站部署——SVN服务器搭建并发布上线
社交网站部署——SVN服务器搭建并发布上线

发布上线

PHP程序员将代码导入webphp项目中。

通过SVN服务器的sysadmin账户部署代码至nginx服务器及PHP服务器,注意nginx和PHP服务器配置的服务目录分别是/usr/local/nginx/html/webphp和/var/www/html/webphp

nginx端部署代码
yum install -y svn       //安装svn

cd /usr/local/nginx/html/webphp      
svn co svn://192.168.43.230/webphp        //根据提示先输root密码再使用账户sysadmin登录,即可部署代码

取出版本 2。

ls      //当前目录下可查看到webphp文件夹

社交网站部署——SVN服务器搭建并发布上线
PHP服务器的部署方式与Nginx服务器类似

实验完成,可进行测试

也可以在宿主机上安装SVN的Windows客户端,然后导入代码

猜你喜欢

转载自blog.51cto.com/13641879/2151787
今日推荐