1 案例1:磁盘管理
1.1 问题
具体配置如下:
- 添加磁盘
- 磁盘分区
- 格式化
1.2 方案
分别给2台虚拟机添加1块磁盘(磁盘容量3G、5G 、10G 都可以)
1.3 步骤
实现此案例需要按照如下步骤进行。
步骤一:磁盘分区
1)配置mysql11 主机
- [root@mysql11 ~]# fdisk -l /dev/sdb //查看磁盘容量
- 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
- Units = 扇区 of 1 * 512 = 512 bytes
- 扇区大小(逻辑/物理):512 字节 / 512 字节
- I/O 大小(最小/最佳):512 字节 / 512 字节
- [root@mysql11 ~]# fdisk /dev/sdb //磁盘分区
- 欢迎使用 fdisk (util-linux 2.23.2)。
- 更改将停留在内存中,直到您决定将更改写入磁盘。
- 使用写入命令前请三思。
- Device does not contain a recognized partition table
- 使用磁盘标识符 0x882d04b7 创建新的 DOS 磁盘标签。
- 命令(输入 m 获取帮助):n //创建分区
- Partition type:
- p primary (0 primary, 0 extended, 4 free)
- e extended
- Select (default p): p //创建主分区
- 分区号 (1-4,默认 1):1 //指定分区编号
- 起始 扇区 (2048-10485759,默认为 2048): //起始柱面数默认 回车即可
- 将使用默认值 2048
- Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759)://结束柱面数
- 默认 回车即可
- 分区 1 已设置为 Linux 类型,大小设为 5 GiB
- 命令(输入 m 获取帮助):w //保存退出
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- 正在同步磁盘。
- [root@mysql11 ~]#
2)查看分区
- [root@mysql11 ~]# fdisk -l /dev/sdb #查看分区
- 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
- Units = 扇区 of 1 * 512 = 512 bytes
- 扇区大小(逻辑/物理):512 字节 / 512 字节
- I/O 大小(最小/最佳):512 字节 / 512 字节
- 磁盘标签类型:dos
- 磁盘标识符:0x882d04b7
- 设备 Boot Start End Blocks Id System
- /dev/sdb1 2048 10485759 5241856 83 Linux #分区编号sdb1
- [root@mysql11 ~]#
5)格式化
- [root@mysql11 ~]# mkfs.xfs /dev/sdb1 #格式化为 xfs 文件系统
- /dev/sdb1 isize=512 agcount=4, agsize=654848 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=2619392, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=2560, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- [root@mysql11 ~]# blkid /dev/sdb1 #查看文件系统类型
- /dev/sdb1: UUID="3e06f58f-8793-4800-b444-676f5a07fe10" TYPE="xfs"
- [root@mysql11 ~]#
2)配置mysql22 主机
- [root@mysql22 ~]# fdisk -l /dev/sdb //查看磁盘容量
- 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
- Units = 扇区 of 1 * 512 = 512 bytes
- 扇区大小(逻辑/物理):512 字节 / 512 字节
- I/O 大小(最小/最佳):512 字节 / 512 字节
- [root@mysql22 ~]# fdisk /dev/sdb //磁盘分区
- 欢迎使用 fdisk (util-linux 2.23.2)。
- 更改将停留在内存中,直到您决定将更改写入磁盘。
- 使用写入命令前请三思。
- Device does not contain a recognized partition table
- 使用磁盘标识符 0x882d04b7 创建新的 DOS 磁盘标签。
- 命令(输入 m 获取帮助):n //创建分区
- Partition type:
- p primary (0 primary, 0 extended, 4 free)
- e extended
- Select (default p): p //创建主分区
- 分区号 (1-4,默认 1):1 //指定分区编号
- 起始 扇区 (2048-10485759,默认为 2048): //起始柱面数默认 回车即可
- 将使用默认值 2048
- Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759)://结束柱面数
- 默认 回车即可
- 分区 1 已设置为 Linux 类型,大小设为 5 GiB
- 命令(输入 m 获取帮助):w //保存退出
- The partition table has been altered!
- Calling ioctl() to re-read partition table.
- 正在同步磁盘。
- [root@mysql22 ~]#
2)查看分区
- [root@mysql22 ~]# fdisk -l /dev/sdb #查看分区
- 磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
- Units = 扇区 of 1 * 512 = 512 bytes
- 扇区大小(逻辑/物理):512 字节 / 512 字节
- I/O 大小(最小/最佳):512 字节 / 512 字节
- 磁盘标签类型:dos
- 磁盘标识符:0x882d04b7
- 设备 Boot Start End Blocks Id System
- /dev/sdb1 2048 10485759 5241856 83 Linux #分区编号sdb1
- [root@mysql22 ~]#
5)格式化
- [root@mysql22 ~]# mkfs.xfs /dev/sdb1 #格式化为 xfs 文件系统
- /dev/sdb1 isize=512 agcount=4, agsize=654848 blks
- = sectsz=512 attr=2, projid32bit=1
- = crc=1 finobt=0, sparse=0
- data = bsize=4096 blocks=2619392, imaxpct=25
- = sunit=0 swidth=0 blks
- naming =version 2 bsize=4096 ascii-ci=0 ftype=1
- log =internal log bsize=4096 blocks=2560, version=2
- = sectsz=512 sunit=0 blks, lazy-count=1
- realtime =none extsz=4096 blocks=0, rtextents=0
- [root@mysql22 ~]# blkid /dev/sdb1 #查看文件系统类型
- /dev/sdb1: UUID="3e06f58f-8793-4800-b444-676f5a07fe10" TYPE="xfs"
- [root@mysql22 ~]#
2 案例2:配置数据库服务器
2.1 问题
具体操作如下:
- 安装MySQL软件
- 启动服务
- 管理员登录
- 挂载分区
2.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:安装MySQL软件
1)配置MySQL11主机
- #解包
- [root@mysql11 ~]# tar -xf mysql-5.7.17.tar
- [root@mysql11 ~]# ls *.rpm
- mysql-community-client-5.7.17-1.el7.x86_64.rpm
- mysql-community-common-5.7.17-1.el7.x86_64.rpm
- mysql-community-devel-5.7.17-1.el7.x86_64.rpm
- mysql-community-embedded-5.7.17-1.el7.x86_64.rpm
- mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm
- mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
- mysql-community-libs-5.7.17-1.el7.x86_64.rpm
- mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
- mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64.rpm
- mysql-community-server-5.7.17-1.el7.x86_64.rpm
- mysql-community-test-5.7.17-1.el7.x86_64.rpm
- [root@mysql11 ~]#
- #安装软件(需要事先配好yum源)
- [root@mysql11 ~]# yum -y install mysql-community-*.rpm
- 已加载插件:fastestmirror
- 正在检查 mysql-community-client-5.7.17-1.el7.x86_64.rpm: mysql-community-client-5.7.17-1.el7.x86_64
- mysql-community-client-5.7.17-1.el7.x86_64.rpm 将被安装
- ……
- ……
- 已安装:
- mysql-community-client.x86_64 0:5.7.17-1.el7 mysql-community-common.x86_64 0:5.7.17-1.el7
- mysql-community-devel.x86_64 0:5.7.17-1.el7 mysql-community-embedded.x86_64 0:5.7.17-1.el7
- mysql-community-embedded-compat.x86_64 0:5.7.17-1.el7 mysql-community-embedded-devel.x86_64 0:5.7.17-1.el7
- mysql-community-libs.x86_64 0:5.7.17-1.el7 mysql-community-libs-compat.x86_64 0:5.7.17-1.el7
- mysql-community-minimal-debuginfo.x86_64 0:5.7.17-1.el7 mysql-community-server.x86_64 0:5.7.17-1.el7
- mysql-community-test.x86_64 0:5.7.17-1.el7
- 作为依赖被安装:
- perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-JSON.noarch 0:2.59-2.el7
- 完毕!
- [root@mysql11 ~]#
2)配置MySQL22主机
- #解包
- [root@mysql22 ~]# tar -xf mysql-5.7.17.tar
- [root@mysql22 ~]# ls *.rpm
- mysql-community-client-5.7.17-1.el7.x86_64.rpm
- mysql-community-common-5.7.17-1.el7.x86_64.rpm
- mysql-community-devel-5.7.17-1.el7.x86_64.rpm
- mysql-community-embedded-5.7.17-1.el7.x86_64.rpm
- mysql-community-embedded-compat-5.7.17-1.el7.x86_64.rpm
- mysql-community-embedded-devel-5.7.17-1.el7.x86_64.rpm
- mysql-community-libs-5.7.17-1.el7.x86_64.rpm
- mysql-community-libs-compat-5.7.17-1.el7.x86_64.rpm
- mysql-community-minimal-debuginfo-5.7.17-1.el7.x86_64.rpm
- mysql-community-server-5.7.17-1.el7.x86_64.rpm
- mysql-community-test-5.7.17-1.el7.x86_64.rpm
- [root@mysql22 ~]#
- #安装软件
- [root@mysql22 ~]# yum -y install mysql-community-*.rpm
- 已加载插件:fastestmirror
- 正在检查 mysql-community-client-5.7.17-1.el7.x86_64.rpm: mysql-community-client-5.7.17-1.el7.x86_64
- mysql-community-client-5.7.17-1.el7.x86_64.rpm 将被安装
- ……
- ……
- 已安装:
- mysql-community-client.x86_64 0:5.7.17-1.el7 mysql-community-common.x86_64 0:5.7.17-1.el7
- mysql-community-devel.x86_64 0:5.7.17-1.el7 mysql-community-embedded.x86_64 0:5.7.17-1.el7
- mysql-community-embedded-compat.x86_64 0:5.7.17-1.el7 mysql-community-embedded-devel.x86_64 0:5.7.17-1.el7
- mysql-community-libs.x86_64 0:5.7.17-1.el7 mysql-community-libs-compat.x86_64 0:5.7.17-1.el7
- mysql-community-minimal-debuginfo.x86_64 0:5.7.17-1.el7 mysql-community-server.x86_64 0:5.7.17-1.el7
- mysql-community-test.x86_64 0:5.7.17-1.el7
- 作为依赖被安装:
- perl-Data-Dumper.x86_64 0:2.145-3.el7 perl-JSON.noarch 0:2.59-2.el7
- 完毕!
- [root@mysql22 ~]#
步骤二:启动服务
1)配置mysql11
- [root@mysql11 ~]# systemctl start mysqld
- [root@mysql11 ~]# systemctl enable mysqld
- [root@mysql11 ~]# netstat -utnlp | grep :3306
- tcp6 0 0 :::3306 :::* LISTEN 1531/mysqld
2)配置mysql22
- [root@mysql22 ~]# systemctl start mysqld
- [root@mysql22 ~]# systemctl enable mysqld
- [root@mysql22 ~]# netstat -utnlp | grep :3306
- tcp6 0 0 :::3306 :::* LISTEN 1731/mysqld
步骤三:管理员登录
1)配置mysql11
- #查看初始密码
- [root@mysql11 ~]# grep "password" /var/log/mysqld.log
- 2019-07-05T01:56:51.895852Z 1 [Note] A temporary password is generated for root@localhost: bB0*uCmu:.Kj
- [root@mysql11 ~]# mysql -uroot -p'bB0*uCmu:.Kj' //初始密码登录
- mysql: [Warning] Using a password on the command line interface can be insecure.
- mysql>
- #修改登录密码
- mysql> alter user root@"localhost" identified by "123qqq…A"; //修改密码
- Query OK, 0 rows affected (0.01 sec)
- mysql> exit
- Bye
- [root@mysql11 ~]#
- #新密码登录
- [root@mysql11 ~]# mysql -uroot -p123qqq…A
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | sys |
- +--------------------+
- 4 rows in set (0.00 sec)
- Mysql> create database gamedb; #创建存储数据的gamedb库
2)配置mysql22
- #查看初始密码
- [root@mysql22 ~]# grep "password" /var/log/mysqld.log
- 2019-07-05T01:56:51.895852Z 1 [Note] A temporary password is generated for root@localhost: cc90*uCmu:.jj
- [root@mysql22 ~]# mysql -uroot -p'cc90*uCmu:.jj' //初始密码登录
- mysql: [Warning] Using a password on the command line interface can be insecure.
- mysql>
- #修改登录密码
- mysql> alter user root@"localhost" identified by "123qqq…A"; //修改密码
- Query OK, 0 rows affected (0.01 sec)
- mysql> exit
- Bye
- [root@mysql22 ~]#
- #新密码登录
- [root@mysql22 ~]# mysql -uroot -p123qqq…A
- mysql> show databases;
- +--------------------+
- | Database |
- +--------------------+
- | information_schema |
- | mysql |
- | performance_schema |
- | sys |
- +--------------------+
- 4 rows in set (0.00 sec)
- Mysql> create database gamedb; #创建存储数据的gamedb库
步骤四:挂载分区
1)配置mysql11
- #设置开机挂载
- [root@mysql11 ~]# vim /etc/fstab
- /dev/sdb1 /var/lib/mysql/gamedb xfs defaults 0 0
- :wq
- [root@mysql11 ~]#
- #加载没有挂载的设备
- [root@mysql11 ~]# mount -a
- [root@mysql11 ~]# mount | grep “/var/lib/mysql/gamedb”
- #查看挂载信息
- [root@mysql11 ~]# df -h | grep "/var/lib/mysql/gamedb"
- /dev/sdb1 10G 166M 9.9G 2% /var/lib/mysql/gamedb
- [root@mysql11 ~]#
2)配置mysql22
- #设置开机挂载
- [root@mysql22 ~]# vim /etc/fstab
- /dev/sdb1 /var/lib/mysql/gamedb xfs defaults 0 0
- :wq
- [root@mysql22 ~]#
- #加载没有挂载的设备
- [root@mysql22 ~]# mount -a
- [root@mysql22 ~]# mount | grep “/var/lib/mysql/gamedb”
- #查看挂载信息
- [root@mysql22 ~]# df -h | grep "/var/lib/mysql/gamedb"
- /dev/sdb1 10G 166M 9.9G 2% /var/lib/mysql/gamedb
- [root@mysql22 ~]#
3 案例3:配置主从同步
3.1 问题
配置步骤如下:
- 配置主服务器
- 配置从服务器
3.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置主服务器mysql11
1)启用binlog日志
- [root@mysql11 ~]# vim /etc/my.cnf
- [mysqld]
- server_id=11
- log_bin=master11
- :wq
- [root@mysql11 ~]# systemctl restart mysqld
2)用户授权
- [root@mysql11 ~]# mysql -uroot -p123qqq…A
- mysql> grant replication slave on *.* to repluser@"%" identified by "123qqq...A";
3)查看日志信息
- mysql> show master status;
- +-----------------+----------+--------------+------------------+-------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
- +-----------------+----------+--------------+------------------+-------------------+
- | master11.000001 | 441 | | | |
- +-----------------+----------+--------------+------------------+-------------------+
- 1 row in set (0.00 sec)
- mysql>
步骤二:配置从服务器
1)指定server_id
- [root@mysql22 ~]# vim /etc/my.cnf
- [mysqld]
- server_id=22
- :wq
- [root@mysql22 ~]# systemctl restart mysqld
2)指定主服务器信息
- [root@mysql22 ~]# mysql -uroot -p123qqq…A
- mysql> change master to master_host="192.168.88.11",master_user="repluser",
- master_password="123qqq...A",master_log_file="master11.000001",master_log_pos=441;
3)启动slave进程
- mysql> start slave;
- Query OK, 0 rows affected (0.02 sec)
- mysql>
4)查看状态信息
- [root@mysql22 ~]# mysql -uroot -p123qqq…A -e "show slave status \G" | grep -i yes
- mysql: [Warning] Using a password on the command line interface can be insecure.
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- [root@mysql22 ~]#
- [root@mysql22 ~]# mysql -uroot -p123qqq…A -e "show slave status \G" |grep -i 192.168.4.11
- mysql: [Warning] Using a password on the command line interface can be insecure.
- Master_Host: 192.168.88.11
- [root@mysql22 ~]#
4 案例4:配置读写分离服务
4.1 问题
配置步骤如下:
- 安装软件
- 修改配置文件
- 配置数据库服务器
- 启动服务
- 查看服务状态
- 查看监控信息
4.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:配置读写分离服务
1)安装软件
- //安装软件
- [root@maxscale77 ~]# rpm -ivh maxscale-2.1.2-1.rhel.7.x86_64.rpm
- 警告:maxscale-2.1.2-1.rhel.7.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 8167ee24: NOKEY
- 准备中... ################################# [100%]
- 正在升级/安装...
- 1:maxscale-2.1.2-1 ( 2%################################# [100%]
- [root@maxscale77 ~]#
2)修改配置文件
- [root@maxscale77 ~]# vim /etc/maxscale.cnf
- //服务线程数量
- [maxscale]
- threads=auto #根据CPU核数创建线程个数
- //第1台数据库服务器
- [server1]
- type=server
- address=192.168.88.11 #master数据库服务器ip地址
- port=3306
- protocol=MySQLBackend
- //第2台数据库服务器
- [server2]
- type=server
- address=192.168.88.22 #slave数据库服务器ip地址
- port=3306
- protocol=MySQLBackend
- //指定监控数据库服务器server1 和 server2
- [MySQL Monitor]
- type=monitor
- module=mysqlmon
- servers=server1,server2
- user=mysqla //监控用户
- passwd=123qqq…A //密码
- monitor_interval=10000
- //注释只读服务
- #[Read-Only Service]
- #type=service
- #router=readconnroute
- #servers=server1
- #user=myuser
- #passwd=mypwd
- #router_options=slave
- //定义读写分离服务
- [Read-Write Service]
- type=service
- router=readwritesplit
- servers=server1,server2
- user=mysqlb //路由用户
- passwd=123qqq…A //密码
- max_slave_connections=100%
- //定义管理服务
- [MaxAdmin Service]
- type=service
- router=cli
- //注释只读服务端口
- #[Read-Only Listener]
- #type=listener
- #service=Read-Only Service
- #protocol=MySQLClient
- #port=4008
- //定义读写分离服务端口
- [Read-Write Listener]
- type=listener
- service=Read-Write Service
- protocol=MySQLClient
- port=3306 //端口号
- //定义管理服务端口
- [MaxAdmin Listener]
- type=listener
- service=MaxAdmin Service
- protocol=maxscaled
- socket=default
- port=4016 //端口号
- :wq
- [root@maxscale77 ~]#
步骤二:配置数据库服务器
1)创建用户
- #在主服务器上添加用户
- [root@mysql11 ~]# mysql -uroot -p123qqq…A
- mysql> grant replication slave, replication client on *.*
- -> to mysqla@"%" identified by "123qqq...A"; #监控用户
- mysql> grant select on mysql.* to
- -> to mysqlb@"%" identified by "123qqq...A"; #路由用户
- mysql>
- #从服务器查看用户
- [root@mysql22 ~]# mysql -uroot -p123qqq…A -e 'select user,host from mysql.user where user like "mysql%"'
- mysql: [Warning] Using a password on the command line interface can be insecure.
- +---------------+------+
- | user | host |
- +---------------+------+
- | mysqla | % |
- | mysqlb | % |
- +---------------+------+
- [root@mysql22 ~]#
步骤三:启动maxsacle服务
1)启动服务
- [root@maxscale77 ~]# maxscale -f /etc/maxscale.cnf
2)查看服务信息(进程 和 端口)
- [root@maxscale77 ~]# ps -C maxscale #查看进程
- PID TTY TIME CMD
- 23254 ? 00:00:00 maxscale
- [root@maxscale77 ~]#
- [root@maxscale77 ~]# netstat -utnlp | grep maxscale #查看进程的端口
- tcp6 0 0 :::3306 :::* LISTEN 23254/maxscale
- tcp6 0 0 :::4016 :::* LISTEN 23254/maxscale
- [root@maxscale77 ~]#
3)在maxscale服务本机访问管理服务,查看监控信息
- [root@maxscale77 ~]# maxadmin -uadmin -pmariadb -P4016
- MaxScale> list servers
- Servers.
- -------------------+-----------------+-------+-------------+--------------------
- Server | Address | Port | Connections | Status
- -------------------+-----------------+-------+-------------+--------------------
- server1 | 192.168.88.11 | 3306 | 0 | Master, Running
- server2 | 192.168.88.22 | 3306 | 0 | Slave, Running
- -------------------+-----------------+-------+-------------+--------------------
- MaxScale> exit
- [root@maxscale77 ~]#
5 案例5:配置网站服务
5.1 问题
具体配置如下:
- 部署LNP
- 测试PHP
- 测试mysqld数据库服务
5.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:部署LNP
1)安装软件
- //安装源码Nginx依赖软件
- [root@web33 ~]# yum -y install gcc zlib-devel pcre-devel
- 已安装:
- gcc.x86_64 0:4.8.5-28.el7 pcre-devel.x86_64 0:8.32-17.el7 zlib-devel.x86_64 0:1.2.7-17.el7
- 作为依赖被安装:
- cpp.x86_64 0:4.8.5-28.el7 glibc-devel.x86_64 0:2.17-222.el7 glibc-headers.x86_64 0:2.17-222.el7 kernel-headers.x86_64 0:3.10.0-862.el7 libmpc.x86_64 0:1.0.1-3.el7
- mpfr.x86_64 0:3.1.1-4.el7
- 完毕!
- [root@web33 ~]# tar -xf nginx-1.12.2.tar.gz //解压
- [root@web33 ~]# cd nginx-1.12.2 //进源码目录
- [root@web33 nginx-1.12.2]# ./configure //配置
- ......
- Configuration summary
- + using system PCRE library
- + OpenSSL library is not used
- + using system zlib library
- nginx path prefix: "/usr/local/nginx"
- nginx binary file: "/usr/local/nginx/sbin/nginx"
- nginx modules path: "/usr/local/nginx/modules"
- nginx configuration prefix: "/usr/local/nginx/conf"
- nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
- nginx pid file: "/usr/local/nginx/logs/nginx.pid"
- nginx error log file: "/usr/local/nginx/logs/error.log"
- nginx http access log file: "/usr/local/nginx/logs/access.log"
- nginx http client request body temporary files: "client_body_temp"
- nginx http proxy temporary files: "proxy_temp"
- nginx http fastcgi temporary files: "fastcgi_temp"
- nginx http uwsgi temporary files: "uwsgi_temp"
- nginx http scgi temporary files: "scgi_temp"
- [root@web33 nginx-1.12.2]# make //编译
- ……
- ……
- sed -e "s|%%PREFIX%%|/usr/local/nginx|" \
- -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" \
- -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" \
- -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" \
- < man/nginx.8 > objs/nginx.8
- make[1]: 离开目录“/root/nginx-1.12.2”
- [root@web33 nginx-1.12.2]#
- [root@web33 nginx-1.12.2]# make install //安装
- ……
- ……
- cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
- test -d '/usr/local/nginx/logs' \
- || mkdir -p '/usr/local/nginx/logs'
- test -d '/usr/local/nginx/logs' \
- || mkdir -p '/usr/local/nginx/logs'
- test -d '/usr/local/nginx/html' \
- || cp -R html '/usr/local/nginx'
- test -d '/usr/local/nginx/logs' \
- || mkdir -p '/usr/local/nginx/logs'
- make[1]: 离开目录“/root/nginx-1.12.2”
- [root@web33 nginx-1.12.2]#
- [root@web33 nginx-1.12.2]# ls /usr/local/nginx //查看安装目录
- conf html logs sbin
- [root@web33 nginx-1.12.2]#
- [root@web33 ~]# yum -y install php-fpm //安装php-fpm 软件
- ……
- ……
- 已安装:
- php-fpm.x86_64 0:5.4.16-45.el7
- 作为依赖被安装:
- libzip.x86_64 0:0.10.1-8.el7 php-common.x86_64 0:5.4.16-45.el7
- 完毕!
- [root@web33 ~]# yum -y install php php-devel php-mysql //安装php 及 php-mysql 软件
- ……
- ……
- 已安装:
- php.x86_64 0:5.4.16-45.el7 php-mysql.x86_64 0:5.4.16-45.el7
- 作为依赖被安装:
- mariadb-libs.x86_64 1:5.5.56-2.el7 php-cli.x86_64 0:5.4.16-45.el7 php-pdo.x86_64 0:5.4.16-45.el7
- 完毕!
- [root@web33 ~]#
- //修改主配置文件
- [root@web33 ~]# vim +65 /usr/local/nginx/conf/nginx.conf
- location ~ \.php$ {
- root html;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fastcgi.conf;
- }
- :wq
- [root@web33 ~]# /usr/local/nginx/sbin/nginx //启动服务
- [root@web33 ~]# netstat -utnlp | grep :80 //查看端口
- tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26335/nginx: master
- //启动php-fpm服务
- [root@web33 ~]# systemctl start php-fpm
- [root@web33 ~]# systemctl enable php-fpm
- [root@web33 ~]# netstat -utnlp | grep :9000
- tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 26345/php-fpm: mast
步骤二:测试PHP
1)创建网页 test.php
- [root@web33 ~]# vim /usr/local/nginx/html/test.php
- <?php
- $i = 99;
- echo $i;
- ?>
- [root@web33 ~]# curl http://localhost/test.php
- 99
- [root@web33 ~]#
步骤二:测试MySQL服务
1)在主数据库服务器上添加连接MySQL服务的用户
- [root@mysql11 ~]# mysql -uroot -p123qqq…A
- mysql> create table gamedb.user(
- name char(10)); //建表
- mysql> grant select,insert,update,delete on gamedb.* to yaya@"%" identified by "123qqq...A"; //用户授权
2)在从服务器查看是否同步数据
- [root@mysql22 ~]# mysql -uroot -p123qqq…A
- mysql> show grants for yaya@"%"; //查看授权用户
- +--------------------------------------------------------------------+
- | Grants for yaya@% |
- +--------------------------------------------------------------------+
- | GRANT USAGE ON *.* TO 'yaya'@'%' |
- | GRANT SELECT, INSERT, UPDATE, DELETE ON `gamedb`.* TO 'yaya'@'%' |
- +--------------------------------------------------------------------+
- 2 rows in set (0.00 sec)
- mysql> desc gamedb.user; //查看库表
- +-------+----------+------+-----+---------+-------+
- | Field | Type | Null | Key | Default | Extra |
- +-------+----------+------+-----+---------+-------+
- | name | char(10) | YES | | NULL | |
- +-------+----------+------+-----+---------+-------+
3)测试读写分离服务
在网站服务器连接数据读写分离服务器77
- [root@web33 ~]# yum -y install mariadb //安装提供连接命令软件
- [root@web33 ~]# mysql -h192.168.88.77 -uyaya -p123qqq…A //连接读写分离服务
- #存储数据
- MySQL > insert into gamedb.user values("pmm");
- Query OK, 1 row affected (0.05 sec)
- #查询数据
- MySQL > select * from gamedb.user;
- +------+
- | name |
- +------+
- | pmm |
- +------+
6)在主服务器本机登录查看数据
- [root@mysql11 ~]# mysql -uroot -p123qqq…A -e 'select * from gamedb.user'
- mysql: [Warning] Using a password on the command line interface can be insecure.
- +------+
- | name |
- +------+
- | pmm |
- +------+
- [root@mysql11 ~]#
7)在web33主机编写访问php脚本存储数据
- [root@web33 ~]# vim /usr/local/nginx/html/test2.php
- <?php
- $conn=mysql_connect("192.168.4.77","yaya","123qqq...A");
- $sql='insert into gamedb.user(name) values("plj")';
- mysql_query($sql);
- mysql_close($conn);
- echo "save ok";
- ?>
- :wq
- #访问脚本
- [root@web33 ~]# curl http://localhost/test2.php
- save ok
- #在主数据库服务器查看数据
- [root@mysql11 ~]# mysql -uroot -p123qqq...A -e 'select * from gamedb.user'
- mysql: [Warning] Using a password on the command line interface can be insecure.
- +------+
- | name |
- +------+
- | yaya |
- | pmm |
- +------+
- [root@localhost ~]#
- #在从数据库服务器查看数据
- [root@mysql22 ~]# mysql -uroot -p123qqq...A -e 'select * from gamedb.user'
- mysql: [Warning] Using a password on the command line interface can be insecure.
- +------+
- | name |
- +------+
- | yaya |
- | pmm |
- +------+
- [root@localhost ~]#