centos7.4 迁移项目
2022-08-17 本文已影响0人
字字经心
centos7.4 install nginx1.21/php7.3/mysql5.7 做一些笔记,逐个安装有些麻烦,赶快用docker 容器来自动部署。
install nginx1.21
centos7.4 install software
============ nginx1.21
yum install epel-release
yum install nginx
systemctl start nginx
systemctl status nginx
# 设置开机启动nginx
systemctl enable nginx
# 修改了nginx 的配置
nginx -t
nginx -s relaod 或者 systemctl reload nginx
install php7.3
============ php7.3
sudo yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum -y install epel-release yum-utils
sudo yum-config-manager --disable remi-php54
sudo yum-config-manager --enable remi-php73
sudo yum -y install php php-cli php-fpm php-mysqlnd php-zip php-devel \
php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath \
php-json
php -v
# 安装php 的扩展
sudo yum install php-<entension-name>
systemctl enable php-fpm.service
systemctl status php-fpm.service
systemctl start php-fpm.service
systemctl stop php-fpm.service
# 重新加载配置, 别漏了reload这一步
systemctl reload php-fmp
systemctl restart php-fpm
install mysql5.7
============ mysql5.7
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum localinstall mysql57-community-release-el7-8.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum install mysql-community-server
systemctl start mysqld.service
# 开机启动
systemctl enable mysqld.service
# 临时密码
grep "password" /var/log/mysqld.log
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'C7Q#6xxxxx';
接下来迁移项目代码和数据库,如果细节处理不好,由于数据量比较大,就会很浪费时间。因此记录一下:
迁移项目代码
# 查看当前目录下各个file/directory size
du -ah --max-depth=1 | sort -h
# 忽略一些不用打包的问题,加快打包时间
tar -zcf why_zhejiang.tar.gz --exclude=webroot/a/* --exclude=webroot/b/* webroot/
迁移数据库
# 建议先到my.cnf 看数据存放目录datadir=/disk/lib/mysql
cd /disk/lib/mysql
cd why
# 查看那个表最大,是否可以不迁移
du -ah --max-depth=1 | sort -h
# 开始
mysqldump -uroot -p$(cat /data/mysql/mysql_password) \
--socket=/var/lib/mysql/mysql.sock --single-transaction \
why >> why.sql
# 迁移到目标库
mysql -uroot -p$(cat /data/mysql/mysql_password) << EOF
< create database why DEFAULT CHARSET=utf8mb4;
< use why;
< source /data/tmp/why.sql
< EOF
# 为这个库创建用户
grant all on why.* to why_user@'localhost' identified by 'fffff-';
grant all on why.* to why_user@'127.0.0.1' identified by 'fffff-';
迁移定时任务
# work 用户下
crontab -l >> work_crontab