1. 程式人生 > >專案案例:部署社交網站(svn伺服器)全面過程

專案案例:部署社交網站(svn伺服器)全面過程

案例需求:社交網站採用PHP語言開發,為了管理開發程式碼,搭建SVN伺服器進行版本控制,社交網站的第一個版本部署在LNMP平臺上,前端為nginx伺服器,通過fastcgi協議訪問後端的PHP伺服器。這裡實現動靜分離,動態頁面交給PHP伺服器來處理,靜態頁面交給nginx伺服器來處理。

案例環境:

主機

作業系統

IP地址

主要軟體

功能

SVN伺服器

Centos7.4

192.168.80.181

www.aa.com

subversion

PHP伺服器建立repo目錄的訪問賬戶,通知PHP程式設計師可以匯入程式碼

Nginx伺服器

Centos7.4

192.168.80.182

www.ab.com

nginx-1.13.7.tar.gz

顯示網站的靜態頁面

PHP伺服器

Centos7.4

192.168.80.183

www.ac.com

php-7.1.10.tar.bz

顯示網站的動態頁面

實驗步驟:

-----1.部署SVN伺服器在181主機上,要公網環境-------

[[email protected] ~]# service firewalld stop

[[email protected] ~]# systemctl disable firewalld

[[email protected] ~]# setenforce 0

[[email protected] ~]# yum install -y subversion

[[email protected] ~]# svnserve --version        //檢視版本

[[email protected] ~]# mkdir -p /opt/svn/repo

[[email protected] ~]# svnadmin create /opt/svn/repo/   //php程式設計師建立倉庫目錄repo(用於統一儲存開發資料)

[[email protected] ~]# ls /opt/svn/repo/


如上圖,當建立新倉庫後,之前建立的/opt/svn/repo目錄裡就會多了一些目錄及檔案。

注:conf ——使用者認證和許可權配置檔案

dd ——版本控制資訊產生的資料

format ——當前程式碼庫賬號資料

----------調整SVN引數-------------

[[email protected] ~]# cd /opt/svn/repo/

 

[[email protected] repo]# vi conf/svnserve.conf      //修改以下幾行

19 anon-access = none                       //匿名使用者沒有任何許可權

20 auth-access = write                       //認證使用者有寫許可權

27 password-db = /opt/svn/repo/conf/passwd   //使用者的密碼檔案

34 authz-db = /opt/svn/repo/conf/authz       //使用者的資訊檔案

[[email protected] repo]# svnserve -d -r /opt/svn/repo/    //啟動SVN服務(停止 svnservekillall -9  svnserve )

[[email protected] repo]# netstat -anptu | grep svnserve  //3690埠監聽

 

[[email protected] repo]# vi conf/passwd       //建立賬戶密碼檔案

alpha = alphapass           //格式:使用者名稱=使用者密碼,這裡為php程式設計師alpha建立使用者

sysadmin = sysadminpass

[[email protected] repo]# vi conf/authz        //建立許可權檔案,新增以下內容

[/]

sysadmin = r

alpha = r

[/webphp]

sysadmin = r    //運維工程師賬戶具有讀許可權,用於部署

alpha = rw      //alpha使用者對此目錄有讀寫許可權

[[email protected] repo]# mkdir webphp          //建立使用者儲存開發資料的子目錄webphp

[[email protected] repo]# svn import webphp file:///opt/svn/repo/webphp/ -m "init web"   //初始化svn目錄

 

可以在宿主機上安裝SVN的Windows客戶端,然後匯入程式碼

svn co svn://192.168.80.181/webphp

 

---------以下內容為擴充套件-------------------

在win7上安裝svn客戶端軟體:

 

輸入svn伺服器地址:

 

 

在win7上用記事本寫一個網頁檔案test.html

 

然後把test.html和fruit.jpg檔案拖到webphp資料夾中

 

在nginx伺服器上進行同步:

[[email protected] ~]# cd /usr/local/nginx/html/

[[email protected] html]# yum install -y subversion-1.7.14-10.el7.x86_64

[[email protected] html]# svn co svn://192.168.80.181/webphp

 

 

在php伺服器上進行同步:

[[email protected] ~]# cd /var/www/html/

