1.使前端web服務和後端存儲服務進行串聯php
2.主要實現處理php動態請求html
工做原理:前端
L:linux N:nginx M:mysql P:phpmysql
個人環境:centos6.9+nginx+mysql5.6+php5 文件存儲系統NFSlinux
基礎優化操做要完成(防火牆關閉,關閉selinuxn 將/tmp目錄權限設爲1777)nginx
這裏暫時忽略...................web
三種安裝方式:yum部署,源碼編譯安裝,二進制包安裝sql
本次介紹下二進制安裝方法:數據庫
第一個里程:下載並解壓mysql安裝包vim
mysql官方下載連接地址:ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/
上傳mysql軟件程序,進行利用xftp軟件進行上傳
tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.34-linux-glibc2.5-x86_64 /application/mysql-5.6.34 (個人安裝目錄爲/application/mysql 你隨意)
第二里程: 建立程序軟連接
ln -sf /application/mysql-5.6.34/ /application/mysql
第三里程:建立數據庫管理用戶,並受權給數據目錄
useradd -s mysql /sbin/nologin -M
chown -R mysql.mysql /application/mysql/data/
第四個里程:對數據庫服務進行初始化
/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql
第五個里程:啓動mysql服務
cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld sed -ri 's#/usr/local#/application#g' /etc/init.d/mysqld /application/mysql/bin/mysqld_safe (將默認的路徑改爲你本身安裝目錄) cp /application/mysql/support-files/my-default.cnf /etc/my.cnf /etc/init.d/mysqld start
第六個里程:設置數據庫root用戶登陸密碼
/application/mysql/bin/mysqladmin -uroot password "密碼=="
/application/mysql/bin/mysql -uroot -poldboy123 (嫌難敲本身設置軟連接)
第一里程:解決PHP軟件的依賴關係
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libiconv軟件安裝---字符集轉換庫(默承認以不進行安裝了) cd /server/tools #wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz tar zxf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/libiconv make && make install 若是用yum安裝的話,注意更新下yum源 #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo yum -y install libmcrypt-devel mhash mcrypt rpm -qa libmcrypt-devel mhash mcrypt
第二個里程:下載解壓PHP軟件
php官方網站下載:php.net cd /server/tools/ tar xf php-5.5.32.tar.gz cd php-5.5.32 ./configure \ --prefix=/application/php-5.5.32 \ --with-mysql=/application/mysql-5.6.34 \ --with-pdo-mysql=mysqlnd \ --with-iconv-dir=/usr/local/libiconv \ --with-freetype-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib \ --with-libxml-dir=/usr \ --enable-xml \ --disable-rpath \ --enable-bcmath \ --enable-shmop \ --enable-sysvsem \ --enable-inline-optimization \ --with-curl \ --enable-mbregex \ --enable-fpm \ --enable-mbstring \ --with-mcrypt \ --with-gd \ --enable-gd-native-ttf \ --with-openssl \ --with-mhash \ --enable-pcntl \ --enable-sockets \ --with-xmlrpc \ --enable-soap \ --enable-short-tags \ --enable-static \ --with-xsl \ --with-fpm-user=www \ --with-fpm-group=www \ --enable-ftp \ --enable-opcache=no ##爲了防錯(配置下如下信息) ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/ touch ext/phar/phar.phar #編譯安裝 make && make install ln -s /application/php-5.5.32/ /application/php
第三個里程:設置PHP程序配置文件
php.ini php-fpm.ini cp php.ini-production /application/php-5.5.32/lib/ cd /application/php/etc/ cp php-fpm.conf.default php-fpm.con
第四個里程:啓動php程序服務
/application/php/sbin/php-fpm
netstat -lntup|grep php
編寫.php文件
<?php //$link_id=mysql_connect('主機名','用戶','密碼'); //mysql -u用戶 -p密碼 -h 主機 $link_id=mysql_connect('localhost','root','oldboy123') or mysql_error(); if($link_id){ echo "mysql successful by oldboy !\n"; }else{ echo mysql_error(); } ?>
編寫nginx配置文件 nginx.conf
nginx與php結合:編寫nginx配置文件的location location ~* .*\.(php|php5)?$ { fastcgi_pass 127.0.0.1:9000; #php服務默認9000端口 fastcgi_index index.php; include fastcgi.conf; }
第一個里程:下載與上傳網站代碼
第二個里程:解壓程序代碼,將程序代碼保存到nginx站點目錄並進行受權
例如:
tar xf wordpress-4.7.3-zh_CN.tar.gz mv wordpress/* /application/nginx/html/blog/ chown -R www.www /application/nginx/html/blog/
第三個里程:直接訪問網站,進行初始化操做
建立數據庫:
create database
建立鏈接數據用戶信息
grant all on wordpress.* to '用戶名'@'localhost' identified by '密碼'; select user,host from mysql.user;
在企業生產環境中咱們最後須要將數據遷移至後端的存儲服務器中,實現動靜態資源的分離
這裏簡單的介紹哈!!!
遷移數據庫:利用數據庫備份命令(mysql mysqladmin mysqldump)
1) 備份數據庫數據庫信息
例如: mysqldump -uroot -p密碼 --all-databases >/tmp/bak.sql ll /tmp/bak.sql -h scp /tmp/bak.sql 172.16.1.51:/tmp/ #推送到至遠程數據庫服務器
2) 恢復數據庫數據庫信息
mysql -uroot -poldboy123 </tmp/bak.sql ###db01添加新的用戶 grant all on wordpress.* to 用戶名@'172.16.1.0/255.255.255.0' identified by '密碼'; flush privileges; mysql -uwordpress -poldboy123 -h 172.16.1.51
3) 數據庫遷移完畢,修改網站鏈接數據庫的配置文件
我此處爲php程序鏈接數據庫配置文件
mysql -u用戶名 -p密碼 -h 172.16.1.51 <-- 修改配置文件以前,先測試網站web服務器與遷移後的數據庫連通性 vim wp-config.php <-- 修改wordpress上的數據庫鏈接參數信息 /** MySQL主機 */ define('DB_HOST','172.16.1.51') <-- 修改鏈接的主機信息,將localhost修改成172.16.1.51 說明:web服務器數據庫此時能夠關閉了
4)中止nginx服務器上MySQL服務
/etc/init.d/mysql stop
01:先將原有目錄中數據移出
cd /application/nginx/html/blog/wp-content/uploads #個人站點目錄下的文件資源路徑 mkdir /tmp/wordpress_backup -p mv ./* /tmp/wordpress_backup/
注意:
數據存儲到本地什麼位置,獲取方法
①. 經過網站頁面右鍵點擊,獲取資源地址信息
②. find命令利用-mmin 5
③. 利用inotify服務監控目錄數據變化
02:NFS服務器上配置建立共享目錄
vim /etc/exports /data 172.16.1.0/24(rw,sync,all_squash) showmount -e 172.16.1.31 mount -t nfs 172.16.1.31:/data /mnt/ #在web服務器上 showmount -e 172.16.1.31 mount -t nfs 172.16.1.31:/data/ ./uploads/ #將nfs共享服務器上的目錄掛載到本地 mv /tmp/wordpress_backup/* ./ #將以前備份的數據還原