1. 程式人生 > >社交網站部署——SVN服務器搭建並發布上線

社交網站部署——SVN服務器搭建並發布上線

ets 查看 oot 發的 svn服務 sad gre 用戶 服務器搭建

案例概述

某公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺之上,前端為Nginx服務器,通過fastcgi協議訪問後端的PHP服務器。為了保證數據安全,要求搭建MySQL數據庫主從集群。

社交網站項目包含用戶的相冊功能,允許用戶上傳照片,上傳照片需要使用共享存儲來存放。針對共享存儲可用的開源方案有很多,如MFS、FastDFS 等。公司決定使用MFS分布式文件系統來實現,並將MFS掛載在PHP服務器的相關目錄下。
技術分享圖片

案例實施

根據公司的需求,實施過程大致分為以下步驟。

  • 部署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         //關閉防火墻和安全功能

技術分享圖片

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。

技術分享圖片
技術分享圖片

發布上線

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文件夾

技術分享圖片
PHP服務器的部署方式與Nginx服務器類似

實驗完成,可進行測試

也可以在宿主機上安裝SVN的Windows客戶端,然後導入代碼

社交網站部署——SVN服務器搭建並發布上線