操作系统 | IP地址 | 系统环境 | 用途 |
CentOS 7.1 |
172.18.20.10/16 |
最小化安装 | Web服务器 |
CentOS 7.1 | 172.18.20.11/16 | 最小化安装 | Mariadb服务器 |
CentOS 6.7 | 172.18.20.20/16 | 最小化安装 | 私有CA |
CentOS 6.7 | 172.18.20.21/16 | 最小化安装 | DNS服务器 |
WIN 10 |
172.18.20.1/1 | - | 客户端主机 |
1
2
3
4
5
6
7
8
|
yum -y
install
mariadb-server && systemctl start mariadb.service
##安装并启动mariadb服务
mysqladmin -uroot password
'123.com'
## 设置mysql的root用户密码为 123.com
mysql -uroot -p123.com
## 登陆mysql数据库
create database wp_DB;
## 创建wp_DB数据库
GRANT ALL ON wp_DB.* TO
'ch123'
@
'172.18.20.10'
IDENTIFIED BY
'qwer1234'
;
## 允许来自172.18.20.10的主机的ch123用户对wp_DB数据做各种操作
FLUSH PRIVILEGES;
## 刷新配置命令
SHOW DATABASES;
## 确定数据库是否已创建成功
SHOW GRANTS FOR
'ch123'
@
'172.18.20.10'
;
## 确认数据库授权是否成功
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
yum -y
install
bind bind-utils
## 安装bind程序和bind客户端工具
vim
/etc/named
.rfc1912.zones
## 修改配置文件,添加一个正向解析区域
zone
"ch.com."
IN {
type
master;
file
"ch.com.zone"
;
};
vim
/var/named/ch
.com.zone
## 编辑区域配置文件
$TTL 3600
$ORIGIN ch.com.
@ IN SOA ns1.ch.com. dnsadmin.ch.com. (
2016042101
1H
10M
3D
1D )
IN NS ns1
ns1 IN A 172.18.20.21
www IN A 172.18.20.10
web IN CNAME www
named-checkconf && systemctl start named.service
## 检查named配置文件,如果没问题则启动named服务
ss -anlp |
grep
named
## 确保tcp/53号端口是监听状态的
dig
-t A www.ch.com @172.18.20.21
## 测试DNS服务器是否能解析 www.ch.com
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
(
umask
077; openssl genrsa -out
/etc/pki/CA/private/cakey
.pem 4096)
## 创建私钥
openssl req -new -x509 -key
/etc/pki/CA/private/cakey
.pem -out
/etc/pki/CA/cacert
.pem -days 3655
## 生成自签证书
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]:CH
## 组织名称
Organizational Unit Name (eg, section) []:Ops
## 部门名称
Common Name (eg, your name or your server's
hostname
) []:CA22
## 主机名称
mkdir
-pv
/etc/pki/CA/
{certs,crl,newcerts}
touch
/etc/pki/CA/
{serial,index.txt}
echo
01 >
/etc/pki/CA/serial
## 为CA提供所需的目录及文件
openssl ca -
in
/tmp/httpd
.csr -out
/etc/pki/CA/certs/httpd
.crt -days 365
## 当web服务器将证书请求发过来之后,给web服务器签署证书
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
yum -y
install
httpd php php-mysql mod_ssl php-xcache
## 安装web程序包、php程序包、php-mysql驱动、ssl模块
vim
/etc/resolv
.conf
## 修改DNS指向配置文件
nameserver 172.18.20.11
## 将DNS服务器改为上面配置的DNS服务器地址
vim
/etc/httpd/conf/httpd
.conf
## 修改httpd主配置文件 <Directory />
AllowOverride none
Require all granted
## 改为允许所有主机访问 </Directory>
#DocumentRoot "/var/www/html" ## 禁用中心主机
vim
/etc/httpd/conf
.d
/vhost
.conf
## 添加一个虚拟主机的配置文件
DirectoryIndex index.php
<VirtualHost 172.18.20.10:80>
ServerName web.ch.com
DocumentRoot
"/www/wp"
<VirtualHost>
mkdir
/var/log/wp
mkdir
-pv
/www/wp
## 创建虚拟主机所需目录
httpd -t
## 检查配置文件,如果显示“Syntax OK” 表示配置没有问题
mkdir
-pv
/etc/httpd/ssl
## 创建一个用来存放ssl证书的目录
(
umask
077; openssl genrsa -out
/etc/httpd/ssl/httpd
.key 4096)
## 生成私钥文件
openssl req -new -key
/etc/httpd/ssl/httpd
.key -out
/etc/httpd/ssl/httpd
.csr -days 365
## 生成证书请求,这里主机名一定要填https用到的主机名地址
vim
/etc/httpd/conf
.d
/ssl
.conf
## 编辑ssl配置文件
<VirtualHost 172.18.20.10:443>
DocumentRoot
"/www/ph"
ServerName web.ch.com:443
SSLCertificateFile
/etc/httpd/ssl/httpd
.crt
## 指明证书文件存储路径
SSLCertificateKeyFile
/etc/httpd/ssl/httpd
.key
## 指明私钥文件存储路径
<
/VirtualHost
>
mkdir
/www/ph
## 创建https所需目录
|
1
2
3
4
5
6
7
8
9
10
|
vim
/www/wp/index
.php
## 编写php连接mysql数据库代码
<?php
$conn = mysql_connect(
'172.18.20.11'
,
'ch123'
,
'qwer1234'
);
## 此处填mariadb 授权的用户和密码
if
($conn)
echo
"OK"
;
else
echo
"Failure"
;
?>
cp
/www/wp/index
.php
/www/ph/
systemctl start httpd.service
## 启动httpd服务器
|
1
2
3
4
5
6
7
8
|
cp
wordpress-4.3.1-zh_CN.zip
/www/wp
## 复制wordpress程序到/www/wp目录下
cp
phpMyAdmin-4.4.14.1-all-languages.zip
/www/ph
## 复制phpMyAdmind到/www/ph目录下
cd
/www/wp/
## 切换至/www/wp目录下
unzip wordpress-4.3.1-zh_CN.zip
## 执行解压
chown
-R root:apache wordpress
## 修改属组为apache用户
chmod
-R g+w wordpress
## 给apache组赋予写权限
vim
/etc/httpd/conf
.d
/vhost
.conf
## 修改配置 DocumentRoot "/www/wp/wordpress"
systemctl reload httpd.service
## 重载配置文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
cd
/www/ph/
## 切换至/www/ph/目录下
unzip phpMyAdmin-4.4.14.1-all-languages.zip
## 解压缩phpmyadmin
chown
-R root:apache phpMyAdmin-4.4.14.1-all-languages
## 修改phpmyadmin目录属组为apache
chmod
-R g+w phpMyAdmin-4.4.14.1-all-languages
## 赋予apache组对phpmyadmin有写操作
ln
-s phpMyAdmin-4.4.14.1-all-languages phpadmin
## 对phpmyadmin创建符号链接
yum -y
install
php-mbstring
## 安装支持中文字符集程序包
cd
phpadmin/
## 切换至phpadmin目录下
cp
config.sample.inc.php config.inc.php
## 复制模板配置文件
vim config.inc.php
## 修改配置文件
$cfg[
'Servers'
][$i][
'host'
] =
'172.18.20.11'
;
## 将这一项改为mariadb数据库的地址
vim
/etc/httpd/conf
.d
/ssl
.conf
## 修改https配置文件中 DocumentRoot "/www/ph/phpadmin"
httpd -t
## 检查配置是否正确
systemctl reload httpd.service
## 重载配置文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
vim
/etc/php
.d
/xcache
.ini
## 编辑xcache 配置文件
[xcache-common]
extension = xcache.so
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user =
"mOo"
xcache.admin.pass =
"md5 encrypted password"
[xcache]
xcache.shm_scheme =
"mmap"
xcache.size = 60M
xcache.count = 1
xcache.slots = 8K
xcache.ttl = 0
xcache.gc_interval = 0
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
|
1
2
3
|
ab -n 1000 -c 100 http:
//172
.18.20.10
/index
.php
-n 表示请求总数
-c 表示模拟的并行数
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
Server Software: Apache
/2
.4.6
## 平台版本
Server Hostname: 172.18.20.10
## 服务器主机名
Server Port: 80
## 服务器端口
Document Path:
/index
.php
## 测试页面文档
Document Length: 8920 bytes
## 页面文档大小
Concurrency Level: 100
## 并发连接数
Time taken
for
tests: 20.863 seconds
## 整个测试持续的时间
Complete requests: 1000
## 完成的请求数量
Failed requests: 0
## 失败的请求数量
Write errors: 0
## 等待的请求数量
Non-2xx responses: 1000
## 请求响应数量
Total transferred: 388000 bytes
## 整个场景中的网络传输量
HTML transferred: 0 bytes
## 整个场景中的HTML内容传输量
Requests per second: 47.93 [
#/sec] (mean) ## 吞吐率,每秒事务数 ,后面括号中的 mean 表示这是一个平均值
Time per request: 2086.280 [ms] (mean)
## 用户平均请求等待时间,后面括号中的 mean表示这是一个平均值
Time per request: 20.863 [ms] (mean, across all concurrent requests)
## 服务器平均请求处理时间
Transfer rate: 18.16 [Kbytes
/sec
] received
## 平均每秒网络上的流量
Connection Times (ms)
## 网络上消耗的时间的分解
min mean[+
/-sd
] median max
Connect: 0 3 68.3 0 2138
Processing: 38 2045 1472.0 1393 7854
Waiting: 36 2042 1472.0 1392 7854
Total: 38 2048 1475.9 1393 7854
Percentage of the requests served within a certain
time
(ms)
## 整个场景中所有请求的响应情况
50% 1393
66% 1654
75% 2247
80% 3000
90% 4529
95% 5331
98% 6420
99% 6750
100% 7854 (longest request)
|