您好,登錄后才能下訂單哦!
規劃如圖:
分析如下:
實驗環境準備:
操作步驟:
Step1 DNS
a) 安裝bind(dns)服務器
yum -y install bind
b) 配置cache only的dns服務器
i) 在 vim /etc/named/named.conf 中輸入以下內容
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt";\ allow-query { any; }; # 允許任意客戶端查詢 recursion yes; rrset order { random; }; # dns輪詢解析 } logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones";
ii) 在 vim /etc/named.rfc1912.zones 中輸入以下內容
zone "king.com" IN { type master; file "king.com.zone"; #正向解析配置文件 }; zone "43.16.172.in-addr.arpa" IN { type master; file "172.16.43.zone"; #反向解析配置文件 };
iii) 在 vim /var/named/king.com.zone 中輸入以下內容
$TTL 600 @ IN SOA dns.king.com. admin.king.com. ( 2014032401 1H 5M 3D 12H ) IN NS dns dns IN A 172.16.43.1 www IN A 172.16.43.2 www IN A 172.16.43.3
iv) 在 vim /var/named/172.16.43.zone 中輸入以下內容
$TTL 600 @ IN SOA dns.king.com. admin.king.com. ( 2014032401 1H 5M 3D 12H ) IN NS dns.king.com. 1 IN PTR dns.king.com. 2 IN PTR www.king.com. 3 IN PTR www.king.com.
v) 更改iii,iv步的權限及屬主屬組
chown root:named /var/named/*.zone chmod 640 /var/named/*.zone service named start
vi) 測試:
# vim /etc/resolv.conf 更改 DNS1=172.16.43.1 dig -t A www.king.com
客戶端查詢,更改物理機DNS
測試如下:
反解查詢:
dig -t PTR -x 172.16.43.2
step2 apache
a) 為安裝準備環境
rpm -e httpd --nodeps rm -rf /etc/httpd rm -rf /usr/lib64/httpd yum -y install pcre-devel
b) 其余手動安裝配置
i) 配置安裝apr-1.5.0
tar xf apr-1.5.0.tar.bz2 cd apr-1.5.0 ./configure --prefix=/usr/local/apr make && make install
ii) 配置安裝apr-util-1.5.3
tar xf apr-util-1.5.3.tar.bz2 cd apr-util-1.5.3 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr make && make install
iii) 配置安裝httpd-2.4.9
tar xf httpd-2.4.9.tar.bz2 cd httpd-2.4.9 ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so -- enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with- apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most -- enable-mpms-shared=all --with-mpm=event make && make install
c) 配置開機服務及環境變量
在 vim /etc/rc.d/init.d/httpd 編輯此項
請參考 http://apprentice.blog.51cto.com/2214645/1380490
在 vim /etc/httpd/httpd.conf 添加此項
PidFile "/var/run/httpd.pid"
# 導出環境變量
echo "PATH=/usr/local/apache/bin:$PATH" > /etc/profile.d/httpd.sh
# 重載環境變量
. /etc/profile.d/httpd.sh
# 啟動/添加開機服務
chkconfig --add httpd chkconfig httpd on service httpd start
d) 測試前3臺機器是否工作正常
step3 nfs,php-fpm
a) 安裝nfs工具
# 如果機器內核沒有編譯nfs則需要安裝
yum -y install nfs-utils
mkdir /nfsshared
在 vim /etc/exports 編輯此項
# 為172.16.43.0/24此段開放加載nfs網絡文件功能
/nfsshared 172.16.43.0/24(rw,async,no_root_squash)
# 添加客戶端準備操作的賬戶,防止nobody屬組文件出現
useradd -r -s /sbin/nologin daemon
# 導出所有掛載分區
exportfs -a service nfs restart
b) 客戶端測試掛載
showmount -e 172.16.43.4
mkdir /share
# 掛載網絡文件系統
mount -t nfs 172.16.43.4:/nfsshared /share
# 開機掛載可編輯 /etc/fstab
172.16.43.4:/nfsshared /share ext4
# 測試nfs, 在/nfsshared中touch文件,觀察2個客戶端(web1,web2)
c) 安裝php-fpm
i) 解決php安裝依賴
yum -y groupinstall "Desktop Platform Development" yum -y install libmcrypt-devel yum -y install bzip2-devel
ii) 安裝php with fpm
tar xf php-5.4.19.tar.bz2 cd php-5.4.19 ./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo- mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-mbstring --with- freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr -- enable-xml --enable-sockets --enable-fpm --with-mcrypt --with-config-file- path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 make && make install
iii) 為php提供配置文件:
cp php.ini-production /etc/php.ini
iv) 配置php-fpm
為php-fpm提供SysV init腳本,并將其添加至服務列表:
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm chmod +x /etc/rc.d/init.d/php-fpm chkconfig --add php-fpm chkconfig php-fpm on
為php-fpm提供配置文件:
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
編輯php-fpm的配置文件:vim /usr/local/php/etc/php-fpm.conf
配置fpm的相關選項為你所需要的值,并啟用pid文件(如下最后一行):
pid = /usr/local/php/var/run/php-fpm.pid listen = 172.16.43.4:9000
vi) 編輯apache為運行php后端程序做準備
# 分別編輯 172.16.43.2/3中的 vim /etc/httpd/httpd.conf
DocumentRoot "/share" <Directory "/share">
# 開啟fcgi轉發
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
# 禁止apache正向代理,轉而實現反向代理后端的php-fpm
ProxyRequests Off ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.43.4:9000/nfsshared
# 添加apache識別php文件
AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps
# 定位至DirectoryIndex
DirectoryIndex index.php index.html
d) 安裝配置Discuz在 /nfsshared
cd /nfsshared
# 下載Discuz最新版本到此目錄
unzip Discuz_X3.1_SC_UTF8.zip rm -rf Discuz_X3.1_SC_UTF8.zip readme/ utility/ mv ./upload/* ./ rm -rf upload/
e) 測試 php頁面解析
安裝discuz需要將 config , data , uc_client , uc_server 的權限設置為777
step4 mysql
i) 創建mysql的數據目錄
mkdir /data groupadd -r mysql useradd -g mysql -r -s /sbin/nologin -M -d /data mysql chown -R mysql:mysql /data
ii) 安裝二進制mysql
tar xf mysql-5.5.33-linux2.6-x86_64.tar.gz -C /usr/local cd /usr/local ln -sv mysql-5.5.33-linux2.6-x86_64 mysql cd mysql chown -R mysql:mysql . mysql/scripts/mysql_install_db --user=mysql --datadir=/data chown -R root .
# 提供mysql的配置文件
cp support-files/my-large.cnf /etc/my.cnf
# 需要添加如下行指定mysql數據文件的存放位置:
datadir = /mydata/data
iii) 為mysql提供sysv服務腳本:
cd /usr/local/mysql cp support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld
添加至服務列表:
chkconfig --add mysqld chkconfig mysqld on echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mysql.sh . /etc/profile.d/mysql.sh
iv) 啟動服務并授權php服務器賬號訪問
service mysqld restart mysql grant all on *.* to 'root'@'172.16.43.4' identified by '123456'; flush privileges;
v) 繼續Step3 e)的安裝過程,安裝完成后
vi) 繼續測試由172.16.43.2上傳靜態文件測試172.16.43.3是否能共享此靜態文件
vii) 查看文件情況
Step5 xache
i) 安裝xcache
tar xf xcache-3.0.3.tar.bz2 cd xcache-3.0.3 /usr/local/php/bin/phpize ./configure --enable-xcache --with-php-config=/usr/local/php/bin/php-config make && make install
# 安裝結束時,會出現類似如下行, 將后半句復制
Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/
ii) 編輯php.ini,整合php和xcache:
# 首先將xcache提供的樣例配置導入php.ini
mkdir /etc/php.d
# xcache.ini文件在xcache的源碼目錄中。
cp xcache.ini /etc/php.d
# 接下來編輯/etc/php.d/xcache.ini 修改為如下:
extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/xcache.so
# 啟動php-fpm服務
service php-fpm restart
iii) 在 /nfsshared 中建立 testxcache.php 文件測試xcache的啟用情況
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。