標籤:
LNMP/LEMP項目搭建{ 項目架構 # Linux_____WEB_____PHP_____DB # rhel7_____apache__-(libphp5.so)-__php__-(php-mysql)-__mariadb-server # rhel7_____nginx___-(spawn-fcgi)-__php__-(php-mysql)-__mariadb-server 安裝軟體包 # WEB 程式 # CGI 管理器 @作用 (1)監聽9000連接埠 (2)調用Php命令 @軟體 spawn-fcgi # php 程式 php # 資料庫程式 mariadb-server # php-db驅動 php-mysql 配置nginx # /etc/nginx/conf.d/ 配置spawn-fcgi # /etc/sysconfig/spawn-fcgi 配置mariadb-server 建立資料檔案 # 成品的php網站 測試}
LNMP/LEMP項目搭建 實驗{[[email protected] ~]# mount 172.25.254.250:/content /mnt[[email protected] ~]# rpm -ivh /mnt/item/nginx/other/nginx-1.8.0-1.el7.ngx.x86_64.rpm[[email protected] ~]# rpm -ivh /mnt/item/nginx/epel/spawn-fcgi-1.6.3-5.el7.x86_64.rpm[[email protected] ~]# yum install -y php mariadb-server php-mysql[[email protected] ~]# cd /etc/nginx/conf.d/[[email protected] conf.d]# cp default.conf www.bbs.com.conf[[email protected] conf.d]# vim www.bbs.com.confserver { listen 80; server_name www.bbs.com; root /usr/share/nginx/bbs.com; index index.php index.html index.htm; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/bbs.com$fastcgi_script_name; include fastcgi_params; } }[[email protected] conf.d]# mkdir /usr/share/nginx/bbs.com[[email protected] conf.d]# systemctl restart nginx.service[[email protected] conf.d]# vim /etc/sysconfig/spawn-fcgiOPTIONS="-u nginx -g nginx -p 9000 -C 32 -F 1 -P /var/run/spawn-fcgi.pid -- /usr/bin/php-cgi"[[email protected] conf.d]# systemctl start spawn-fcgi[[email protected] conf.d]# /sbin/chkconfig spawn-fcgi on[[email protected] conf.d]# systemctl enable mariadb.service[[email protected] conf.d]# systemctl start mariadb.service[[email protected] conf.d]# mysqladmin -u root password "uplooking"[[email protected] php]# cp Discuz_X3.2_SC_UTF8.zip /tmp/[[email protected] php]# cd /tmp/[[email protected] tmp]# unzip Discuz_X3.2_SC_UTF8.zip[[email protected] tmp]# cp -r upload/* /usr/share/nginx/bbs.com/[[email protected] tmp]# chown nginx /usr/share/nginx/bbs.com/ -R[[email protected] ~]# echo 172.25.15.10 www.bbs.com >> /etc/hosts}
項目遷移{ 遷移優先順序 #資料庫>其他軟體 遷移的流程{ 1.程式的遷移 2.設定檔的遷移 3.資料檔案的備份與遷移 4.地址的修改 5.許可權的修改 }}LNMP項目遷移{ 遷移優先順序 #資料庫>php php-mysql spawn-fcgi 遷移的流程{ 1.程式的遷移 2.設定檔的遷移 3.資料檔案的備份與遷移 4.地址的修改 5.許可權的修改 } 資料庫遷移 php相關程式的遷移 }資料庫遷移{舊機器上的操作{ 1>備份資料檔案並拷貝至新機器 2>修改設定檔中的地址 (此處的設定檔不是資料庫設定檔,而是使用資料庫的程式的設定檔) }新機器上的操作{ 1>安裝程式並啟動服務 2>匯入舊機器上的資料檔案 3>修改程式的許可權 }}項目遷移實驗{ 1.資料庫遷移實驗 #實驗目的:隨著網站使用者的增多,資料量越來越大,資料庫需要擴容,現在想將資料庫單獨放在一台伺服器上來解決資料庫容量不足的問題 #實驗要求:將資料庫從serverb-->serverj 2.LNMP項目遷移實驗 #實驗目的:原本的LNMP服務所在的伺服器老化了,現在公司新買了兩台伺服器,要將LNMP服務遷移到新伺服器上;資料庫單獨放在一台伺服器上;php相關程式放在一台伺服器上 #實驗要求:資料庫serverb-->serverj;php相關程式serverb-->serverc 3.LNMP項目遷移並配置第二個php服務實驗 #實驗要求:原本的LNMP服務所在的伺服器老化了,現在公司新買了三台伺服器,要將LNMP服務遷移到新伺服器上;資料庫單獨放在一台伺服器上;還有兩台,配置兩個php服務}具體實驗請去實驗論壇資料庫遷移詳 實驗{#實驗目的:隨著網站使用者的增多,資料量越來越大,資料庫需要擴容,現在想將資料庫單獨放在一台伺服器上來解決資料庫容量不足的問題#實驗要求:將資料庫從serverb-->serverj#實驗步驟:========================================================================serverb{ #Database Backup mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql <--將資料庫檔案備份並匯出到/tmp/mariadb.all.sql檔案中 #複製到serveri中 scp /tmp/mariadb.all.sql serveri:/tmp #地址的修改<==在/usr/share/nginx/bbs.com/目錄中迴圈找到以.php結尾的檔案,在檔案中找到uplooking關鍵字的所在行,但是不輸出(-q),而是輸出該檔案的檔案名稱。此處uplooking是資料庫的密碼,請根據實際情況做修改。 cd /usr/share/nginx/bbs.com;for i in $(find ./ -name "*.php");do grep -q "uplooking" $i && echo $i;done vim xxx.php #將找到的檔案進行修改,將localhost改為資料庫所在的伺服器的ip地址 #define(‘UC_DBHOST‘, ‘localhost‘); }serverj{ #安裝mariadb-server 注意版本 安裝相同版本的資料包 yum install -y mariadb-server #開啟服務,並設定開機服務自啟 systemctl enable mariadb;systemctl start mariadb #查看資料庫檔案是否複製成功 ll /tmp/mariadb.all.sql #匯入資料庫檔案 mysql < /tmp/mariadb.all.sql #授權serverb的spawn-fcgi訪問資料庫 #1>授權ip地址 echo "grant all on bbs.* to [email protected]‘192.168.0.11‘ identified by ‘uplooking‘;" | mysql-u root -p uplooking #2>授權主機名稱 echo "grant all on bbs.* to [email protected]‘serverb.pod15.example.com‘ identified by ‘uplooking‘;" | mysql -uuroot -puplooking #更新授權表 mysqladmin -uroot -puplooking flush-privileges }--------------------------------------------------------------------------#測試serverb{ #關閉資料庫服務 systemctl stop mariadb}workstation{ #通過瀏覽器登陸www.bbs.com firefox}#問題和答案#-u root 不能有空格;-p uplooking 不能有空格 mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql#find搜尋*.php必須用雙引號 find ./ -name "*.php"#mysql登陸方式 mysql -uroot -puplooking mysql -u root -p 斷行符號 輸入密碼#*.*是指什麼目錄下的所有檔案呢? echo "grant all on *.* to [email protected]‘192.168.0.11‘ identifide by ‘uplooking‘;" | mysql -uroot -puplooking /var/lib/mysql }LNMP項目遷移實驗 {#實驗目的:原本的LNMP服務所在的伺服器老化了,現在公司新買了兩台伺服器,要將LNMP服務遷移到新伺服器上;資料庫單獨放在一台伺服器上;php相關程式放在一台伺服器上#實驗要求:資料庫serverb-->serverj;php相關程式serverb-->serverc#實驗步驟:===============================================================#第一步——資料庫遷移(serverb-->serverj)serverb{ #Database Backup mysqldump --all-databases -uroot -puplooking > /tmp/mariadb.all.sql <--將資料庫檔案備份並匯出到/tmp/mariadb.all.sql檔案中 #複製到serveri中 scp /tmp/mariadb.all.sql serveri:/tmp #地址的修改<==在/usr/share/nginx/bbs.com/目錄中迴圈找到以.php結尾的檔案,在檔案中找到uplooking關鍵字的所在行,但是不輸出(-q),而是輸出該檔案的檔案名稱。此處uplooking是資料庫的密碼,請根據實際情況做修改。 cd /usr/share/nginx/bbs.com;for i in $(find ./ -name "*.php");do grep -q "uplooking" $i && echo $i;done #將找到的檔案進行修改,修改server_name,為資料庫所在的伺服器的ip地址 vim xxx.php }serverj{ #安裝mariadb-server 注意版本 安裝相同版本的資料包 yum install -y mariadb-server #開啟服務,並設定開機服務自啟 systemctl enable mariadb;systemctl start mariadb #設定資料庫密碼 mysqladmin -u root password ‘uplooking‘ #查看資料庫檔案是否複製成功 ll /tmp/mariadb.all.sql #匯入資料庫檔案 mysql < /tmp/mariadb.all.sql #授權serverb的spawn-fcgi訪問資料庫 #1>授權ip地址 echo "grant all on *.* to [email protected]‘192.168.0.11‘ identified by ‘uplooking‘;" | mysql -uroot -puplooking #2>授權主機名稱 echo "grant all on *.* to [email protected]‘serverb.pod15.example.com‘ identified by ‘uplooking‘;" | mysql -uroot -puplooking #更新授權表 mysqladmin -uroot -puplooking flush-privileges } }---------------------------------------------------------------------------#第二步——php相關程式的遷移 (serverb-->serverc)serverb{ #操作資料(偷懶的做法,直接將檔案複製過去即可) scp /etc/sysconfig/spawn-fcgi serverc:/etc/sysconfig/spawn-fcgi #將serverb中的php相關檔案轉移到 serverc中 (需要相同的目錄,最好用tar命令打包複製到serverc中) tar -cjf bbs.tar.bz2 /usr/share/nginx/bbs.com; scp bbs.tar.bz2 serverc:/usr/share/nginx/bbs.com #地址修改 serverb 中的/etc/nginx/conf.d 目錄下設定檔中關於php的配置的php指向改為 serverc的地址 location ~ \.php$ { fastcgi_pass 127.0.0.1:9000;(改為servec的地址) fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/share/nginx/yeliangcheng.com$fastcgi_script_name; include fastcgi_params; } }serverc{ #遷移程式--安裝相同的軟體包 php php-mysql /mnt/item/nginx/epel/spawn-fcgi-1.6.3-5.el7.x86_64.rpm #啟動服務並設定開機自啟 systemctl start spawn-fcgi; /sbin/chkconfig spawn-fcgi on #php相關檔案 tar -jxf /usr/share/nginx/bbs.com/bbs.tar.bz2 }===================================================================================#測試serverb{ #關閉資料庫服務 systemctl stop mariadb #關閉spawn-fcgi服務 systemctl stop spawn-fcgi /sbin/chkconfig spawn-fcgi off }workstation{ #通過瀏覽器登陸www.bbs.com firefox }#問題和解決 }
零基礎學習雲端運算及大資料DBA叢集架構師【企業級營運技術及實踐項目2015年1月29日周五】