社交網站部署——SVN服務器搭建並發布上線
阿新 • • 發佈:2018-07-29
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服務器搭建並發布上線