專案案例:部署社交網站(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服務(停止 svnserve用killall -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