目录
1.安装MYSQL5.7.30
1.1.官网下载MySQL5.7.30的RPM安装包
1.2.卸载CentOS7系统自带的mariadb
先检查有没有安装mariadb
rpm -qa|grep mariadb
我有个mariadb-libs-5.5.56-2.el7.x86_64,把它给卸载了
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
再次查看,mariadb已删除
rpm -qa|grep mariadb
1.3.安装libaio、perl、net-tools库,要不就会报错
yum -y install libaio perl net-tools
1.4.rz上传安装包到/usr/local/mytools
1.5.建个目录并将安装文件解压到此目录
mkdir /usr/local/mysql-5.7.30 cd /usr/local/mytools
tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar -C /usr/local/mysql-5.7.30
1.6.进入目录准备安装
cd /usr/local/mysql-5.7.30
开始安装,-ivh 其中i表示安装,v表示显示安装过程,h表示显示进度
rpm -ivh mysql-community-common-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.30-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.30-1.el7.x86_64.rpm
1.7.启动mysqld服务
systemctl start mysqld
systemctl status mysqld
注1:安装完成后的服务名叫mysqld
systemctl start mysqld
1.8.登录mysql修改密码
查询生成的临时密码
grep "password" /var/log/mysqld.log
登录mysql
mysql -u root -p
查看mysql初始的密码策略:
SHOW VARIABLES LIKE 'validate_password%';
设置密码校验策略(0 or LOW),要不密码太LOW不让你过
set global validate_password_policy=0;
设置密码校验长度,要不密码太短不让你过(多次测试发现密码最小长度为4位)
set global validate_password_length=4;
更新密码
set password = password("1234");
输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
可以退出,试试用新密码重新登录
quit
1.9.修改mysql的字符集为utf8
登陆mysql之后,可以通过如下命令查看mysql的字符集
show variables like 'chara%';
quit;
以下命令为linux命令
修改配置文件设置 MySQL 字符集为 UTF-8
vim /etc/my.cnf
[mysqld]
在mysqld最下面加入二行代码
character-set-server=utf8
collation-server=utf8_general_ci
client为自己添加 [client]
default-character-set=utf8
1.10.Centos7下无法远程连接mysql数据库
1.数据库没有授权,允许以root身份远程登录mysql
重复修改密码的三条命令
SHOW VARIABLES LIKE 'validate_password%';
set global validate_password_policy=0;
set global validate_password_length=4;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;
输入后使修改生效还需要下面的语句
FLUSH PRIVILEGES;
2.服务器防火墙没有开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
firewall-cmd --list-port
firewall-cmd --query-port=3306/tcp
2.mysql数据库数据导出/导入
Navicat导出表结构及少量数据
3.ssh2项目部署到CentOS7的tomcat通过8080访问
注1:重启虚拟机后,发现有时候linux中的tomcat启动失败,应该将tomcat服务在mysql服务启动后启动。重要!!!
注2:可将WEB项目部署到不同的tomcat中,可做集群测试
4. CentOS7中使用yum安装Nginx的方法
1.添加 nginx 官方提供的 yum 源(需要联网且时间较长)
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm
2.使用 yum 安装 nginx
yum install nginx
注1:yum方式安装nginx,它的安装根目录为/etc/nginx
注2:查看nginx版本
rpm -qa | grep nginx
3.启动及设置开机启动
systemctl start nginx.service
systemctl enable nginx.service
4.设置防火墙开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload && firewall-cmd --list-port
5.测试 nginx 是否可被访问,应该显示nginx的欢迎界面
http://192.168.183.144:80
5. SPA项目部署/Tomcat集群/Tomcat动态代理
1.将SPA项目压缩并上传到/usr/share/nginx/html目录,再解压,再删除zip包
cd /usr/share/nginx/html
rz
unzip crm.zip
rm crm.zip
2.修改/etc/nginx/conf.d/default.conf文件
进入/etc/nginx/conf.d目录,并对default.conf进行备份
cd /etc/nginx/conf.d && cp default.conf default.conf.bak
编辑default.conf文件,详情见:资料/default-template.conf
vim default.conf
注1:为什么编辑default.conf而不直接编辑/etc/nginx/nginx.conf文件了呢?
因为在这个版本的nginx.conf文件的最后一行,通过include命令已经包含了default.conf,
所以还是相当于修改了nginx.conf文件
include /etc/nginx/conf.d/*.conf;
3.在进行Nginx+Tomcat负载均衡的时候有可能遇到一个权限问题,在error.log日志中,我们可以看到如下错误: connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, 解决方案如下:
检查网络访问的配置
getsebool -a | grep httpd_can_network_connect
如结果如下
httpd_can_network_connect --> off
执行:
setsebool -P httpd_can_network_connect 1
reboot
4.重新修改window中的hosts文件,指向nginx所在虚拟机的IP
注1:通过虚拟域名访问,还要修改window的hosts文件添加虚拟域名映射,文件位置如下:
C:\Windows\System32\drivers\etc\hosts
另外,此文件有可能出现由于当前用户权限不够,出现无法修改的情况?解决方案
将此文件复制到d硬盘任一目录,修改后,再复制替换C:\Windows\System32\drivers\etc\hosts原文件
6.重启nginx,即可完成部署
systemctl restart nginx
systemctl status nginx
注1:查看nginx的访问日志和错误日志
/var/log/nginx/access.log
/var/log/nginx/error.log
注2:查看nginx版本
rpm -qa | grep nginx