您好,登錄后才能下訂單哦!
實驗需求:
1、CentOS 7, apm+xcache, rpm包, php module;
a) 一個虛擬主機提供phpMyAdmin,另一個虛擬主機提供wordpress;
b) 為phpMyAdmim提供https服務;
實驗環境:
Linux服務器操作系統版本:CentOS Linux release 7.2.1511 (Core) IP:172.16.252.113
WIN7系統客戶機:IP:172.16.250.100
實驗前提:
1)關閉防火墻和SELinux
~]# service iptables stop
~]# setenforce 0
實驗過程:
一、安裝amp環境
1.yum包安裝amp
~]# yum install httpd php php-mysql mariadb
1)檢查是否成功安裝包
~]# rpm -qa httpd php php-mysql mysql-server
2)啟動服務
~]# systemctl start httpd
~]# systemctl start mariadb
3)查看服務是否正常啟動
~]# ss -nlt
~]# ps aux | grep httpd
~]# ps aux |grep myslq
4)設置開機自動啟動
~]# systemctl enable httpd
~]# systemctl enable mariadb
5)檢查是否設置成開機自啟動
~]# systemctl is-enabled httpd
~]# systemctl is-enabled mariadb
2.一個虛擬主機提供phpMyAdmin,另一個虛擬主機提供wordpress;
二、配置虛擬主機
1)vhosts www1
<VirtualHost *:80>
ServerName www1.magedu.com
DocumentRoot /data/vhosts/www1
ErrorLog logs/www1-error_log
CustomLog logs/www1-access_log combiend
<Directory "/data/vhosts/www1">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
2)vhosts www2
<VirtualHost *:80>
ServerName www2.magedu.com
DocumentRoot /data/vhosts/www2
ErrorLog logs/www2-error_log
CustomLog logs/www2-access_log combiend
<Directory "/data/vhosts/www2">
Options None
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
二、部署wordpress環境:
1)創建站點目錄
~]# mkdir /data/vhosts/www1
2)解壓wordpress包
tools]# unzip wordpress-4.3.1-zh_CN.zip
3)拷貝到站點目錄www1中
# cp wordpress /data/vhosts/www1
4)登錄數據庫
~]# mysql -uroot -p
5)為bolg創建數據庫名為:wordpress
MariaDB [(none)]> CREATE DATABASE wordpress;
6)查數據庫是否創建成功
MariaDB [(none)]> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| wordpress |
+--------------------+
4 rows in set (0.00 sec)
7)授權用戶
MariaDB [(none)]> GRANT ALL ON wordpress.* TO ly@'localhost' IDENTIFIED BY 'liyang';
Query OK, 0 rows affected (0.03 sec)
MariaDB [(none)]> GRANT ALL ON wordpress.* TO ly@'127.0.0.1' IDENTIFIED BY 'liyang';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> GRANT ALL ON wordpress.* TO ly@'172.16.%.%' IDENTIFIED BY 'liyang';
Query OK, 0 rows affected (0.00 sec)
8)改名wordpress配置文件為wp-config.php
]# cp wp-config-sample.php wp-config.php
9)修改wp-config.php文件連接數據庫
~]# sed -n '22,38p' /data/vhosts/www1/wordpress/wp-config.php
/** WordPress數據庫的名稱 */
define('DB_NAME', 'wordpress');
/** MySQL數據庫用戶名 */
define('DB_USER', 'ly');
/** MySQL數據庫密碼 */
define('DB_PASSWORD', 'liyang');
/** MySQL主機 */
define('DB_HOST', '172.16.252.113');
/** 創建數據表時默認的文字編碼 */
define('DB_CHARSET', 'utf8');
/** 數據庫整理類型。如不確定請勿更改 */
define('DB_COLLATE', '');
三、測試
1)在服務器端添加域名解析
]# echo "172.16.252.113 www1.magedu.com" >> /etc/hosts
2)在PC中的hosts文件中添加
172.16.252.113 www1.magedu.com
3)httpd-->php是否可以訪問
www1]# cat admin.php
<?php
phpinfo();
?>
4)httpd-->php--mariadb是否可以訪問
<?php
$conn = mysql_connect('172.16.100.71','testuser','testpass');
if($conn)
echo "OK";
else
echo "Failure";
?>
5)在瀏覽器中,根據提示安裝http://www2.magedu.com/wordpress/index.php
6)查看數據庫是否生成數據
~]# mysql -uly -p
MariaDB [(none)]> show databases;
MariaDB [(none)]> use wordpress;
MariaDB [wordpress]> show tables;
+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
11 rows in set (0.00 sec)
四、部署phpMyAdmin環境:
1)創建站點目錄
~]# mkdir /data/vhosts/www2
2)解壓phpMyAdmin包
tools]# unzip phpMyAdmin-4.4.14.1-all-languages.zip
3)拷貝到站點目錄www2中
~]# cp -r phpMyAdmin-4.4.14.1-all-languages /data/vhosts/www1
4)配置phpMyAdmin軟件
www1]# ln -sv phpMyAdmin-4.4.14.1-all-languages/ phpMyAdmin
~]# cp config.sample.inc.php config.inc.php
5)生成隨機數
~]# openssl rand -hex 8
640b56f72820ace8
6修改配置文件config.inc.php
]# vim config.inc.php
$cfg['blowfish_secret'] = '640b56f72820ace8'
7)在瀏覽器中測試,根據提示輸入數據庫名和密碼(主機賬號和密碼是授權wordpress中用戶)
在PC機瀏覽器中測試:http://www1.magedu.com/phpMyAdmin-4.4.14.1-all-languages/ 通過80端口訪問
8)訪問提示:沒有擴展,安裝 php-mbstring 可以解決
~]# yum install php-mbstring
3.為phpMyAdmim提供https服務
工作目錄:/etc/pki/CA/
一、建立私有CA
1)生成私鑰
[root@localhost CA]# (umask 077; openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
.....+++
...........+++
e is 65537 (0x10001)
2)生成自簽證書
[root@localhost CA]# openssl req -new -x509 -key private/cakey.pem -out cacert.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:liyang
Organizational Unit Name (eg, section) []:0ps
Common Name (eg, your name or your server's hostname) []:www2.magedu.com
Email Address []:admin@magedu.com
3)提供輔助文件
[root@localhost CA]# touch index.txt
[root@localhost CA]# echo 01 > serial
[root@localhost CA]# tree
.
├── cacert.pem
├── certs
├── crl
├── index.txt
├── index.txt.attr
├── index.txt.old
├── newcerts
├── private
│ └── cakey.pem
├── serial
└── serial.old
二、節點申請證書
1)生成私鑰
~]# mkdir -pv /etc/httpd/ssl
ssl]# (umask 077; openssl genrsa -out httpd.key 1024)
2)生成證書簽署請求:
ssl]# openssl req -new -key httpd.key -out httpd.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:Beijing
Locality Name (eg, city) [Default City]:Beijing
Organization Name (eg, company) [Default Company Ltd]:liyang
Organizational Unit Name (eg, section) []:0ps
Common Name (eg, your name or your server's hostname) []:www1.magedu.com
Email Address []:admin@magedu.com
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
ssl]# cp httpd.csr /tmp/
三、CA簽發證書
1)簽署證書
~]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Jul 16 07:41:43 2016 GMT
Not After : Jul 16 07:41:43 2017 GMT
Subject:
countryName = CN
stateOrProvinceName = Beijing
organizationName = liyang
organizationalUnitName = 0ps
commonName = www2.magedu.com
emailAddress = admin@magedu.com
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
70:95:31:1F:E3:15:D0:EE:D1:8F:2E:DA:8C:64:95:F6:EA:80:8F:2D
X509v3 Authority Key Identifier:
keyid:79:B8:17:4E:7D:74:2D:CD:16:63:20:1D:D1:9F:AA:D1:5F:49:09:CA
Certificate is to be certified until Jul 16 07:41:43 2017 GMT (365 days)
Sign the certificate? [y/n]:y
1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated
2)把簽署好的證書發還給請求者。
~]# cp /etc/pki/CA/certs/httpd.crt /etc/httpd/ssl/
注意:本次私建CA和節點申請證書在同一臺機器完成。
四、配置httpd支持使用ssl,及使用的證書
1)yum安裝mod_ssl模塊
~]# httpd -M | grep ssl
~]# yum install mod_ssl -y
~]# rpm -ql mod_ssl
2)配置虛擬主機ssh.conf
~]# vim /etc/httpd/conf.d/ss.conf
<VirtualHost _default_:443>
DocumentRoot "/data/vhosts/www2"
ServerName www1.magedu.com:443
SSLCertificateFile /etc/httpd/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
<Directory "/data/vhosts/www1">
SSLOptions +StdEnvVars
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
五、測試結果:
1)在PC機瀏覽器中測試:https://www1.magedu.com/phpMyAdmin-4.4.14.1-all-languages/ 通過443端口訪問
4.壓力測試:
一、正常測試
1)測試并發
~]# ab -c 10 -n 1000 www2.magedu.com/wordpress/index.php
Server Software: Apache/2.4.6
Server Hostname: www2.magedu.com
Server Port: 80
Document Path: /wordpress/index.php
Document Length: 0 bytes
Concurrency Level: 10
Time taken for tests: 79.144 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Non-2xx responses: 1000
Total transferred: 339000 bytes
HTML transferred: 0 bytes
Requests per second: 12.64 [#/sec] (mean)
Time per request: 791.438 [ms] (mean)
Time per request: 79.144 [ms] (mean, across all concurrent requests)
Transfer rate: 4.18 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 240 770 736.3 669 6496
Waiting: 240 768 731.3 668 6429
Total: 240 770 736.4 669 6497
Percentage of the requests served within a certain time (ms)
50% 669
66% 718
75% 747
80% 765
90% 805
95% 878
98% 4807
99% 6494
100% 6497 (longest request)
二、為php安裝xcache加速器測試數據:
1)yum 安裝php-xcache
~]# yum install php-xcache
2)測試并發
~]# ab -c 10 -n 1000 www2.magedu.com/wordpress/index.php
Server Software: Apache/2.4.6
Server Hostname: www2.magedu.com
Server Port: 80
Document Path: /wordpress/index.php
Document Length: 0 bytes
Concurrency Level: 10
Time taken for tests: 69.750 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Non-2xx responses: 1000
Total transferred: 339000 bytes
HTML transferred: 0 bytes
Requests per second: 14.34 [#/sec] (mean)
Time per request: 697.503 [ms] (mean)
Time per request: 69.750 [ms] (mean, across all concurrent requests)
Transfer rate: 4.75 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.1 0 2
Processing: 139 683 1093.9 631 25635
Waiting: 139 682 1093.8 629 25635
Total: 139 683 1093.9 631 25635
Percentage of the requests served within a certain time (ms)
50% 631
66% 686
75% 713
80% 734
90% 785
95% 824
98% 907
99% 1450
100% 25635 (longest request
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。