乐趣区

关于centos:centos7上tar包安装nginxnodejsgitmongodbredismysql环境

总结以下罕用的须要装置的运行依赖,目前用到的包含 nginx,nodejs,git,mongodb,redis,mysql。

装置 nginx

  • 装置所需插件
# 装置 gcc 
yum -y install gcc
# pcre、pcre-devel 装置 
yum install -y pcre pcre-devel
# zlib 装置 
yum install -y zlib zlib-devel
# 装置 openssl 
yum install -y openssl openssl-devel
  • 装置 nginx
# 下载 nginx 安装包
wget http://nginx.org/download/nginx-1.20.0.tar.gz
# 解压压缩包
tar -zxvf  nginx-1.20.0.tar.gz
# 切换到 /usr/local/nginx-1.20.0 下编译装置
./configure
make
make install
  • 启动进行 nginx(举荐应用 systemd 进行治理)
# 查找装置门路
whereis nginx
cd /usr/local/nginx/sbin
# 启动 nginx
./nginx
# 此形式相当于先查出 nginx 过程 id 再应用 kill 命令强制杀掉过程
./nginx -s stop
# 此形式进行步骤是待 nginx 过程解决工作结束进行进行
./nginx -s quit
# 重启 nginx
./nginx -s reload
  • 应用 systemd 治理
