部署中间件mysqlredisnginx
Posted mingyuewu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了部署中间件mysqlredisnginx相关的知识,希望对你有一定的参考价值。
部署中间件
2021-05-23
文章目录
版本: centos 7.6
一、知识点汇总
1 yum、systemctl命令介绍
https://blog.csdn.net/qq_44817119/article/details/106652942
2 make使用
https://www.w3cschool.cn/mexvtg/
3 Centos 与RHEL关系
CentOS 是将 RHEL 发行的源代码从新编译一次,形成一个可使用的二进制版本,CentOS 可以得到 RHEL 的所有功能,但 CentOS 并不向用户提供商业支持。是免费的REDHAT。
4 服务自启动
需要把该服务的启动脚本文件加入到/etc/init.d/目录下,用chkconfig命令添加该服务。linux服务器启动时,会自动启动init.d文件夹下的服务。
5 离线部署软件一般过程
(1)准备工作 编译工具、创建用户和用户组,安装依赖包等
(2)下载安装包解压、编译源代码安装 ,安装时prefix指定安装路径/usr/local/软件名称
(3)修改环境变量,将该软件的bin,sbin等目录加入环境变量
(4)服务开机自启动(启动脚本)启停 (安装的bin文件路径 配置文件路径 或者用systemctl )
(5)(看版本信息,进程号,端口,pid文件,直接使用该软件等)
(6)修改配置文件,配置具体的功能
二 、mysql
1 下载mysql安装包并上传至服务器
https://dev.mysql.com/downloads/mysql/
mysql8.0
可以用wget、curl下载安装包,也可以下载到笔记本上,用 winscp传上去
2 卸载CentOS7系统自带mariadb
(mariadb,mysql的一个分支)
# 查看系统自带的Mariadb
[root@CDH-141 ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
# 卸载系统自带的Mariadb
[root@CDH-141 ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 删除etc目录下的my.cnf
[root@CDH-141 ~]# rm /etc/my.cnf
# 参数--nodeps",也就是说不检查依赖
# 检查mysql是否存在
[root@CDH-141 ~]# rpm -qa | grep mysql
[root@CDH-141 ~]#
3 解压并安装mysql离线安装包
tar -xvf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
#-x 从压缩的文件中提取文件
#-c 建立新的压缩文件
#-v 显示操作过程
#-f 指定压缩文件
#逐个安装,命令如下,注意安装的顺序,包之间有依赖关系:
#【必须安装】
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm
#【非必须安装】
rpm -ivh mysql-community-libs-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-embedded-compat-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-devel-8.0.16-2.el7.x86_64.rpm
rpm -ivh mysql-community-test-8.0.16-2.el7.x86_64.rpm
#或者*匹配一次安装:
rpm -ivh mysql-community-*.rpm --nodeps --force
RPM方式安装Mysql后的默认安装目录
4 服务启停
有service(centos6) systemctl(centos7) 两个命令
使用rmp包安装的mysql会被自动加入到系统开机自启动。
# 1 开启服务
systemctl start mysqld
# 2 查看服务状态
systemctl status mysqld
# 3 停止服务
service mysqld stop 或者 systemctl stop mysqld
# 4 创建运行mysql的用户并给其授权MySQL目录
groupadd -r mysql && useradd -s /sbin/nologin -r -g mysql mysql
chown -R mysql:mysql /var/lib/mysql/
5 数据库操作
# 1查看临时密码
cat /var/log/mysqld.log
或者 grep 'temporary password' /var/log/mysqld.log
s(geMY!Vf6zh
# 2 用临时密码登录数据库
mysql -u root -p 回车
mysql -uroot 密码
输入密码
3 修改mysql 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Aa@123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Aa@123456' WITH GRANT OPTION;
参考链接:https://www.jb51.net/article/166632.htm
三、redis
1 redis 简介
非关系型数据库:键值对(Key-Value)存储数据库,Redis运行在内存中,也可以持久化到磁盘
可存储的数据类型:值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
从数据库类型看,MYSQL是关系型数据库,redis是键值对缓存数据库
从作用上看,mysql用于持久化,存储数据到硬盘,redis用于存储使用较为频繁的数据到缓存中。
2 离线部署
(1)安装gcc
gcc --version # 检测是否安装gcc
g++ --version # 检测是否安装g++ where is g++
yum install -y gcc gcc-c++
(2)下载redis包
#在/usr/local/redis 目录下
curl -O http://download.redis.io/releases/redis-5.0.4.tar.gz
# curl是一个利用URL规则在命令行下工作的文件传输工具
#解压
tar -zxvf /usr/local/redis-5.0.4.tar.gz
(3)编译安装到指定目录
一般将源码放在/usr/local/src下
安装后的软件放在/usr/local/redis/下
cd redis-5.0.8/src
make all && make install PREFIX=/usr/local/redis
#创建一些目录
mkdir -v /usr/local/redis/log,data,etc,run
touch /usr/local/redis/log/redis.log
cp /usr/local/src/redis-5.0.8/redis.conf /usr/local/redis/etc
#修改环境变量
cat >>/etc/profile<< EOF
export PATH="\\$PATH:/usr/local/redis/bin"
EOF
source /etc/profile
(4)修改redis配置文件
cd /usr/local/redis/etc/
sed -i "s/daemonize no/daemonize yes/g" redis.conf
sed -i "s/^bind 127.0.0.1/bind 192.168.1.100/g" redis.conf
sed -i "s/^port 6379/port 7369/g" redis.conf
sed -i "s@pidfile /var/run/redis_6379.pid@pidfile /usr/local/redis/run/redis_7369.pid@g" redis.conf
sed -i "s@logfile ""@logfile "/usr/local/redis/log/redis.log"@g" redis.conf
sed -i "s@^dir ./@dir /usr/local/redis/data@g" redis.conf
sed -i "s@^# requirepass foobared@requirepass 密码@g" redis.conf
sed -i "s@^appendonly no@appendonly yes@g" redis.conf --根据环境要求开启AOF
###########参数解释
daemoninze 让redis以守护进程方式运行
bind 可以连接到redis的IP dir路径为数据库文件位置 aof为持久化策略
(5)启动redis
软件启动的一般方法
(1) bin文件路径 配置文件路径
/usr/local/redis/bin/redis-server /usr/local/redis/etc/conf/redis.conf
(2)systemctl 命令启动
(1)到源码目录下启动
cd /usr/local/redis/redis-5.0.4/src
./redis-server
(2)在安装位置的bin目录启动
cd /usr/local/redis/bin
./redis-server
(3)将/usr/local/redis/bin/* 链接到 /usr/local/bin/
ln -s /usr/local/redis/bin/* /usr/local/bin/
#链接后即可全局使用/usr/local/redis/bin中的命令,就是redis-server,redis-cli等命令不用在进入到该目录下,可以在任意位置执行,/usr/local/bin目录下放置的是本地下载的软件新增加的命令
# 在任意位置执行
redis-server
即可启动redis
(6)添加到系统服务并设置开机自启动
系统服务是linux在开机时自动启动,linux系统关机时自动结束的服务。
用户可以把某些服务自定义为系统服务。以下为针对centos7的系统服务启动脚本。
cat >/usr/lib/systemd/system/redis.service<<EOF
[Unit]
Description=redis-server
Requires=network-online.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf --daemonize no
Restart=always
RestartSec=5
User=mysql
Group=mysql
LimitNOFILE=65536
[Install]
WantedBy=multi-user.target
EOF
(7)测试部署是否成功
#查进程号
ps -aux | grep redis
#查端口号
netstat -antp | grep 6379
#查pid文件
/usr/local/redis/run/redis_6379.pid
[redis的配置文件有pid文件的路径]
#客户端连接测试
/usr/local/redis/bin/redis-cli
或者直接执行redis-cli 命令
set username yueliang
get username
#停止 redis
/usr/local/redis/bin/redis-cli shutdown 或者 redis-cli shutdown
#在笔记本上用python测试是否可写入数据库(需设置配置文件中的bind 0.0.0.0)
import redis
r = redis.Redis(host='106.12.125.249', password='redis123456', port=6379, db=0);
r.set('name','yueliang') ;
print(r.get('name'));
四、nginx
1 简介 nignx
Nginx是一款轻量级的Web服务器电子邮件(IMAP/POP3)代理服务器
2 离线安装
(1) 准备环境
# 安装编译工具等
yum -y install gcc gcc-c++ automake autoconf libtool make wget net-tools
yum install -y libxslt* libxml2* gd-devel perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data
#创建执行nginx的用户和用户组
groupadd -r nginx && useradd -s /sbin/nologin -r -g nginx nginx
mkdir /usr/local/nginx
chown -R nginx:nginx /usr/local/nginx
(2)下载nginx安装包和nginx的依赖pcre、zlib、openssl
https://nginx.org/download/
# nginx zlib openssl nginx都放置在/usr/local/src目录下
wget https://nginx.org/download/nginx-1.9.7.tar.gz
# pcre、zlib、openssl同理下载解压
#解压
tar -zxvf nginx-1.9.7.tar.gz
(3) 编译安装pcre、zlib、openssl、nginx
##########编译安装pcre、zlib、openssl、nginx
tar -zxvf pcre-8.44.tar.gz
cd pcre-8.44/
./configure --prefix=/usr/local/pcre
make && make install
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/usr/local/pcre
make && make install
tar -zxvf openssl-1.1.1g.tar.gz
cd openssl-1.1.1g
./config --prefix=/usr/local/openssl
make && make install
#####################创建一堆软链接
ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib/
ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/local/lib/
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib/
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib/
ln -s /usr/local/lib/libssl.so.1.1 /usr/lib64/
ln -s /usr/local/lib/libcrypto.so.1.1 /usr/lib64/
/usr/local/openssl/bin/openssl version
ldd /usr/local/openssl/bin/openssl
ldconfig -v
mv /usr/bin/openssl /usr/bin/openssl.old
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
#############################检查openssl是否安装成功
openssl version
OpenSSL 1.1.1g 31 Mar 2020
##########################################安装nginx
nginx,nginx会调用pcre zlib openssl 在安装nginx是需告诉nginx 这些依赖包的源码位置在哪
cd /usr/local/src/nginx-1.19.1
./configure \\
--prefix=/usr/local/nginx \\
--pid-path=/usr/local/nginx/logs/nginx.pid \\
--user=nginx \\
--group=nginx \\
--with-http_ssl_module \\
--with-http_v2_module \\
--with-http_dav_module \\
--with-http_flv_module \\
--with-http_realip_module \\
--with-http_addition_module \\
--with-http_xslt_module \\
--with-http_stub_status_module \\
--with-http_sub_module \\
--with-http_random_index_module \\
--with-http_degradation_module \\
--with-http_secure_link_module \\
--with-http_gzip_static_module \\
--with-http_perl_module \\
--with-pcre=/usr/local/src/pcre-8.44 \\
--with-zlib=/usr/local/src/zlib-1.2.11 \\
--with-openssl=/usr/local/src/openssl-1.1.1g \\
--with-debug \\
--with-file-aio \\
--with-mail \\
--with-mail_ssl_module \\
--http-client-body-temp-path=/usr/local/nginx/client_body \\
--http-proxy-temp-path=/usr/local/nginx/proxy \\
--http-fastcgi-temp-path=/usr/local/nginx/fastcgi \\
--http-uwsgi-temp-path=/usr/local/nginx/uwsgi \\
--http-scgi-temp-path=/usr/local/nginx/scgi \\
--with-stream \\
--with-ld-opt="-Wl,-E"
make && make install
(4)服务启停
#将nginx加入环境变量
cat >>/etc/profile<<EOF
NGINX_HOME=/usr/local/nginx
PATH=\\$NGINX_HOME/sbin:\\$PATH
EOF
source /etc/profile #刷新环境变量配置文件使其生效
(5)检查服务状态
以上是关于部署中间件mysqlredisnginx的主要内容,如果未能解决你的问题,请参考以下文章