Linux部署环境手册

1.redis

1.1、解压

tar -zxvf redis-6.2.4.tar.gz

1.2、编译

# 进入 redis解压后的目录
cd  /myapp/software/redis-6.2.4/
# 编译
make

1.3、编译完成后进行安装

make install

之后进入 /usr/local/bin目录下可以看到 redis-serverredis-cli 等 文件,

如下所示:

redis-server:Redis服务器端启动程序
redis-cli:Redis客户端操作工具。也可以用telnet根据其纯文本协议来操作
redis-benchmark:Redis性能测试工具
redis-check-aof:数据修复工具
redis-check-rdb:检查导出工具

1.4、开启redis-server 服务

# 2. 进入 /usr/local/bin 目录下,执行下面命令启动
redis-server 
# 3. 开启redis 客户端
redis-cli

1.6、修改配置文件 redis.conf

1.7、修改密码

# 进入redis的安装目录,
cd /myapp/software/redis-6.2.4
# 编辑redis.conf 文件
vim redis.conf
# 修改requirepass 
requirepass 123456

1.8、修改ip绑定

把有时需要别人连接我们的redis,这时需要我们修改redis.conf文件,配置ip绑定。ctrl+f查找“bind”,两种修改方式,修改成“bind 0.0.0.0”或者注释掉,这里我直接注释掉了。

#注释掉即可
#bind 127.0.0.1

1.9、默认为保护模式即可,防止被攻击

appendonly yes

1.10、修改防止数据丢失

# 1.取消之前的注释(开启快照(按照一定的时间间隔执行持久化))
save 120 1
save 300 100
save 60 10000
# 2.打开AOF
appendonly yes

打开作用: 快照不是很持久。如果您运行Redis的计算机停止运行,您的电源线发生故障,或者您不小心kill -9您的实例,Redis上写入的最新数据将丢失。虽然这对于某些应用程序来说可能不是什么大问题,但存在完全持久性的用例,在这些情况下,Redis 不是一个可行的选择。

只追加文件是Redis的选择,完全耐用的策略。它在 1.1 版中可用。

您可以在配置文件redis.conf中打开 AOF:

1.11、让持久化可以生效

# 编辑这个文件
vim /etc/sysctl.conf

# 在文件最后添加 一句话
vm.overcommit_memory=1

# 让设置立即生效
sysctl -p 

1.12、让redis按照配置启动

(让redis 按照配置的redis.conf启动)

# 进入根目录下
cd /
# 执行
/usr/local/bin/redis-server /myapp/software/redis-6.2.4/redis.conf 

注意:

第一次启动redis服务在哪个目录,下次还在哪个目录下面启动,就不会出现数据丢失的问题(除非设置默认地址)

2、mysql

2.1、先安装yum ,

否则安装下面的wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 就会报错

yum -y install wget

2.2、获取mysql社区版

下载 yum上mysql的资源有问题,所以不能仅仅之用yum。在使用yum之前还需要用其他命令获取mysql社区版

cd /tmp
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm  
rpm -ivh mysql-community-release-el7-5.noarch.rpm 

2.3、通过yum进行安装

yum install mysql mysql-server mysql-devel -y

2.4、启动

以上只是安装,执行如下命令才能启动mysql服务器:

systemctl start mysql.service

2.5、验证

安装后会自动启动,启动后会占用3306端口。 使用如下命令查看3306端口是否启动,如果启动了则表示mysql处于运行状态。

netstat -anp|grep 3306

2.6、Linux创建密码并登录

通过Yum安装的mysql的管理员账户是没有密码的,这里通过命令设置其密码为 123456 ,尽量使用这个密码哦

mysqladmin -u root password 123456

注: Warning信息并非提示设置失败,而是告诉大家密码露出来了,当心背后有人~

image-20220129135114284

22

t

2.7、登录验证

使用如下命令登陆

mysql -uroot -p123456

登录成功后输入

show databases;

结果

2.8、mysql常用命令