[[email protected] html]# yum install -y subversion-1.7.14-10.el7.x86_64

[[email protected] html]# svn co svn://192.168.80.181/webphp

 

瀏覽器訪問:http://192.168.80.182/test.html

 

注意:網站開發人員修改網頁一般在Windows上操作,修改完成後通過SVN伺服器上傳nginx和PHP。

---------擴充套件內容結束-------------

-----2.部署nginx伺服器在182主機上,要公網環境-------

[[email protected] ~]# service firewalld stop

[[email protected] ~]# systemctl disable firewalld

[[email protected] ~]# setenforce 0

[[email protected] ~]# yum -y install \

pcre-devel \

zlib-devel

[[email protected] ~]# useradd -M -s /sbin/nologin nginx

[[email protected] ~]# tar xzvf nginx-1.13.7.tar.gz -C /usr/src/

[[email protected] ~]# cd /usr/src/nginx-1.13.7

[[email protected] ~]# ./configure \

--prefix=/usr/local/nginx \

--user=nginx \

--group=nginx \

--with-http_stub_status_module

[[email protected] ~]# make && make install

[[email protected] ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

[[email protected] ~]# nginx -t               //配置檔案語法檢查

[[email protected] ~]# nginx                //啟動服務

[[email protected] ~]# killall -1 nginx         //安全重啟

[[email protected] ~]# killall -3 nginx         //停止服務

[[email protected] ~]# vi /etc/init.d/nginx

#!/bin/bash

# chkconfig: 35 99 20

# description: Nginx Service Control Script

PROG="/usr/local/nginx/sbin/nginx"

PIDF="/usr/local/nginx/logs/nginx.pid"

case "$1" in

  start)

    $PROG

    ;;

  stop)

    kill -s QUIT $(cat $PIDF)

    ;;

  restart)

    $0 stop

    $0 start

    ;;

  reload)

    kill -s HUP $(cat $PIDF)

    ;;

  *)

        echo "Usage: $0 {start|stop|restart|reload}"

        exit 1

esac

exit 0

[[email protected] ~]# chmod +x /etc/init.d/nginx

[[email protected] ~]# chkconfig --add nginx

[[email protected] ~]# vi /usr/local/nginx/conf/nginx.conf   //配置後端php程式的fastcgi訪問介面

user  nginx nginx;

worker_processes  1;

events {

    worker_connections  1024;

}

http {

    include       mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        listen       80;

        server_name  localhost;

        location / {

            root   html/webphp;

            index  index.html index.htm;

        }

        error_page   500 502 503 504  /50x.html;

        location = /50x.html {

            root   html;

        }

        location ~ \.php$ {              //動態請求給PHP伺服器183

            root           /var/www/html/webphp;

            fastcgi_pass   192.168.80.183:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME  /var/www/html/webphp$fastcgi_script_name;

            include        fastcgi_params;

        }

    }

}

--------編寫一個靜態頁面用於測試---------

[[email protected] ~]# mkdir -p /usr/local/nginx/html/webphp

[[email protected] ~]# vi /usr/local/nginx/html/webphp/index.html

hello! this is nginx provides static pages!

瀏覽器訪問靜態頁面http://192.168.80.182/index.html

 

-----3.部署PHP伺服器在183主機上,要公網環境-------

[[email protected] ~]# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel curl curl-devel openssl openssl-devel

[[email protected] ~]# tar xjvf php-7.1.10.tar.bz2

[[email protected] ~]# cd php-7.1.10

[[email protected] ~]# ./configure \

--prefix=/usr/local/php \

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--enable-fpm \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-mbstring \

--enable-xml \

--enable-session \

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

[[email protected] ~]# make && make install

[[email protected] ~]# cp php.ini-development /usr/local/php/lib/php.ini

[[email protected] ~]# vi /usr/local/php/lib/php.ini

mysqli.default_socket = /usr/local/mysql/mysql.sock

date.timezone = Asia/Shanghai

[[email protected] ~]# /usr/local/php/bin/php -m                 //驗證安裝的模組

-----------配置及優化FPM模組--------

[[email protected] ~]# cd /usr/local/php/etc/

[[email protected] ~]# cp  php-fpm.conf.default php-fpm.conf

