可道云部署

两台机器 一台装数据库,一台装nginx服务

屏幕截图 20230729 115503.png

1.准备MySQL数据库

# 设置主机名
[root@myx ~]#hostnamectl set-hostname db

[root@db /etc/yum.repos.d]#cat mysql.repo 
[mysql-5.7-community]
name=MySQL 5.7 Community Server
baseurl=https://mirrors.tuna.tsinghua.edu.cn/mysql/yum/mysql-5.7-community-el7-$basearch/
enabled=1
gpgcheck=1
gpgkey=https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

[root@db ~]#yum install -y mysql-community-server
[root@db ~]#systemctl enable --now mysqld
[root@db ~]#grep 'password' /var/log/mysqld.log | head -n 1
[root@db ~]#mysql -uroot -p'j.aKx/uue3Jn'
mysql>set global validate_password_policy=LOW;	#关闭检查密码复杂性
mysql>set global validate_password_length=6;	#设置管理员密码长度
mysql>ALTER USER USER() IDENTIFIED BY '123456';

mysql> create database kodbox;
Query OK, 1 row affected (0.00 sec)

mysql> create user kodbox@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all on kodbox.* to kodbox@'10.0.0.%';
Query OK, 0 rows affected (0.00 sec)

mysql>quit

2. 准备 Redis 服务

[root@db ~]#cd /etc/yum.repos.d/
[root@db ~]#rm -rf epel*
[root@db ~]#yum install wget -y
[root@db ~]#wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@db ~]#yum -y install redis
[root@db ~]#vim /etc/redis.conf
bind 0.0.0.0   #修改此行
[root@db ~]#systemctl enable --now redis

3.准备 Nginx 服务

# 设置主机名
[root@myx ~]#hostnamectl set-hostname lnp

[root@lnp ~]#cd /etc/yum.repos.d/
[root@lnp ~]#rm -rf epel*
[root@lnp ~]#yum install wget -y
[root@lnp ~]#wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
[root@lnp ~]#yum -y install nginx
[root@lnp ~]#mkdir -pv /data/html

#创建配置文件
[root@lnp ~]#vim /etc/nginx/conf.d/kod.conf
[root@lnp ~]#cat /etc/nginx/conf.d/kod.conf
server {
	listen 80;
	server_name 10.0.0.90;
	root /data/html;
	client_max_body_size 200M;

	location / {
		index index.php index.html;
	}
	location ~ \.php$ {
		fastcgi_pass 127.0.0.1:9000;
		fastcgi_index index.php;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		include fastcgi_params;
	}
}

[root@lnp ~]#systemctl --now enabled nginx

4.CentOS7 php 支持 redis

[root@lnp ~]#yum -y install https://mirror.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm

#安装必要的包
[root@lnp ~]#yum -y install php74-php-fpm php74-php-mysqlnd php74-php-pecl-redis5 php74-php-mbstring php74-php-xml php74-php-gd

[root@lnp ~]#vim /etc/opt/remi/php74/php-fpm.d/www.conf
user = nginx
group = nginx
listen = 127.0.0.1:9000

#文件最后修改下面两行,IP地址写安装redis服务器的地址
php_value[session.save_handler] = redis
php_value[session.save_path] = "tcp://IP:6379"

5.准备可道云程序

[root@lnp ~]#wget https://static.kodcloud.com/update/download/kodbox.1.42.zip
[root@lnp ~]#unzip kodbox.1.42.zip -d /data/html
[root@lnp ~]#chown -R nginx.nginx /data/html

#启动php服务
[root@lnp ~]#systemctl start php74-php-fpm

#在浏览器输入IP查看

出现问题排查流程:配置文件(是否有执行权限) -> 数据库 (用户是否创建,是否有权限..) -> 防火墙(是否关闭)

查看端口信息

[root@lnp /etc/nginx/conf.d]#ss -ntlp

MySQL主从复制

再开一台机器装MySQL数据库

永久设置主机名:

[root@db2 ~]#hostnamectl set-hostname db2

Ctrl+D 登出

主节点配置:

(1) 启用二进制日志

vim /etc/my.cnf

#[mysqld]下新增下面两行
server-id=8
log-bin

重启MySQL :restart  
开机自启动 :enable

(2) 查看二进制文件和位置

mysql> show master logs;
+----------------+-----------+
| Log_name       | File_size |
+----------------+-----------+
| myx-bin.000001 |       154 |
+----------------+-----------+
1 row in set (0.00 sec)

(3) 创建复制用户

mysql> grant replication slave on *.* to myx@'10.0.0.%' identified by '123456';
Query OK, 0 rows affected, 1 warning (0.00 sec)

从节点配置:

(1) 启动中继日志

vim /etc/my.cnf

#[mysqld]新增一行
server_id=21 

重启MySQL :systemctl restart mysqld  

(2)登录数据库

mysql> CHANGE MASTER TO 
    -> MASTER_HOST='10.0.0.13',
    -> MASTER_USER='kod',
    -> MASTER_PASSWORD='123456',
    -> MASTER_PORT=3306,
    -> MASTER_LOG_FILE='db-bin.000001',
    -> MASTER_LOG_POS=1458;
Query OK, 0 rows affected, 2 warnings (0.02 sec)

mysql> start slave;
Query OK, 0 rows affected (0.00 sec)

mysql> show slave status\G
            Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

#新建数据库测试
主: 新建test数据库
mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.00 sec)

从:查看test数据库
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| kodbox             |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)

#测试
主: 删除test数据库
mysql> drop DATABASE test;
Query OK, 0 rows affected (0.00 sec)
从:再次查看
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| kodbox             |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)