# 1、使用mysql 数据库
use mysql
# 2. 使root 用户 可以再任何host 访问
update user set host = '%' where user = 'root';
# 3. 刷新,让修改生效 
FLUSH PRIVILEGES; 

3、nginx

3.1、安装依赖包

#一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

3.2、下载并解压安装包

# 1. 创建一个指定的文件夹用于存放nginx的安装包
/myapp/software/nginx

# 2. 进入nginx文件夹中
cd /myapp/software/nginx

# 3. 下载nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz

# 4. 解压到当前文件夹
tar -zxvf nginx-1.13.7.tar.gz

3.3、安装nginx

# 1. 进入 /myapp/software/nginx/nginx-1.13.7   目录
cd /myapp/software/nginx/nginx-1.13.7
# 2. 执行命令
./configure
# 3. 执行make 命令进行编译nginx
make
# 4. 执行make install	命令进行安装
make install

3.4、配置nginx.conf

# 编写/usr/local/nginx/conf 目录下的文件nginx.conf 文件
vim /usr/local/nginx/conf/nginx.conf

# 2.修改server的监听listen  和 server_name 2个属性(这里监听的端口为 8089  服务的地址为: 192.168.83.129)
server {
        listen       8089;
        server_name  192.168.83.129;

        #charset koi8-r;

3.5、启动nginx

/usr/local/nginx/sbin/nginx -s reload

如果出现报错:nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed

则运行: /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

再次启动即可!

3.6、查看nginx 是否启动:

ps -ef|grep nginx

如下所示:

root      32665  43113  0 21:22 pts/5    00:00:00 grep --color=auto nginx
root      81997      1  0 21:01 ?        00:00:00 nginx: master process /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
nobody    81998  81997  0 21:01 ?        00:00:00 nginx: worker process

记得开启防火墙,开启80端口

#查看所有打开的端口:
firewall-cmd --zone=public --list-ports

#添加80端口 (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=80/tcp --permanent   

#重新载入
firewall-cmd --reload

3.5、安装完成后常用命令

启动 关闭 重启

nginx操作命令前提条件,必须进入nginx的安装目录

# 进入nginx 的安装目录
cd /usr/local/nginx/sbin

# 启动
./nginx
#关闭
./nginx -s stop
#重启
./nginx -s reload

# 查看是否启动
ps -ef|grep nginx

4、开放端口号

80(nginx),3306(mysql),6379(redis)

# 80(nginx),3306(mysql),6379(redis),
firewall-cmd --zone=public --add-port=80/tcp --permanent   
firewall-cmd --zone=public --add-port=3306/tcp --permanent 
firewall-cmd --zone=public --add-port=6379/tcp --permanent 
#8090(halo博客)
firewall-cmd --zone=public --add-port=8090/tcp --permanent 
#8083 (查看服务器上面的图片)
firewall-cmd --zone=public --add-port=8083/tcp --permanent
#15672 (rabbitmq)
firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 让配置生效
firewall-cmd --reload
# 查看可以使用的端口号
firewall-cmd --zone=public --list-ports

5、安装jdk

# 安装jdk8
yum install java-1.8.0-openjdk* -y
# 安装jdk11
yum install java-11-openjdk -y

5.1、普通方式安装

参考: https://www.cnblogs.com/ysocean/p/6952166.html

进入 cd /myapp/software/

cd /myapp/software/

解压jdk

tar -zxvf jdk-8u291-linux-x64.tar.gz 

使用 vim 命令打开 /etc/profile 文件

vim /etc/profile

输入 字母 i 进入可编辑状态, 然后把 下面的复制到 /etc/profile 文件的最后

# set java environment
JAVA_HOME=/myapp/software/jdk1.8.0_291
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

退出: 先 点击 左上角ESC 然后输入 :wq! (保存退出)

不保存退出命令: :q! 不保存退出

使设置生效

# 使配置立即生效
source /etc/profile

5.2、第二种方式: 使用yun 安装

# 安装jdk8
yum install java-1.8.0-openjdk* -y
# 安装jdk11
yum install java-11-openjdk -y

6、安装rabbitmq

cd /usr/local/src/  
mkdir rabbitmq  
cd rabbitmq  

#1.下载rpm,如果下载速度慢可以本地下载上传Linux中也可  
wget https://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_19.3-1~centos~6_i386.rpm  
#2.导入公钥
rpm –import http://packages.erlang-solutions.com/rpm/erlang_solutions.asc  
#3.安装自动更新依赖(不建议使用rpm安装)  
yum install esl-erlang_19.3-1~centos~6_i386.rpm 
#4.验证是否安装成功
erl 

erlang安装结果

5.1、下载

https://packagecloud.io/rabbitmq/erlang/packages/el/7/erlang-21.3.8.21-1.el7.x86_64.rpm

https://packagecloud.io/rabbitmq/rabbitmq-server/packages/el/7/rabbitmq-server-3.8.8-1.el7.noarch.rpm

下载下来是2个文件,如下所示:

rabbitmq下载结果

上传到 /myapp/software/rabbitmq文件下面

文件上传到服务器上面的位置

5.2、安装

#进入到 /myapp/software/rabbitmq 路径
cd /myapp/software/rabbitmq
# 1.安装 erlang环境(rabbitmq依赖于erlang)
rpm -ivh erlang-21.3.8.21-1.el7.x86_64.rpm
# 2.安装 socat
yum install socat -y
# 2.安装
rpm -ivh rabbitmq-server-3.8.8-1.el7.noarch.rpm

5.3、启动:

systemctl start rabbitmq-server

执行完上面的之后,可能会出现下面的问题

Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

报错信息

报错信息

5.3.1、启动时的问题解决方案

先检查防火墙端口号是否启动 15672

firewall-cmd --zone=public --add-port=15672/tcp --permanent
# 让配置生效
firewall-cmd --reload
# 查看可以使用的端口号
firewall-cmd --zone=public --list-ports

1⃣️使用命令journalctl -xe,定位到详细的报错日志信息;

或者是下面的问题:

2⃣️关掉SELINUX: 输入命令:vi /etc/selinux/config

修改 SELINUX=disabled

3⃣️编辑:vi /etc/rabbitmq/rabbitmq-env.conf 添加一行

NODENAME=rabbit@localhost

4⃣️再次启动 service rabbitmq-server start

5.4、常用命令

# 启动服务
systemctl start rabbitmq-server
# 查看服务状态
systemctl status rabbitmq-server
# 开机自启动
systemctl enable rabbitmq-server
# 停止服务
systemctl stop rabbitmq-server
# 重启服务
systemctl restart rabbitmq-server

5.5、Web管理界面及授权操作

5.5.1、安装

(默认情况下,是没有安装web端的客户端插件,需要安装才可以生效)

rabbitmq-plugins enable rabbitmq_management

5.5.2、安装完毕以后,重启服务即可

systemctl restart rabbitmq-server

5.5.3、访问出现的问题解决

访问 http://192.168.83.131:15672 ,用默认账号密码(guest)登录,出现权限问题

默认情况只能在 localhost 本机下访问,所以需要添加一个远程登录的用户

浏览器访问rabbitmq出现的问题

添加用户

# 创建账号和密码
rabbitmqctl add_user admin 123456

# 设置用户角色
rabbitmqctl set_user_tags admin administrator

# 为用户添加资源权限
# set_permissions [-p <vhostpath>] <user> <conf> <write> <read>
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
# 添加配置、写、读权限

用户级别:

  1. administrator:可以登录控制台、查看所有信息、可以对 rabbitmq 进行管理
  2. monitoring:监控者 登录控制台,查看所有信息
  3. policymaker:策略制定者 登录控制台,指定策略
  4. managment:普通管理员 登录控制台

再次登录,用 admin 用户

5.6、重置命令

#关闭应用的命令为
rabbitmqctl stop_app
#清除的命令为
rabbitmqctl reset
#重新启动命令为
rabbitmqctl start_app

5.7、docker 安装

docker run -id --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 rabbitmq:3-management
posted @   消失的那两年  阅读(202)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 【.NET】调用本地 Deepseek 模型
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示