[[email protected] ~]# cd /usr/local/php/etc/php-fpm.d/

[[email protected] ~]# cp www.conf.default www.conf

[[email protected] ~]# vi www.conf

192.168.80.183:9000

[[email protected] ~]# cd /usr/local/php/etc/

[[email protected] ~]# vi php-fpm.conf

pid = run/php-fpm.pid

[[email protected] ~]# /usr/local/php/sbin/php-fpm -c /usr/local/php/etc/php.ini   //啟動php-fpm模組

[[email protected] ~]# netstat -anpt | grep 9000

 

[[email protected] ~]# ln -s /usr/local/php/bin/* /usr/local/bin/

[[email protected] ~]# ps aux | grep -c "php-fpm"  //結果

 

-------編寫一個動態頁面用於測試---------

[[email protected] ~]# mkdir -p /var/www/html/webphp

[[email protected] ~]# vi /var/www/html/webphp/index.php

<?php

phpinfo();

?>

在瀏覽器裡輸入nginx伺服器的IP 可以訪問動態PHP頁面

http://192.168.80.182/index.php

 

說明靜態網頁有nginx伺服器處理,動態網頁由php伺服器處理,實現了動靜分離。

4.部署MYSQL資料庫

PHP程式設計師需求在MySQL主伺服器上新建一個數據庫,並使建立PHP程式的使用者對資料庫有讀寫許可權


相關推薦

專案案例部署社交網站svn伺服器全面過程

案例需求:社交網站採用PHP語言開發,為了管理開發程式碼,搭建SVN伺服器進行版本控制,社交網站的第一個版本部署在LNMP平臺上,前端為nginx伺服器,通過fastcgi協議訪問後端的PHP伺服器。這裡實現動靜分離,動態頁面交給PHP伺服器來處理,靜態頁面交給nginx伺服

項目案例部署社交網站

動靜網站部署svnnaginx前言:本次項目是搭建一套動態網站服務器平臺,在上面運行社交網站(例如:人人網,開心網,天涯論壇)。相關知識點在前面的課程中都有所涉及,今天的實驗就是一個綜合運用,體現了真實的項目實施流程和思路。本次實驗有一個新的知識點,就是SVN服務器,SVN服務器可以統一存儲程序員開發的代碼,

部署社交網站SVN+PHP+NGINX+MYSQL+MFS

word dir ESS 目錄 支持php create make 控制 vpd 案例需求:社交網站采用PHP語言開發,為了管理開發代碼,搭建SVN服務器進行版本控制,社交網站的第一個版本部署在LNMP平臺上,前端為nginx服務器,通過fastcgi協議訪問後端的PHP服

一篇博客讓你學會部署社交網站 SVN+nginx+PHP+MySQL+MFS 內含所有源碼包

con 從服務器 etc ini support php 添加 php程序員 type 根據公司要求,實施過程大致如下:1 部署SVN服務器,為PHP程序員創建repo目錄的訪問賬戶,通知程序員可以導入代碼2 部署nginx服務器3 部署PHP服務器4 部署MySQL主從服

部署社交網站步驟超詳細

php inf ext add dcm 沒有 lin nologin 部署svn 實驗具體任務要求:1:部署SVN服務器為PHP程序員創建repo目錄的訪問賬戶,通知程序員可以導入代碼2:部署MySQL主從服務器,根據PHP程序員要求創建數據庫與表3:部署Nginx服務器4

專案Kaggle房價預測前篇