# 创立 nginx.service 文件
vim /lib/systemd/system/nginx.service
# 写入内容如下
[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 治理 nginx 服务
# 启动 nginx
systemctl start nginx.service
# 进行 nginx
systemctl stop nginx.service
# 重启 nginx
systemctl reload nginx.service
# 将 nginx 退出开机启动
systemctl enable nginx.service
# 将 nginx 从开机启动中移除
systemctl disable nginx.service

参考链接:

https://blog.csdn.net/qq_3734…
https://www.cnblogs.com/boony…
https://blog.csdn.net/yunweim…

装置 nodejs

  • 下载 nodejs 压缩包

官网地址:http://nodejs.cn/download/

wget https://npm.taobao.org/mirrors/node/v14.16.1/node-v14.16.1-linux-x64.tar.xz
  • 解压缩
tar -xvf node-v14.16.1-linux-x64.tar.xz
mkdir -p /usr/local/nodejs
mv node-v14.16.1-linux-x64/* /usr/local/nodejs/
  • 创立软链接
# 建设 node 软链接
ln -s /usr/local/nodejs/bin/node /usr/local/bin
# 建设 npm 软链接
ln -s /usr/local/nodejs/bin/npm /usr/local/bin
  • 更换镜像源
# 设置国内淘宝镜像源
npm config set registry https://registry.npm.taobao.org
# 查看设置信息
npm config list
  • 验证是否胜利
node -v
npm -v

参考链接:
https://blog.csdn.net/qq_3795…

装置 git

  • 装置依赖包
sudo yum install -y gcc-c++
sudo yum install -y zlib-devel perl-ExtUtils-MakeMaker
  • 去官网下载最新的 git 源码包
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.31.1.tar.gz
  • 解压,配置,装置
# 解压
tar -zxvf git-2.31.1.tar.gz
# 创立一个文件夹作为 git 装置门路
mkdir git
cd git-2.30.1
# 指定装置门路
./configure --prefix=/usr/local/git
# 编译
make
# 装置
make install
  • 设置环境变量
vim /etc/profile
# 在文件开端追加 git 执行文件目录
PATH=$PATH:/usr/local/git/bin
# 使文件失效
source /etc/profile
  • 查看 git 版本
git --version

装置 mongodb

  • 下载 MongoDB 安装包
  • 解压安装包
tar -xzvf mongodb-linux-x86_64-rhel70-4.2.13.tgz
# 重命名
mv mongodb-linux-x86_64-rhel70-4.2.13 mongodb-4.2
  • 装置 MongoDB
cd mongodb-4.2
# 创立 log 和 data 用于寄存日志和数据
mkdir log data
# 增加配置文件 mongodb.conf
vim mongodb.conf
# 增加以下配置 
# mongod.conf

# for documentation of all options, see:
 #   http://docs.mongodb.org/manual/reference/configuration-options/

# where to write logging data.
 systemLog:
   destination: file
   logAppend: true
   path: /usr/local/mongodb-4.2/log/mongodb.log

# Where and how to store data.
 storage:
   dbPath: /usr/local/mongodb-4.2/data
   journal:
     enabled: true
 #  engine:
 #  wiredTiger:

# how the process runs
 processManagement:
   fork: true  # fork and run in background
   pidFilePath: /usr/local/mongodb-4.2/mongod.pid  # location of pidfile
   timeZoneInfo: /usr/share/zoneinfo

# network interfaces
 net:
   port: 27017
   bindIp: 0.0.0.0  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
  • 设置环境变量
vim /etc/profile
# 在文件开端追加 git 执行文件目录
PATH=$PATH:/usr/local/mongodb-4.2/bin
# 使文件失效
source /etc/profile
  • 应用 systemd 治理 mongodb
# 创立 mongodb.service 文件
vim /lib/systemd/system/mongodb.service
# 写入内容如下
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/mongodb-4.2/bin/mongod --config  /usr/local/mongodb-4.2/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb-4.2/bin/mongod --shutdown --config  /usr/local/mongodb-4.2/mongodb.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • 治理 mongodb 状态
# 启动 mongodb
systemctl start mongodb.service
# 进行 mongodb
systemctl stop mongodb.service
# 重启 mongodb
systemctl reload mongodb.service
# 将 mongodb 退出开机启动
systemctl enable mongodb.service
# 将 mongodb 从开机启动中移除
systemctl disable mongodb.service

参考文章:

https://www.cnblogs.com/lijia…
https://www.cnblogs.com/shiky…

装置 Redis

  • 下载并解压安装包
wget http://download.redis.io/releases/redis-6.2.2.tar.gz
tar -zxvf redis-6.2.2.tar.gz
  • 编译并装置
# 创立装置目录
mkdir redis
# 编译
cd redis-6.2.2
make
# 装置到指定目录
make install PREFIX=/usr/local/redis
  • 创立配置文件
# 从 redis 的源码目录中复制 redis.conf 到 redis 的装置目录
cp /usr/local/redis-6.2.2/redis.conf /usr/local/redis/bin/
# 批改 redis.conf 文件
daemonize yes #守护过程 默认值为:no
#bind 127.0.0.1 #绑定地址 将其正文
protected-mode no #敞开保护模式,此时内部网络能够间接拜访 默认值为:yes
  • 应用 systemd 治理
# 创立 redis.service 文件
vim /lib/systemd/system/redis.service
# 增加以下内容
[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target
  • redis 治理命令
systemctl start redis.service   #启动 redis 服务
systemctl stop redis.service   #进行 redis 服务
sysemctl restart redis.service   #重新启动服务
systemctl status redis.service   #查看服务以后状态
systemctl enable redis.service   #设置开机自启动
systemctl disable redis.service   #进行开机自启动 
  • 创立 redis 命令软链接
ln -s /usr/local/redis/bin/redis-cli /usr/bin/
  • 应用 redis-cli 测试
redis-cli

参考链接:https://www.cnblogs.com/heqiu…

装置 mysql

  • 查看零碎是否装置过 mysql
# 查问所有 mysql 对应的文件夹,全副删除
whereis mysql
find / -name mysql
  • 卸载 CentOS7 零碎自带的 mariadb
# 查看零碎自带的 Mariadb
[root@VM-12-9-centos ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.44-2.el7.centos.x86_64
# 卸载零碎自带的 Mariadb
[root@VM-12-9-centos ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
# 删除 etc 目录下的 my.cnf,肯定要删掉,等下再从新建
[root@VM-12-9-centos ~]# rm -rf /etc/my.cnf
  • 查看有无装置过 mysql 用户组,没有的话创立
# 查看 mysql 用户组是否存在
cat /etc/group | grep mysql
cat /etc/passwd | grep mysql

# 创立 mysql 用户组和用户
groupadd mysql
useradd -r -g mysql mysql
  • 下载安装包,从官网装置下载, 我下载的地位在 /usr/local/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
  • 解压装置
# 解压
tar -zxvf mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz
# 重命名为 mysql
mv mysql-5.7.31-linux-glibc2.12-x86_64 mysql
# 更改 mysql 目录下所有文件夹所属的用户组和用户,以及权限
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
  • 初始化 mysql
# 创立 data 目录
mkdir /usr/local/mysql/data
# 初始化,控制台中会打印长期明码
/usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
# 保留结尾处的长期明码,后续应用客户端时需用此明码登录
[root@VM-12-9-centos bin]# ./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir=/usr/local/mysql
2021-04-27T06:23:19.882305Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2021-04-27T06:23:20.192179Z 0 [Warning] InnoDB: New log files created, LSN=45790
2021-04-27T06:23:20.273220Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2021-04-27T06:23:20.343826Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 0fa9325e-a721-11eb-a87c-5254009d3ad8.
2021-04-27T06:23:20.348927Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2021-04-27T06:23:21.462427Z 0 [Warning] CA certificate ca.pem is self signed.
2021-04-27T06:23:21.570135Z 1 [Note] A temporary password is generated for root@localhost: qitk>aF<%5yO
  • 编写配置文件 my.cnf,并增加配置
vim /etc/my.cnf
# 插入以下配置
[mysqld]
datadir=/usr/local/mysql/data
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=400
innodb_file_per_table=1
lower_case_table_names=1
  • 启动 mysqld
/usr/local/mysql/support-files/mysql.server start
  • 应用 systemd 进行治理
vim /lib/systemd/system/mysql.service
# 增加以下配置
[Unit]
Description=MySQL Server
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target

[Service]
User=mysql
Group=mysql
# mysql pid 文件记录的是以后 mysqld 过程的 pid
# 通过 Mysqld_safe 启动 mysql 时,mysqld_safe 会查看 pid 文件,未指定 PID 文件时,pid 文件默认名为 $DATADIR/`hostname`.pid
PIDFile=/usr/local/mysql/data/VM-12-9-centos.pid
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf
Restart=on-failure
RestartPreventExitStatus=1
TimeoutSec=0
PrivateTmp=false

[Install]
WantedBy=multi-user.target
  • 应用 systemd 治理 mysql 命令
systemctl start mysql.service   #启动 mysql 服务
systemctl stop mysql.service   #进行 mysql 服务
sysemctl restart mysql.service   #重新启动服务
systemctl status mysql.service   #查看服务以后状态
systemctl enable mysql.service   #设置开机自启动
systemctl disable mysql.service   #进行开机自启动 
  • 增加客户端软链接
ln -s /usr/local/mysql/bin/mysql /usr/bin/
  • 客户端登录并批改明码
# 明码为之前初始化 mysql 时保留的长期明码
mysql -u root -p
# 批改明码
set password for root@localhost = password('新密码');

参考文章:

https://www.cnblogs.com/wpnr/…
https://blog.csdn.net/supaher…
https://www.cnblogs.com/justf…

退出移动版