概述 Kaggle房價預測比賽(高階技能篇) notebook的背景是kaggle房價預測比賽高階迴歸技能篇 背景搬運如下: 這個notebook主要是通過資料探索和資料視覺化來實現。 我們把這個過程叫做EDA((Exploratory Data Analysi

經典案例利用表單models.Model寫一個登入註冊小例項

1、models.py檔案: from django.db import models class User(models.Model): username = models.CharField(max_length=100) password = mode

Nginx配置SSL證書部署HTTPS網站頒發證書

自行頒發不受瀏覽器信任的SSL證書 手動頒發 xshell登入伺服器,使用openssl生成RSA金鑰及證書 # 生成一個RSA金鑰 $ openssl genrsa -des3 -out tfjybj.key 1024 # 拷貝一個不需要輸入密碼的金

CocoaPods私有倉庫的建立與使用svn伺服器

       眾所周知,CocoPods是iOS一個非常好用的依賴管理工具,可以使用它很好的管理和更新第三方庫,在公司的開發過程中,公司內部也嚐嚐有可以不同專案複用的功能模組,公司希望可以使用Coco

Ambari安裝之部署本地庫映象伺服器

部署本地庫(映象伺服器)   (1)下載HortWorks官網上的3個庫到本地(也可以線上下載,但是速度會很慢)   我們先把hortworks官網上需要下載的3個庫下載到本地(這個還是需要很長時間的,當然你也可以線上下載,通過wget但是由於檔案比較大,所以下載會非常慢)然後把他上傳到我們的映象伺服

阿里雲伺服器部署應用環境nginx伺服器

阿里雲伺服器的配置 1、開啟阿里雲官網,登入上自己的賬號,點選控制檯 2、點選左側的雲伺服器ECS 3、點選例項 4、選擇您所購買的伺服器的區域,選擇你要配置的伺服器,點選遠端連線。 5、輸入管理終端密碼。(如果是第一次登入,系統會告訴你初始密碼) 6、登入雲伺服

使用Navicat或者其他資料庫工具連線阿里雲EDS資料庫伺服器例項過程詳解

使用Navicat或者其他資料庫工具連線阿里雲EDS(資料庫伺服器)例項過程詳解 背景:這幾天從阿里雲上面購買了雲伺服器,最垃圾的那種,還送oss和EDS資料庫伺服器,只不過EDS資料庫伺服器只有一個月的,就主動升級為一年的,49還是59忘了。對於配置這種EDS過程中,產生的一個念頭就是:大廠就是大廠,考慮

部署社交網站全過程Nginx+PHP+Mysql+MFS+SVN

php程序 要求 tex 需要 nor mkdir -p bison 首頁 fastcgi 案列概述 公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺上,前端為Nginx,通

部署社交網站-SVN 與 LNMP架構

lin 要求 master 決定 主服務器 通過 install windows 啟動svn 案例概述 公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺之上,前端為 Nginx

搭建SVN部署社交網站

復制 authz lib access black 空間 nmp list develop 概述: 社交網站的第一個版本部署在LNMP平臺之上,前段為Nginx服務器,通過fastcgi協議訪問後端的PHP服務器。為了保證數據安全,要求搭建MySQL數據庫主從集群。 項目介

mapReduce網站日誌分析專案案例資料清洗

一、資料情況分析 1.1 資料情況回顧   該論壇資料有兩部分:   (1)歷史資料約56GB,統計到2012-05-29。這也說明,在2012-05-29之前,日誌檔案都在一個檔案裡邊,採用了追加寫入的方式。   (2)自2013-05-30起,每天生成一個數據檔案

部署社交網站

部署社交網站項目案例:部署社交網站前言:本次項目是搭建一套動態網站服務器平臺,在上面運行社交網站(例如:人人網,開心網,天涯論壇)。相關知識點在前面的課程中都有所涉及,今天的實驗就是一個綜合運用,體現了真實的項目實施流程和思路。本次實驗有一個新的知識點,就是SVN服務器,SVN服務器可以統一存儲程序員開發的代

案例部署kvm虛擬化平臺

穩定性 似的 png adc tex 需要 tom 但是 管理esxi 案例概述 ----------公司部分Linux服務器利用率不高,為充分利用這些Linux服務器,可以部署KVM,在物理機上運行多個業務系統在運行Nginx的服務器上部署KVM,然後在虛擬機上運行Tom

centos7上部署社交網站之MYSQL主從服務

config 本地 ORC file pre ble ncurses libaio tor 部署MYSQL主從服務器,根據php程序員的要求創建數據庫與表。 實驗要求 主:192.168.43.229 從:192.168.43.198 主Master 開啟時間同步 #

部署社交網站- MYSQL主從 與 MFS 文件系統

相關 creat enable format port .so create path lib 案例概述 公司的社交網站采用PHP語言開發,為了管理PHP程序員開發的代碼,上級領導要求搭建SVN服務器進行版本控制。社交網站的第一個版本部署在LNMP平臺之上,前端為 Ngin